問題タブ [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.
haskell - LLVM IRを解析するためのHaskellパッケージ?
LLVM IR コード (できればアセンブリ形式) を、後で処理するために使用できる内部 Haskell データ型に解析する方法を探しています。これを行うためのHaskellパッケージがいくつかあると思いますが、見つけられないようです。
助言がありますか?
llvm - ソースコードの変更
2つ質問があります
LLVM-2.9 ソース コードの C バックエンドにいくつかの変更を加えました。今私が欲しいのは、これらの変更をビルドフォルダーに反映するにはどうすればよいですか?
は何をし
/li>make update
ますか? このコマンドを実行すると、これが端末で発生します。
c - LLVM IR の制限
私はCコードからLLVM-IRコードを生成しようとしています.
stdio.h、string.h、stdlib.h、および一般に malloc、calloc などの標準メモリ ベースの関数。
http://llvm.org/docs/LangRef.htmlこの表現の制限と、標準/最も人気のある c 関数を処理するためだけに独自の組み込み関数を追加する必要があるかどうかについて疑問に思っていました。
私は実行時にコードを変更しようとしているので、どの種類のアプローチが最も柔軟性を与えるのか疑問に思っていました。たとえば、代わりに AST レベルでコードを操作します。
ありがとう
linker - LLVMはpthread関数呼び出しをIRに挿入します
LoopPass
pthread_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_create
pthread_*
llvm - LLVM: 命令がすべての用途を支配するわけではない
すべての基本ブロックを最小数の命令 (通常は 3 ~ 5) で分割しています。
IRからオブジェクトファイルを取得しようとしています
次のエラーが発生しました。
と
と
IR:
分割後、命令は別の基本ブロックに配置されていると思います。ブロックを 10 ~ 15 の命令に分割すると、すべて問題ありません。このエラーを予測/確認して回避するにはどうすればよいですか?
llvm - LLVM : llvm を使用して特に z80 プロセッサ用の「ir」ファイルを生成する
私はLLVMに取り組んでおり、特定のターゲットアーキテクチャeg-z80に従ってファイルを生成したいと考えています. z80 ソース コードと clang をダウンロードしました。clang コマンドで --target を使用して z80 を指定しましたが、機能しません。誰でもこの問題で私を助けることができますか? 前もって感謝します。
c - LLVMで関数ポインタを取得する方法
IR
にpthread_create を呼び出す命令を挿入する必要があるため、新しいスレッドで呼び出すことになってLoopPass
いる引数として実際の関数を渡す必要があります。pthread_create
現在、新しいスレッドで実行する関数を次のように定義しています
pthread_create
そして、次の方法でポインタを取得しました。
Type*
そして、以下のような引数としての配列を渡す必要がありpthread_create
ます。
引数は次のとおりです。
worker_func
では、この関数へのポインターを取得して に渡すにはどうすればよいpthread_create
でしょうか?
metadata - llvm.dbg.declare から IR 値を取得する方法
が与えられたllvm.dbg.declare
場合、その llvm 値を取得するにはどうすればよいですか?
例えば
i32** %r
メタデータではなく、値を取得したい!{i32** %r}
。
コードを教えてください!
ありがとう!
pointers - llvm にシンボリック実行ツールはありますか?
llvm IR でポイントツー分析を行いたいです。つまり、結果を印刷するときに、「5 月」のポイント先の条件を追加する必要があります。
この目標を達成するためにシンボリック実行を使用する予定です。
シンボリック方程式を解くための llvm またはスタンドアロン ツールにツールはありますか。
ありがとうございました!