0

こんにちは、LLVM API を使用して簡単な C++ コードを作成しました。

#include <stdio.h>
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/IRBuilder.h"


int main()
{
  llvm::LLVMContext& context = llvm::getGlobalContext();
  llvm::Module* module = new llvm::Module("top", context);
  llvm::IRBuilder<> builder(context); 

  module->dump( );
}

これをコンパイルして LLVM IR ファイルを取得するにはどうすればよいですか?

助けてくれてありがとう

4

2 に答える 2

0

最も簡単な方法は、出力をファイルに転送してから、次のように処理することです (上記のコンパイル済みコードが実行可能な名前「パーサー」にコンパイルされていると仮定します)。

./parser >> test.ll
llvm-as test.ll
llc test.bc
clang -o test test.s

うまくいけば、それは役に立ちます!

補足として、呼び出しとコマンドラインオプションを介して内部的にこれにパーサーを持っているsystem()ので、それについても考えたいと思うかもしれません^^

于 2015-01-15T08:13:43.727 に答える