llvm-3.0

    0热度

    2回答

    我正在写一个新的寄存器分配阶段在llvm上。我按照这里的说明http://llvm.org/docs/WritingAnLLVMPass.html#the-machinefunctionpass-class。 通行证不显示在llc --help中。我改变了贪婪的分配算法,以“greedier”这个名字进行注册并构建。即使这似乎并没有反映在llc。 任何人都可以帮忙吗?

    -1热度

    1回答

    如何通过LLVM对简单的“hello world”程序中的加载指令总数进行计数?

    4热度

    1回答

    我正在编写ModulePass并使用opt -load调用它。我会要求alloca已被提升为注册时,我的通行证运行,使用-mem2reg开关选择。 有一个link它指示PromoteMemoryToRegsiter通道是一个转换通行证,因此我的通行证不应该这样做。这是2010年的一项声明。这仍然有效吗? 一个我找到了帖子的建议类似 AU.addRequiredID(PromoteMemoryToR

    1热度

    1回答

    我想要构建在android源码打包的llvm。 我运行Ubuntu 12.04,与Android版本的src 4.0.4 LLVM的坐落在Android的SRC /外部/ LLVM/ 我做了如下建: ./configure make 与以下错误消息出现了: llvm[3]: Compiling Thumb2InstrInfo.cpp for Debug+Asserts build ARMJ

    1热度

    1回答

    我的问题很简单。给定类型分支的指令,我如何从中提取标签? 例如: br label %while.cond 应该给我while.cond br label %while.end 应该给我while.end br i1 %cmp1, label %if.then, label %if.end 应,if.then,分别若if.end给我。

    0热度

    1回答

    我正在编写LLVM IR代码,我可以在另一个.ll文件中调用函数吗? 例如: 在a.ll文件中,有一个函数foo(); 我可以在b.ll中使用这个函数,就像调用foo一样吗?如果是这样,我怎么能包括a.ll 感谢

    2热度

    1回答

    我可以通过更改其目标来插入新的边缘,并通过其源和目标删除另一条边。换句话说,我是否可以用另一个替换边缘的基本块目标,以便在CFG中进行一些修改? 我ProfileInfo试图getEdge()功能,但它没有工作: // to replace the basic block Bb->getTerminator()->replaceUsesOfWith((*SI), (*rit)); // tr

    2热度

    1回答

    我需要通过LLVM函数传递中的CloneFunctionInto将函数克隆到另一个函数中,以保持原始控制流图不受我可能在第一个中做出的任何更改的影响。 http://llvm.org/docs/doxygen/html/Cloning_8h_source.html void CloneFunctionInto(Function *NewFunc, const Function *OldFunc,

    1热度

    1回答

    我试图将函数中的CFG复制到一个新函数中,以便对旧函数执行一些操作。 我用CloneFunctionInto通过下面的代码 std::vector<Type*> ArgTypes; ValueToValueMapTy VMap; FunctionType *FTy = FunctionType::get(F.getFunctionType()->getReturnType

    0热度

    1回答

    如何在X86 AT & T型组装打印机合格之前添加我的合格证? 我需要更改MachineFunction并将更改保存到asm文件。 问题是,我的通行证终究被触发。 通行证调试: 0x202a430的功能 'InterlockedBitTestAndSet' 释放证 '执行依赖性修复' ...... 0x202a430的功能 执行合格“X86 AT & T-风格大会打印机“InterlockedBi