2013-11-27 138 views
2

如何使用 const修飾符或者因執行而未更改的變量獲取所有變量(來自字節碼文件或IR文件)? 我需要列出供進一步使用。LLVM:常量變量

+0

在LLVM IR中沒有變量,你是指源代碼中的變量,假設它是C或C++?或者你的意思是LLVM紅外全球? – Oak

+0

我的意思是C或C++代碼中的變量。我怎樣才能獲得元素? (llvm :: ConstantArray,llvm :: ConstantStruct,llvm :: ConstantDataArray,ConstantExpr等) – Denis

回答

1

我不確定你可以直接得到你想要的結果,因爲const是一個C/C++語義,對於Clang很有用,但對於LLVM來說要少得多。只保留一些const承諾(例如指針函數參數的readonly屬性 - 有關詳細信息,請參閱language reference)。

LLVM IR水平「常量」是完全不同的東西,通常指的是實際上可以有效分離的常量(編譯時間已知)值等。請閱讀this documentation以獲取全文。