4

私はを書いていてModulePass、を使用してそれを呼び出していopt -loadます。allocaoptの-mem2regスイッチを使用して、パスの実行時にレジスタにプロモートされている必要があります。

PromoteMemoryToRegsiterパスが変換パスであり、そのため、私のパスでは必要ないことを示すリンクがあります。それは2010年の声明です。それはまだ当てはまりますか?

私が見つけた投稿の1つは、次のようなものを提案しました

AU.addRequiredID(PromoteMemoryToRegister::MemoryToRegisterID);

しかし、それは私が上でリンクした投稿と矛盾していました。

だから私の質問は、可能であれば、パスのこの依存関係をどのように表現するかです。一般に、このようなパスの依存関係をどのように表現しますか?そして、変換パスと別のパスの違いは何ですか?

4

1 に答える 1

5

変換パスと別のパスの違いは何ですか?

変換パスは、他のパスの結果を無効にする可能性のあるパスです。

パスのこの依存関係を表現するにはどうすればよいですか?

まず、公式の「パスの書き方」ガイドのパス依存性のセクションを読むことをお勧めします。いずれの場合も、変換パス間に依存関係を追加する正しい方法は、パスマネージャーで次々に追加することです(パスマネージャーのガイドセクションを参照)。または、を呼び出すだけの場合は、必要なoptすべてのパスを追加します。それらを発生させたい順序で、例:

opt -load mypass.so -mem2reg -mypass
于 2013-03-21T07:41:14.403 に答える