llvm-clang

    1熱度

    2回答

    爲什麼模板函數在LLVM-IR中不顯示,如果函數未被調用,當從C++代碼發出LLVM IR時, 不像其他類型的函數(int,float ...)會出現在llvm中IR 例如:下面的函數func1犯規秀LLVM IR template <class tmp> tmp func1() { // ... } 但這個功能func2始終顯示在LLVM IR int func2() {

    1熱度

    1回答

    我是呱呱libTooling開發新手。 考慮下面的變量聲明 int i, j, k = 10; ^ ^ 我的項目的要求,我想捕捉整個聲明表達包括「I」,「J」和「K」。 如何捕獲包含clang libTooling的所有變量的完整聲明表達式? 我正在經歷的是,我沒有得到訪問者的完整表達式,而是我得到訪問者的個人變量聲明。 這是叮噹libTooling的預期行爲還是我錯過了什麼? 請建議我

    2熱度

    1回答

    目前我試圖設置默認的通行證選擇/叮噹。將隱式調用,當我使用命令,如: clang -c -emit-llvm code.ll 與 opt code.ll 的問題是,修改應直接做了LLVM的源代碼,那就是我不應該使用環境變量,符號鏈接和別名。 我在互聯網和llvm源代碼上做了很多搜索,但是我沒有找到解決方案,我也不知道如何解決這個問題。

    0熱度

    1回答

    我試圖測量一個程序在其同步部件中花了多少時間,例如由鎖(或任何其他形式的併發控制)保護的關鍵部分。 我很困惑如何做到這一點,以及如何檢測我通過我的llvm傳遞的程序中的併發控制方法。

    0熱度

    1回答

    我想知道當我檢查gcc/g ++和clang/clang ++的版本時,「--version」輸出之間的區別是什麼,我知道它應該是彼此的鏈接。此外,我還不清楚是否有某種方法可以更新我在Mac OSX 10.9上鎖定的內容。這個問題有點太多了,但總而言之,我正在準備玩SDL。我一直在發佈控制檯輸出和評論,這是最好的。我認爲我有一些誤解需要排序;我沒有看在堆棧溢出類似的網頁,但沒有討論的相當回答我的問

    0熱度

    2回答

    我有我的通行證,我測試玩具程序,現在我想運行它的大型程序,其中許多是像memcached開源程序。這樣的程序有自己的Makefile和一個複雜的編譯過程。我想爲這些程序生成一個位碼文件,讓我的通行證在他們身上工作。幫助和建議將不勝感激!

    4熱度

    1回答

    我需要將新節點插入AST。例如,增加一個命名空間的函數: 談到這一點 - void foo(); 到這一點 - namespace bar { void foo(); } 我讀How to clone or create an AST Stmt node of clang?,但我不喜歡使用源到源編譯 TNX

    1熱度

    1回答

    因此,所有我想要做的就是通過調用指令調用函數的名稱: 這是我簡單的代碼: for(Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) { for(BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI){

    0熱度

    1回答

    所以我下面這個教程https://www.cs.cornell.edu/~asampson/blog/llvm.html使一通通過添加調用外部函數(其是在rtlib.c logop)儀器的程序。但是,與教程不同的是,我試圖使用masstree更大的代碼庫:https://github.com/kohler/masstree-beta。 因此,根據masstree的指示,我先運行./configur

    0熱度

    1回答

    我使用LLVM opt來運行使用例如opt -load libMyPass.so my-pass foo.ll > foo1.ll。 foo.ll是一個IR文件,我希望foo1.ll包含以IR格式運行通過的結果。但foo1.ll成爲位碼文件,所以我需要發出llvm-dis foo1.ll將其轉換爲IR格式。 如何避免必須運行llvm-dis,並將opt從IR格式轉換爲IR格式?