既存のASTからIRを構築するとき、私のASTには文字列値があります(コンパイル時にはstd::string
から構築されます)。llvm::Value
を式の一部として使用して安全に設定したいと思います。LLVM String Valueオブジェクト:値から文字列を取得するにはどうすればよいですか?
この場合、実行時に文字列値をバインドする必要はありません。文字列値は、コンパイル時に変数、関数、クラスとしての問題を解決するためだけに使用されます(言語ではネイティブ文字列タイプ)。
いただきましllvm::Value
ととしての私の文字列の内容を維持するための最良の方法はまだ(ネスティング式が構築されています)コンパイルの後の段階でそれを取得することができ?私はllvm::Value
を設定している場合
より具体的には、:
llvm::Value* v = llvm::ConstantArray::get(llvmContext, myString.c_str());
にはどうすれば安全に文字列値を取得するのですか? llvm::ConstantArray
は文字列をラップするのに適していますか? Cコードchar *x = "asdf";
にhttp://llvm.org/demo/を実行