當從現有的AST構建IR時,我的AST有一些字符串值(在編譯時它們是從std::string
構建的),我想將它們安全地設置爲llvm::Value
以用作表達式的一部分。LLVM字符串值對象:如何從值中檢索字符串?
在這種情況下,我不需要在運行時綁定字符串,因爲字符串值僅用於在編譯時將其作爲變量,函數或類來解析(該語言不支持本機字符串類型)。
請告訴我讓我的字符串內容llvm::Value
和最好的辦法還是可以在編譯的後期階段(當嵌套表達式建)以獲取它?
更具體地說,如果我設置llvm::Value
有:
llvm::Value* v = llvm::ConstantArray::get(llvmContext, myString.c_str());
如何安全地獲取字符串值?是llvm::ConstantArray
合適的方式來包裝字符串?