私はLLVMを使用していましたが、私は自分のパスから既に別のパスを使用する方法を混乱させましたか?正確に私のプログラムは、任意の指示にDominance Frontier Calculationを必要とします。 LLVMには既にDominance関数Classがあり、関数パスとして実装されています。私はそれを私のモジュールパスで呼び出すことができますか?LLVMパスから既存の関数パスを使用するにはどうすればよいですか?
6
A
答えて
3
警告:私は実際の経験はなく、答えは間違っているか、古くなっている可能性があります。 (それは大部分が時代遅れLLVM源に基づいています:version 1.3。)
含まれます:
#include "llvm/Analysis/DominanceFrontier.h"
あなたのパス場合(それが実装されていない場合)機能パスは、あなたのクラスにメソッドを追加した場合:
virtual void getAnalysisUsage(AnalysisUsage &AU) const { }
そして、それにこれを置く:
AU.addRequired<DominanceFrontier>();
を次に、あなたのクラスで方法:あなたが使用することができます。この後
DominanceFrontier *DF = &getAnalysis<DominanceFrontier>();
:
BasicBlock *BB = /* some BB */;
DominanceFrontier::iterator DFI = DF->find(BB);
関連する問題
- 1. 既存のWindowsエクスプローラウィンドウのパスを変更するにはどうすればよいですか?
- 2. Perlプログラムの絶対パスを相対パスから取得するにはどうすればよいですか?
- 3. 単一パスから上位パスを取得するにはどうすればよいですか?
- 4. 非プラグインのLLVMパスを作成するにはどうすればよいですか?
- 5. bashを使用してパス内のディレクトリの数を数えるにはどうすればよいですか?
- 6. WordPressのテーマフォルダからパスを使用するにはどうすればよいですか?
- 7. Perlを使用してパスからファイル名を抽出するにはどうすればよいですか?
- 8. LLVM:関数パスからのグローバル変数へのアクセス
- 9. LLVMのCallInstから関数名を取得するにはどうすればよいですか?
- 10. 環境設定ページからパスを取得し、ボタンで開始されたプロセスでパスを使用するにはどうすればよいですか?
- 11. REST URLからパス変数を取得するにはどうすればよいですか?
- 12. 「パス」でXDocumentをクエリするにはどうすればよいですか?
- 13. OPENROWSETでテーブルに格納されたパスを使用するにはどうすればよいですか?
- 14. PyPDF2を使用するためにPython2.7のパスを作るにはどうすればよいですか?
- 15. MATLABパスを更新するにはどうすればよいですか?
- 16. ラックミドルウェアは特定のパスでのみ使用するにはどうすればよいですか?
- 17. レールアセットに使用するパスを変更するにはどうすればよいですか?
- 18. キュレーターを使用してZookeeperにパスが存在するかどうかを確認するにはどうすればよいですか?
- 19. URLパスをダウンロードするファイル名として使用するにはどうすればよいですか?
- 20. パススルーを使用してパスに値を追加するにはどうすればよいですか?
- 21. 一時ファイルの保存に適したパスを取得するにはどうすればよいですか?
- 22. UIImageViewに使用するUIImagePickerControllerからサムネイルまたは保存可能なパスを取得するにはどうすればよいですか?
- 23. Xcodeプロジェクト設定で相対パスを使用するにはどうすればよいですか?
- 24. 私のパス上のプログラムのリストをPerlから取得するにはどうすればよいですか?
- 25. VBAで特定のパスが相対パスか絶対パスかを確認するにはどうすればよいですか?
- 26. 既存の依存関係プロパティコールバックにロジックを追加するにはどうすればよいですか?
- 27. ERBを使用してテンプレートファイルのパスを見つけるにはどうすればよいですか?
- 28. jQueryを使用してボタンにパスを割り当てるにはどうすればよいですか?
- 29. Androidのネイティブコードから一時フォルダへのパスを取得するにはどうすればよいですか?
- 30. RoutesテーブルのRouteからパス/ URLを生成するにはどうすればよいですか?
はあなたがドキュメントをチェックしましたか?前回チェックしたので、答えはそこにありました:http://llvm.org/docs/WritingAnLLVMPass.html – Fanael
パス 'getAnalysisUsage(AnalysisUsage&AU)'メソッドに 'AU.addRequired();'を追加してください。 –
osgx
文書は本当に不明瞭で、私はそれを解読するのに本当の問題がありました。例が助けになりました。 – Sharad