XL Fortran for AIX V8.1.1

ユーザーズ・ガイド


最適化したコードのデバッグ

最適化プログラムをデバッグすると、特殊な問題が発生します。最適化は演算の順序を変更し、コードを追加または削除し、作成したコードを元のソース・ステートメントと関連付けるのが難しくなるようなことを行う場合があります。たとえば、最適化プログラムは、変数の保管をすべて除去し、それをレジスターにのみ保持します。ほとんどのデバッガーは、これに従うことができず、その変数が決して更新されないように見えます。

最初にプログラムをデバッグしてから、最適化オプションで再コンパイルし、最適化したプログラムをテストしてからプログラムを製品化することをお勧めします。最適化したコードが期待どおりの結果を作成しない場合は、別のデバッグ・セッションで特定の最適化の問題を分離してください。

|下の表は、最適化されたコードの開発中に役立つ、特化された情報を提供するオプションを示しています。


|

診断オプション
オプション 動作
-qlist オブジェクト・リストを出力するようにコンパイラーに指示します。オブジェクト・リストには、生成された命令、トレースバック・テーブル、テキスト定数の 16 進および疑似アセンブリー表記が含まれています。
-qreport 実行したループ変換と、プログラムが並列化された方法についての報告を作成するようにコンパイラーに指示します。このオプションは、-qhot または -qsmp が指定されると使用可能になります。
-qinitauto すべての自動変数を指定の値に初期化するコードを出力するように、コンパイラーに指示します。
-qextchk リンカーが外部変数および関数のファイル間型検査を行うことを可能にする、追加のシンボリック情報を生成します。このオプションは、リンカーに -btypchk オプションがアクティブであることを要求します。
-qipa=list IPA 最適化の情報を提供するオブジェクト・リストを出力するように、コンパイラーに指示します。

最適化されたプログラムでの異なる結果

最適化されたプログラムが最適化されていないプログラムと異なる結果を発生する理由を以下に示します。

関連情報:
-g オプション-qinitauto オプション第 11 章, 問題判別とデバッグを参照してください。
関連情報:


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]