問題タブ [llvm-c++-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
206 参照

c++ - LLVM 基本プログラム : リンカ エラー

私はllvmを始めたばかりです。

コンパイルしようとしているコードは次のとおりです。

私がコンパイルするとき:

a.out ファイルを取得します。心配ない。

しかし、LLVM IR ファイルを取得することに興味があります。

というエラーが表示されます

コマンド :

いくつかの警告が表示され、結果の .s ファイルを lli で実行すると、以前と同じエラーが発生します。

助けてくれてどうもありがとう

0 投票する
2 に答える
207 参照

c++ - LLVM C++ プログラムのコンパイル

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

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

助けてくれてありがとう

0 投票する
1 に答える
3613 参照

c++ - LLVM StoreInst と AllocaInst

私は単純なインタプリタを書こうとしています。

割り当て操作のために LLVM IR を生成しようとしています。生成部分のコードはこんな感じ

SymTab の定義は次のとおりです。

出力ファイルを実行しようとすると、次のエラーが発生します。

それを解決するのを手伝ってもらえますか?

ありがとう

0 投票する
1 に答える
351 参照

clang - LangOptions のメソッドの完全なリストの場所

clang::CompilerInstanceクラスを使用してクラスの呼び出しを構成する必要がありますがclang::LangOptions、このクラスのメソッドの完全なリストを見つけることができません。

このリンク ( llvm と clang を使用して C++ を解析できません) で、C++ について次のようなものを見つけました。

ここ ( http://www.ibm.com/developerworks/linux/library/os-createcompilerllvm2/index.html?ca=drs-#list15 ) を使用するように言われています:

公式ドキュメント ( http://clang.llvm.org/doxygen/classclang_1_1LangOptions.html ) を検索しましたが、これに関連するものは見つかりませんでした。

0 投票する
2 に答える
2048 参照

llvm - LLVM APIを使用して、関数で使用されているグローバル変数を見つける方法は?

LLVm IR コードの関数で使用されるすべてのグローバル変数を収集したいと考えています。これを行うことができるLLVM APIはありますか? たとえば、`次のコードのように。

グローバル変数 a と b は fun() で使用されているため、a と b をセットで収集する必要があります。

0 投票する
1 に答える
1466 参照

clang - clang コマンドラインで LLVM ModulePass を利用できるようにする

opt ツールで動作する ModulePass がありますが、コマンド ラインで clang を使用できるようにする方法がわかりません。パスを使用するための現在のワークフローは次のとおりです。

  1. clang -c -emit-llvm [c-ソース コード ファイル]
  2. llvm-link [llvm ビットコード ファイル]
  3. opt -load [パス名].so -[パス名] [リンクされたllvmファイル]
  4. llc [結果のビットコード ファイル]
  5. gcc [結果のアセンブラ ファイル] -o [ターゲット]

パスを clang コマンド ラインに統合して、コンパイルするたびにビルド システム全体を再作成することなく、既存のソフトウェア (たとえば、C++ 標準ライブラリ) のビルドの一部として呼び出すことができるようにしたいと考えています。これを行う方法についてのヒントを見てきましたが、ピースをまとめて作業セットアップに入れることができませんでした.

Clang を使用して LLVM パスを自動的に実行する は、私が望むものを正確に説明していますが、このメソッドは LLVM 3.4 で廃止されたようです (PassManagerBuilder は従来の名前空間に移動されました)。

LLVM - クランを使用してオウンパスを自動的に実行すると、基本的な問題に対処しているように見えますが、クランを変更せずにこれを実行できることを望んでいました (そこで提案されているようです)。

LLVM 3.4 を使用して clang から新しいパスを利用できるようにする最善の方法は何ですか?

0 投票する
2 に答える
1908 参照

llvm - 関数パスで loopinfo にアクセスする LLVM エラー

関数パスを記述して、IR からループ情報を取得しようとしています。だから私はいくつかの例に従って、次のように書きました。私は、パスとパス マネージャーを書くことにあまり詳しくありません。

このプログラムを実行しているときにsegmentation error(core dumped)

しかし、私がaddRequiredをコメントアウトしたとき、私が得たエラーメッセージは

正しいかどうかわからない場所を 3 つマークしました。誰でもそれで私を助けることができますか?