問題タブ [control-flow-graph]

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

compiler-construction - 1 つのプログラムの手続き間制御フロー グラフを取得し、llvm を使用してデータ フロー分析を行う方法は?

llvmでは、関数ごとのCFG(Control Flow Graph)が構築されており、CFGは関数の基本ブロック間の関係で表現されていることがわかっています。しかし、llvm に多くの機能を含む 1 つのプログラムのグローバル CFG をトラバースしたいと考えています。1 つのプログラムの手続き間の CFG を取得し、その上でデータ フロー分析を行うにはどうすればよいですか?

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

llvm - CFG をトラバースし、パスの移動平均を計算する

LLVMマシンコードCFG(バックエッジが削除されたCFG)の分析を行っています.CFGの各命令について、値でアタッチしました(コストと呼びましょう)、CFGパスの実行平均を計算したいと思います合計実行中の平均がしきい値 (CostThreshould) を超える場合の W 命令の平均化ウィンドウのコスト。次に、これが発生した BasicBlock を出力したいと思います。あるパスで平均値が 7 より大きい場合は、パスの最後の基本ブロックを出力します。 この分析では、グラフのすべてのバックエッジを削除しているので、CFG は DAG である必要が あります。これを計算する効率的な方法はありますか?

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

llvm - LLVM で基本ブロックの後継 ID を見つける方法は?

関数内のすべての基本ブロックに対して、ある種のトラバーサルを試みています。ただし、後で参照できるように、各基本ブロックの一意の識別子を見つける必要があります。

ブロックの名前/ID を与える LLVM API はありますか?

ありがとう

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

ios - Objective-C のコール グラフまたは Control-Flow-Graph (iOS アプリ)

Objective-C for iOS アプリ用の Call-Graph や Control-Flow-Graph ジェネレーターはありますか?

コール グラフ - http://en.wikipedia.org/wiki/Call_graph コール グラフは、プログラムの手続き間のビューを提供します。コール グラフでは、2 つのノード f と g の間のエッジ: f --> g は、サブルーチン f がサブルーチン g を呼び出すという事実を表します。

制御フロー グラフ - http://en.wikipedia.org/wiki/Control_flow_graph

API/コードを使用してグラフにアクセスできる静的ツールはありますか? iOS アプリのコール グラフを生成する方法はありますか? または、ユーザー インタラクション イベントに対して iPhone アプリケーションによって呼び出されるすべてのメソッドの名前を記録することもできます。

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

android - Android APK または Android ソースコードの制御フロー分析

CFGを作成する必要があるAndroidアプリの制御とデータフローの分析を行いたいです。私はそれを作るためにすすを試みましたが、私が得たのはジンプルと他の中間レベルの中間言語コードだけです。すすでCFGを作成する方法と、たとえそれを手に入れたとしても、プログラムで分析する方法を教えてもらえますか。

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

gcc - アセンブリで制御フロー グラフを取得する

アセンブリで制御フロー グラフを取得する方法を必死に探しています。ソース コードは C で記述されており、プロセッサは x86 です。私はすでに gcc のドキュメントを見てきましたが、gimple と rtl 形式のみで cfg を提供しています。アセンブリ形式で取得する方法はありますか?

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

gcc - GCC によって生成された RTL 制御フロー グラフの視覚化

gcc の -fdump-rtl-all フラグを使用して多くの出力を取得しましたが、これらの cfg ファイルをどのように視覚化できるか疑問に思っていました。