問題タブ [llvm]

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 投票する
2 に答える
4023 参照

llvm - LLVM コード生成によりセグ フォールトが発生しますか?

私は言語の作成とコンパイラの構築に興味があり、http: //gnuu.org/2009/09/18/writing-your-own-toy-compiler/の例に取り組んできました。著者は LLVM 2.6 を使用していましたが、LLVM 2.7 用にいくつか変更を加えた後、すべてのコード生成コードをコンパイルすることができました。コンパイラにテストコードをフィードするとき、

プログラムは、コードを実行しようとするまでは正しく動作しますが、その時点でセグメンテーション違反が発生します。私は自分のシステムで LLDB を構築している最中ですが、それまでの間、誰かがこの LLVM asm に明らかなセグ フォールトを見ていますか?

出力は次のとおりです。

私のアーチは OS X x86_64 です。

ありがとう。

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

c++ - llvmのHelloパスの例のコンパイルエラー

「LLVMパスの作成」 WebページでHelloパスの例を試していました。(gcc-4.2を使用して)Hello.cppをコンパイルするための指示に従いましたが、コンパイルエラーが発生しました。

Hello.cpp:20:エラー:文字列定数の前に予期される識別子
Hello.cpp:20:エラー:文字列定数の前に'、'、または'...'が
期待されますHello.cpp:20:エラー:コンストラクタ、デストラクタ、または型変換が期待されます前 ';' トークン

これはINITIALIZE_PASS(Hello, "Hello", "Hello World Pass", false, false);プログラムの行です。プログラムは次のとおりです。

誰かがこれで私を助けることができますか?どうもありがとうございます!

最高、
ダニエル

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

java - JVMに含まれる機能

JVM の機能は何ですか? 私が知っているのは次のとおりです。

  • JITコンパイラ
  • GC
  • メモリ アロケータ

Java アプリケーションをロードするときに実行する手順は何ですか?

Java アプリケーションの読み込み時間を次の手順と比較すると、次のようになります。

  • InitializeNativeTargetLLVMで
  • いくつかの GC 初期化
  • いくつかの Qt/GTK/その他の初期化
  • アプリの一部の JIT/事前コンパイル
  • アプリの初期化自体

上記の手順を実行するよりも、JVM のロードに時間がかかるように思えます。それで、それはそれに加えて何をしますか?

0 投票する
3 に答える
1953 参照

math - LLVMビットコードでフロア、セイル、ラウンドを実装する方法は?

私は小さな LLVM ベースのプログラミング言語の数学関数を書いていますが、現在、一般的な丸め関数 floor、ceil、round (to even) を実装する方法に困惑しています。1 つ目は、これらの関数のアルゴリズムの説明が見つからなかったためです。2 つ目は、LLVM が持つ機能に精通していないためです。丸めます。

負の数を正しく丸めることができることは必須ですが、特定の精度への丸めはそうではありません。整数値への丸めで十分です。LLVM ビットコードから使用できる既存の実装を指すだけでも機能します。

0 投票する
4 に答える
16965 参照

clang - LLVMjitおよびネイティブ

LLVM JITが通常のJITコンパイルなしとどのように関連しているかがわかりません。また、ドキュメントも適切ではありません。

たとえば、clangフロントエンドを使用するとします。

  1. ケース1:clang/llvmを使用してCファイルをネイティブにコンパイルします。私が理解しているこのフローは、gccフローのようなものです。x86実行可能ファイルを取得して実行します。
  2. ケース2:LLVMJITで実行されるある種のLLVMIRにコンパイルします。この場合、実行可能ファイルには、JITでIRを実行するためのLLVMランタイムが含まれていますか、それともどのように機能しますか?

これら2つの違いは何ですか?それらは正しいですか?LLVMフローにはJITと非JITの両方のサポートが含まれていますか?いつJITを使いたいのですか?Cのような言語ではまったく意味がありますか?

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

compiler-construction - clangのJITでextern関数を登録していますか?

成功せずにclangs JITでextern関数を登録しようとしています。

呼び出しようとしている関数は次のとおりです。

登録に使用するコードは次のとおりです。

そして、JIT によって実行される c コードは次のとおりです。

私のコードは正しくありませんか?何か案は?ありがとう。

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

c++ - LLVMを埋め込むには?

LLVM コア プロジェクトは以下で構成されます。

  • コンパイラ - ソースコードを LLVM IR に変換します
  • VM - コンパイルされた IR コードを実行します

VM を C++ アプリケーションに埋め込むにはどうすればよいですか?

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

c++ - LLVM自動C++リンク

いくつかのLLVMチュートリアルでは、C関数をLLVMに基づくカスタム言語にバインドするのがかなり簡単であることがわかりました。LLVMは、LLVMによって生成されているコードと混合できる関数へのポインターをプログラマーに渡します。

C++ライブラリでこれを行うための最良の方法は何ですか。QtやBoostのようなかなり複雑なライブラリがあり、カスタム言語にバインドしたいとします。スタブライブラリ(PythonやLuaが必要とするような)を作成する必要がありますか、それともLLVMはある種の外部関数インターフェイス(FFI)を提供しますか?

0 投票する
3 に答える
5233 参照

c# - C# で LLVM フロントエンド コンパイラを作成する方法はありますか?

C# で LLVM フロントエンド コンパイラを作成する方法はありますか?

0 投票する
3 に答える
319 参照

jit - バイナリの一部をその場でリロードできるLLVMベースの言語を探しています

コードの一部をオンザフライでリロードできるようにする JIT 実行を主な対象とする、GIL を使用しない LLVM ベースの言語はありますか?

1 つのクラスを再コンパイルするように、プログラム全体を停止せずに再ロードします。

誰もそれを試しましたか?

clangでそれを行う機会はありますか(確かに、開発者は多くの注意、制限、および手動の状態処理を行っています)?