intermediate-language

    2熱度

    2回答

    我有一個用C編寫的項目,我希望將其轉換爲Perl。我的一位朋友建議使用LLVM。我使用Clang將我的C代碼編譯爲LLVM程序集。現在我試圖將這個中間表示轉換成Perl,但我似乎無法找到它的任何後端。有人會指出我正確的方向嗎?

    0熱度

    1回答

    LLVM有MachineVerifier通基於像不同的參數,檢查正確性MachineFunction:活躍,死基本塊,正確的寄存器類等。最近我從MachineVerifier傳遞中遇到了這個錯誤。 我想知道爲什麼不能有多個着陸墊後繼? 在這個例子中,我得到這個錯誤佈局(IR)是這樣的; BB0: ... succ: BB1 BB1: EH_LANDING_PAD pred: BB0,

    3熱度

    1回答

    我在互聯網上搜索過所有內容,找不到適當的解釋如何返回工程? 請問您能否解釋一下退款計劃的工作原理?它如何與標記一起使用? 我知道它有兩個主要類型的標記: 與下四在它 與下表中它 我發現this code,它們所採取一個輸入文件並用RISKI語言創建一個文件。 在他們的第一輥他們有: PROGRAM : N FUNCTION M MAIN_FUNCTION ,你可以看到,N和M是標記物(它們是空

    0熱度

    1回答

    我在寫一個使用Flex和Bison的迷你Fortran編譯器。到目前爲止,我已經完成了詞法和語法分析。我在類型檢查中進行語義分析,現在我必須選擇一個IR。我的目標機器是MIPS。所以我想要基於MIPS IAS的最終代碼生成。所以我認爲一個好的IR是四倍的。但我想介紹一些優化。出於這個原因,我構建了一個DAG結構(使用散列表)。 IR有兩條路徑:四倍或DAG,然後四倍。 如果我將DAG作爲IR使用,

    2熱度

    2回答

    我想知道以下內容: 是否可以創建一小組彙編指令一起執行所有可能的操作? 或者mayby以不同的方式詢問關於任何體系結構的Must-Have Assembly指令是什麼? (例如,跳轉和添加將是neccecary做任何事情) 我希望你們能幫助我! 提供一些背景信息!我試圖爲我的編譯器設計一箇中間語言,我想盡可能少地使用指令(之後可以用一堆指令代替一個複雜指令對於特定的體系結構)當然,IL本身應該是可

    0熱度

    1回答

    從Do redundant casts get optimized?我可以看到,編譯器不會優化不必要的向下轉換(即castclass)。但是現在我對一個更簡單的情況感興趣,「如果編譯器優化了不必要的拋棄?」這個問題只涉及參考類型,而不是boxing。 在我看來,upcast不會產生任何IL,因此多餘的顯式upcast完全沒有成本?或者因爲IL指令是無類型的,幕後的冗餘顯式upcast仍有性能成本?

    5熱度

    2回答

    的LLVM Language Reference狀態,它可以(通過剛剛在即時編譯器適用於快速加載)使用 爲磁盤上的位碼錶示 如何穩定是這個代表性?例如,我現在可以使用LLVM 3.1生成它,並且仍然期望它可以使用未來的LLVM,比如三年內假設的LLVM 4.5? 假設我沒有外部依賴關係,我可以用它來爲不同的體系結構生成二進制文件嗎?

    16熱度

    7回答

    backpatching是什麼意思?請用一個簡單的例子來說明。

    9熱度

    2回答

    例如我有(list "a" "1" "b" "2" "c" "3")。 現在我想把這個列表變成一個"a1b2c3"。 我該怎麼做? 謝謝。

    4熱度

    2回答

    我在一個非常大的代碼庫中工作,今天我發現一個在正常class內發出IL code的項目。 包含IL代碼被髮射的項目是Service LocatorMSDN Desctiption的實現。 什麼是這樣做和爲什麼會變成這樣做爲並列使用C#語言的優勢是什麼?