問題タブ [llvm-ir]

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

haskell - LLVM IRを解析するためのHaskellパッケージ?

LLVM IR コード (できればアセンブリ形式) を、後で処理するために使用できる内部 Haskell データ型に解析する方法を探しています。これを行うためのHaskellパッケージがいくつかあると思いますが、見つけられないようです。

助言がありますか?

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

llvm - ソースコードの変更

2つ質問があります

  1. LLVM-2.9 ソース コードの C バックエンドにいくつかの変更を加えました。今私が欲しいのは、これらの変更をビルドフォルダーに反映するにはどうすればよいですか?

  2. は何をしmake updateますか? このコマンドを実行すると、これが端末で発生します。

    /li>
0 投票する
1 に答える
1793 参照

c - LLVM IR の制限

私はCコードからLLVM-IRコードを生成しようとしています.

stdio.h、string.h、stdlib.h、および一般に malloc、calloc などの標準メモリ ベースの関数。

http://llvm.org/docs/LangRef.htmlこの表現の制限と、標準/最も人気のある c 関数を処理するためだけに独自の組み込み関数を追加する必要があるかどうかについて疑問に思っていました。

私は実行時にコードを変更しようとしているので、どの種類のアプローチが最も柔軟性を与えるのか疑問に思っていました。たとえば、代わりに AST レベルでコードを操作します。

ありがとう

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

linker - LLVMはpthread関数呼び出しをIRに挿入します

LoopPasspthread_create() や pthread_join() などの pthread 関数呼び出しを IR に挿入する必要がある LLVM パス ( ) を作成しています。関数呼び出しを作成して IR に挿入する方法は知っていますがFunction*、LLVM で pthread 表現を取得するのに問題があります。

ここに私が持っているものがあります:

Function *pthread_create_func = currentModule->getFunction("pthread_create"); しかし、NULL を返します。

比較Function *printf_func = currentModule->getFunction("printf");すると正しい結果が返されるためFunction*、printf への新しい関数呼び出しを IR に挿入できます。

私は#include "pthread.h"自分のパスとその-pthread直後に持っていますが、それでも何とか他の機能clang -emit-llvmを見つけることができません。pthread_createpthread_*

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

llvm - LLVM: 命令がすべての用途を支配するわけではない

すべての基本ブロックを最小数の命令 (通常は 3 ~ 5) で分割しています。

IRからオブジェクトファイルを取得しようとしています

次のエラーが発生しました。

IR:

分割後、命令は別の基本ブロックに配置されていると思います。ブロックを 10 ~ 15 の命令に分割すると、すべて問題ありません。このエラーを予測/確認して回避するにはどうすればよいですか?

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

llvm - LLVM : llvm を使用して特に z80 プロセッサ用の「ir」ファイルを生成する

私はLLVMに取り組んでおり、特定のターゲットアーキテクチャeg-z80に従ってファイルを生成したいと考えています. z80 ソース コードと clang をダウンロードしました。clang コマンドで --target を使用して z80 を指定しましたが、機能しません。誰でもこの問題で私を助けることができますか? 前もって感謝します。

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

c - LLVMで関数ポインタを取得する方法

IRにpthread_create を呼び出す命令を挿入する必要があるため、新しいスレッドで呼び出すことになってLoopPassいる引数として実際の関数を渡す必要があります。pthread_create

現在、新しいスレッドで実行する関数を次のように定義しています

pthread_createそして、次の方法でポインタを取得しました。

Type*そして、以下のような引数としての配列を渡す必要がありpthread_createます。

引数は次のとおりです。

worker_funcでは、この関数へのポインターを取得して に渡すにはどうすればよいpthread_createでしょうか?

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

metadata - llvm.dbg.declare から IR 値を取得する方法

が与えられたllvm.dbg.declare場合、その llvm 値を取得するにはどうすればよいですか?

例えば

i32** %rメタデータではなく、値を取得したい!{i32** %r}

コードを教えてください!

ありがとう!

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

pointers - llvm にシンボリック実行ツールはありますか?

llvm IR でポイントツー分析を行いたいです。つまり、結果を印刷するときに、「5 月」のポイント先の条件を追加する必要があります。

この目標を達成するためにシンボリック実行を使用する予定です。

シンボリック方程式を解くための llvm またはスタンドアロン ツールにツールはありますか。

ありがとうございました!