该在线LLVM演示页面有一个选项生成LLVM C++ API代码从一个源代码后端.但是,该演示页面现已禁用.我想知道我们如何使用可用的LLVM工具自己完成它.
我尝试了以下内容
clang++ -c -emit-llvm input.cpp -o input.ll
llc -march=cpp -o input.ll.cpp input.ll
Run Code Online (Sandbox Code Playgroud)
这给出了以下错误
llc: error: invalid target 'cpp'.
Run Code Online (Sandbox Code Playgroud)
我使用的是LLVM/Clang 3.2版.
我试图在函数传递中创建一个全局变量.代码是
gVar= new GlobalVariable(
/*Type=*/Int32Type,
/*isConstant=*/false,
/*Linkage=*/GlobalValue::CommonLinkage,
/*Initializer=*/0, // has initializer, specified below
/*Name=*/"gVar",
/*ThreadLocalMode*/GlobalVariable::InitialExecTLSModel);
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到以下编译器错误:
错误:没有匹配函数来调用'llvm :: GlobalVariable :: GlobalVariable(const llvm :: Type*&,bool,llvm :: GlobalValue :: LinkageTypes,int,const char [4],llvm :: GlobalVariable :: ThreadLocalMode )"
你能告诉我在llvm中声明一个全局变量的正确方法吗?非常感谢你!
另外,我已经提到了头文件:
http://llvm.org/docs/doxygen/html/GlobalVariable_8h_source.html
这篇文章