llvm

    0熱度

    1回答

    運行llc --debug,指令選擇模式匹配的輸出本身是非常不可讀的。以下是一些輸出示例: ISEL: Starting pattern match on root node: t7: i8,ch = load<LD1[%1](dereferenceable)> t0, t2, undef:i16 Initial Opcode index to 581 TypeSwitch[

    0熱度

    1回答

    我有可以使用GCC象下面沒有問題編譯交流文件: gcc foo.c 但是,使用我接收具有內部主定義的函數的誤差相同的文件使用clang: clang foo.c foo:230:1: error: function definition is not allowed here { ^ foo.c:241:1: error: function definition is not allowed

    6熱度

    2回答

    由於某種原因,我的代碼庫突然開始獲取千兆以上的這些警告。但到目前爲止,所有文件&的路徑都完全正確,與我在Finder上看到的磁盤相匹配。他們是不是祕密地在封面下的其他案件?當問題實際上不存在時,爲什麼Xcode會產生這些警告? 雖然http://stackoverflow.com/questions/43067017/non-portable-path-to-file-file-h-specifi

    5熱度

    1回答

    我遇到的所有CPU架構都有對稱寄存器 - 即您讀取的值是您寫入的值。 對於寄存器限制的16位指令,是否存在具有不對稱寄存器的情況? 例如 寄存器0-6對函數調用是「本地」的。寫入該函數調用的值是將要讀取的值。每個函數調用級別都有自己的寄存器硬件,所以本地寄存器被隱式保存。 寄存器7-9是「全局」的,也許是SMP CPU上的「線程本地」。 寫入「調用」寄存器10-13的值不影響在此函數調用上下文中從

    1熱度

    2回答

    如何告訴GCC編譯器應該生成串行(即沒有跳轉)的代碼。 我正在研究將內聯彙編嵌入C源代碼(或LLVM IR)的項目。 我的實現取決於將內聯彙編寫入可執行文件的代碼。 更正式地說,假設我有索裏的代碼(C或LLVM IR): .label_start: (inserted as inline assembly) inline_assembly0 source_code0 source_code1

    0熱度

    1回答

    我在llvm中執行優化,要求在優化之前運行InstNamer傳遞。目前,我正在通過手動傳遞「-instnamer」來運行它。有沒有一種方法可以將InstNamer添加爲代碼中的必需傳球? 我試過 AU.addRequired(); 但是,它不會編譯,因爲它會拋出「未聲明的標識符'InstNamer'」。 有沒有一種方法可以做到這一點?

    1熱度

    1回答

    我有(人類可讀的)LLVM位碼文件Input.ll內部SyS_sendto的以下函數定義: ; Function Attrs: alwaysinline noredzone nounwind define i64 @SyS_sendto( i64 %fd, i64 %buff, i64 %len, i64 %flags, i64 %addr, i64 %addr_len) #0 { 在這個文

    1熱度

    1回答

    如果I是llvm::Instruction型的,我們可以通過errs() << I; 打印出人類可讀的形式(文本表示)相同的我想要的分配完全相同的表述到std::string到C類型的字符串。我怎樣才能做到這一點?

    3熱度

    1回答

    我使用包含libLLVM * .so文件和相應的libLLVM * .a文件的本地LLVM構建Julia。這是由BUILD_SHARED_LIBS=ON構建的,它負責libLLVM * .so文件的存在。 libjulia.so,由julia可執行程序使用的庫,總是與libLLVM *。所以文件,甚至當我重建LLVM與BUILD_SHARED_LIBS=OFF(默認配置)。 llvm-config

    4熱度

    1回答

    我正在爲教育目的編寫一個ARM嵌入式Rust程序。 由於它是裸機系統,因此我只使用核心庫。該庫的手冊頁宣稱corelib完全依賴於任何內容,但memcpy,memcmp和memset以及展開函數(請參閱https://doc.rust-lang.org/core/index.html)。 但是,特別是如果我使用atomic types,由於缺少符號(例如__sync_val_compare_and