![](/img/trans.png)
[英]How to Cross-Compile from LLVM IR to Assembly for ARM Cortex M4?
我正在嘗試將 llvm-ir 文件交叉編譯為匯編,或者更好地為使用 llc 編譯器的 ARM Cortex M4 微處理器生成 object 文件。 為此,我必須指定哪些參數? 我試過這個命令llc -mtriple=armv7m-eabi -mcpu=cortex-m4 file.ll -o f ...
[英]How to Cross-Compile from LLVM IR to Assembly for ARM Cortex M4?
我正在嘗試將 llvm-ir 文件交叉編譯為匯編,或者更好地為使用 llc 編譯器的 ARM Cortex M4 微處理器生成 object 文件。 為此,我必須指定哪些參數? 我試過這個命令llc -mtriple=armv7m-eabi -mcpu=cortex-m4 file.ll -o f ...
[英]Why is LLC.exe missing in LLVM windows?
我一直在嘗試使用 emscripten 將 C 構建到 WASM 和 Javascript 中。 Emscripten 需要 clang,所以我安裝了它,但是當運行 emcc 和 em++ 時,它顯示“emcc: error: llc executable not found at C:\\Pro ...
[英]Is there a way to call the llvm `llc` command from my C project?
我正在嘗試在我的 C 編譯器項目中使用來自 llvm 的 llc 命令,但我不知道如何使用它。 我嘗試在 cmake 中鏈接 llvm 庫,但如果我想要llc ,我不知道要鏈接哪些庫。 任何幫助都可以,謝謝! ...
[英]LLVM ERROR: Cannot select: intrinsic %llvm.objc.clang.arc.use
嘗試鏈接一些 IR 文件時,我遇到了llc的下一個錯誤: 我發現如果我在編譯期間禁用 clang 優化( O0 ),則不會彈出錯誤,但我不想這樣做我附上了如何重現它的示例,只需cd 'issue' 文件夾並運行 'issue.sh' 來重現錯誤。 你必須有 Xcode(12.x 首選)你運行它 h ...
[英]LLC Compiler is not recognized as the name of a cmdlet, function, script file, or operable program
我使用 python 創建自定義編程語言,PLY 作為詞法分析器和解析器,LLVMlite 作為低級中間語言來進行代碼生成。 我已經使用 Python pip 安裝了 PLY 和 LLC 我使用LLC創建一個object文件output.o和GCC創建最終的可執行文件如下。 當我執行llc -fil ...
[英]Can LLC -O=3 not omit frame pointers from unoptimized llvm bytecode produced by clang -O0?
我有一個簡單的 c 代碼:// main.c #include <stdio.h> void foo() { } int main() { return 0; } 以下命令的 Output 我得到: 這是預期的。 foo() function 已轉換為retq指令。 但 ...
[英]llc/clang exact -march target for the current host cpu
我試圖找到一個命令行選項來為 llvm 指定“為您正在編譯的主機生成代碼,它應該利用所有可用的 CPU 功能,並且不需要在任何其他系統上運行”。 我在我使用的所有平台上都有相當新的 llvm 版本,它們都是 arm、arm64、x86 或 x86-64。 所有代碼都是 C 或 C++。 llvm ...
[英]Clobber X86 register by modifying LLVM Backend
我正在嘗試稍微改變 X86 目標的 LLVM 后端,以產生一些所需的行為。 更具體地說,我想模擬一個像 gcc 的 fcall-used- reg 選項這樣的標志,它指示編譯器將被調用者保存的寄存器轉換為損壞的寄存器(意味着它可能會在函數調用期間被更改)。 讓我們關注r14 。 我手動破壞了寄存 ...
[英]Illegal BitCast while compiling opencl kernel
下面的 bitcast 指令向我拋出了一個 Illegal Bitcast 錯誤,有人能指出問題是什么嗎? ...
[英]Can't assemble the .s file that was generated by llc using arm-none-eabi-as?
我的英語水平很差,因為我的母語不是英語。 我使用 llc.exe 編譯了一個位碼並獲得了一個 .s 文件(test.s)。 我用來創建 test.s 的命令如下。 是的,我的目標板是 cortex-m3(stm32l 系列),我創建了如下的 makefile 來創建 .bin 文件。 m ...
[英]llc throws error: constexpr requires integer operands
我一直在嘗試使用 llvm 進行代碼生成。 我目前正在嘗試為變量聲明生成 IR。 這是一個例子: let sum: float = 8 * 3 * 4 + 6 * 9; 當我為此生成 IR 時,這就是我得到的: 首先,這看起來很混亂,我相信這可以更有效地完成。 但我認為我可以稍后通過優化來修復它。 ...
[英]How to retrieve an instruction's disassembly from a MachineInstr?
我需要調試我正在開發的MachineFunctionPass 。 我的目標是x86架構。 如何從MachineInstr實例中檢索目標反匯編? 示例MachineInstr表示 預期的反匯編(英特爾語法) ...
[英]Error while trying to compile code using clang
我正在運行Ubuntu 18.04。 我正在嘗試編譯llvm代碼,使用: llc-7 prog.ll -o prog.s然后clang-7 prog.s lib.a -o prog.exe 。 如果您認為有幫助,我可以提供任何代碼。 我非常肯定庫lib.a的有效性。 我也嘗試過clang ...
[英]Dot file not genearting for -view-isel-dags option
嘗試查看在指令選擇階段使用LLVM(從啟用了調試模式的源構建)生成的SelectionDag節點時,我使用的是以下命令,該命令未創建Graphviz DOT文件。 相反,它正在創建sum.s文件。 我在這里想念什么嗎? sum.c sum.bc LLVM信息 ...
[英]llc has no debug or -view-dag-combine1-dags option
我通過包管理器在我的計算機上安裝了llc程序(當然我安裝了 LLVM,6.0.0 版本)。 另外,我是從源代碼構建的。 我想要的是查看由 llvm 生成的 DAG。 但是,不幸的是,我在llc兩個版本上都沒有任何選項,例如-debug 、 -view-dag-combine1-dags等。 這讓我發 ...
[英]OSX - Compile to WebAssembly with llc “llc: : error: unable to get target for 'wasm32', see --version and --triple.”
我在OSX上運行,並嘗試將以下C代碼編譯為webAssembly: 我看了這個示例,並嘗試運行以下命令: 第一個命令運行良好,clang生成.bc文件,但是當我嘗試運行第二個命令時,我得到: llc: : error: unable to get target for 'wasm ...
[英]How to get Instruction in MachineInstr?
我想知道真實寄存器中的變量依賴性(例如X86:EAX,EBX ...)。 因此,我創建了一個IR-PASS,可以識別對IR的依賴性。 此過程使用新添加的變量unsigned HasDependency: 1; 和unsigned HasMaybeDependency: 1; 在Value ...
[英]Understanding llvm-ir to assembly for x86_64-unknown-linux-gnu
我轉換以下llvm-IR 使用llc sample.ll生成x86_64-unknown-linux-gnu匯編代碼,生成匯編代碼: 上面代碼中的寄存器: %rbp是基指針,它指向當前堆棧幀的底部, %rsp是堆棧指針,它指向當前堆棧幀的頂部,並且操作數存儲在%eax和%al用於 ...
[英]llc: unsupported relocation on symbol
問題 llc給我以下錯誤: LLVM錯誤:符號上不支持的重定位 詳細的編譯流程 我正在為編譯器的中級IR(MIR)實現LLVM前端,並將各種方法轉換為許多位代碼文件后,將它們鏈接( llvm-link ),對其進行優化( opt ),將其轉換為機器代碼( llc ) ...
[英]No LLC on Windows?
我想使用 LLVM IR 並安裝了最新的 LLVM v4(在我的 Windows PC 上),但我在已安裝的文件中找不到 llc(在“bin”文件夾和所有其他文件中查找)。 想知道這個工具是否不可用,或者它是否已被棄用或什么? 這是我的 bin 文件夾的內容: 2017 年 4 月 30 ...