llvm

    3熱度

    1回答

    是否有任何指導如何在Travis上配置.yml文件以獲得LLVM> = 3.8? 這是我使用的編譯我的程序的Makefile文件的一部分: all: program OBJS = obj1.o obj2.o obj3.o obj4.o CPPFL = `llvm-config --cppflags` -std=c++11 LDFL = `llvm-config --ldflags` -l

    3熱度

    1回答

    我想寫一個LLVM傳遞,它將提取函數調用的參數。如果爭論是一個常數,我的目標是恢復常數。 紅外看起來像 %2 = call noalias i8* @malloc(i64 512) #3 LLVM的傳球看起來像 bool runOnFunction(Function &F) override { for (auto& B : F) { for (auto& I : B)

    0熱度

    1回答

    我需要在llvm傳遞期間提取目錄和文件名。 當前版本的llvm將getFilename和getDirectory從DebugLoc移動到DebugInfoMetadata。我無法直接在DebugLoc頭文件中找到類成員getFilename。因此,我該如何從指令轉到源代碼文件名和目錄。 http://llvm.org/docs/doxygen/html/classllvm_1_1DebugLoc.

    3熱度

    2回答

    我想將可變數量的參數傳遞給我的LLVM opt pass。 要做到這一點,我做這樣的事情: static cl::list<std::string> Files(cl::Positional, cl::OneOrMore); static cl::list<std::string> Libraries("l", cl::ZeroOrMore); 但是,如果我現在調用選擇,如: [email 

    0熱度

    1回答

    我好不容易用 def ADD_reg3 : InstReg3Simple<0b01000, (outs GPR:$Wd), (ins GPR:$Wb, GPR:$Ws), "add\t$Wb, $Ws, $Wd", [(set GPR:$Wd, (add GPR:$Wb, GPR:$Ws))]> {} 大加兩個寄存器!現在我想添加兩個'長'數字。 看來,LLVM是足夠酷,

    33熱度

    3回答

    可以將哪些語言編譯爲Web程序集(或wasm)?我相信現在C,C++和鐵鏽(實驗)可以編譯爲Web程序集,帶有llvm編譯器後端,目前不支持Java,Swift和C#等語言,但可能成爲未來的候選者發展。 我不相信javascript可以編譯爲wasm。 https://github.com/WebAssembly/design/issues/219

    1熱度

    1回答

    我正在實施一個安全相關的傳遞,因此,我將注入一個自定義基本塊作爲LLVM IR函數傳遞的一部分。 有沒有辦法,標記這個基本塊,以便以後通過不優化這個基本塊?

    1熱度

    1回答

    簡單的問題:「我有一個類型爲[7 x i8]的ConstantDataArray,我怎樣才能使它具有i8*類型?」 編輯 更多的上下文: 的ConstantDataArray創建如下: ConstantDataArray::getString(Fn->getContext(), "Hello", true); 而且我已經創建了一個LLVM的功能:與類型從Type::getInt8PtrTy(get

    5熱度

    2回答

    我使用的是Mac OS X Sierra,並且當我發現clang(LLVM版本8.1.0(clang-802.0.38))不支持OpenMP時: 運行clang -fopenmp program_name.c,我得到了以下錯誤: clang: error: unsupported option '-fopenmp' 看來,鐺不支持-fopenmp標誌。 我在自制軟件中找不到任何openmp庫。根據

    1熱度

    1回答

    我需要在我的LLVM傳遞中識別虛擬函數調用站點,並識別可能在運行時調用的候選函數。 class B { virtual void F() { // do something } }; class D : public B { void F() { // do something else } }; B* d = new D(); d->F(); 例如,對於給定的層