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