Sun Studio 12: Fortran プログラミングガイド

9.1.5 コンパイラのコメントを表示する

-g デバッグオプションを使用してコンパイルする場合、Sun Studio パフォーマンス解析ツールの一部である er_src(1) ユーティリティーを使用して、コンパイラにより生成されたソースコードの注釈を表示することができます。生成されたアセンブリ言語の注釈付きソースコードを表示することもできます。次に、er_src によって生成された、単純な do ループに関するコメントの例を示します。


demo% f95 -c -g -O4 do.f
demo% er_src do.o
Source file: /home/user21/do.f
Object file: do.o
Load Object: do.o

     1.         program do
     2.         common aa(100),bb(100)

   関数 x は、ソースファイル do.f から次の行のコードにインライン化される
   次のループは定常サイクル数 = 3 でスケジュールされました
   次のループは 5 回、展開されました
   次のループは繰り返しにつき 2 のロード、1 のストア、0 の先読み、1 の Fpadds、1 の 
Fpmuls、0 の Fpdivs を行います
     3.         call x(aa,bb,100)
     4.         end
     5.                 subroutine x(a,b,n)
     6.                 real a(n), b(n)
     7.                 v = 5.
     8.                 w = 10.

   次のループは定常サイクル数 = 3 でスケジュールされました
   次のループは 5 回、展開されました
   次のループは繰り返しにつき 2 のロード、1 のストア、0 の先読み、1 の Fpadds、1 の
Fpmuls、0 の Fpdivs を行います
     9.                 do 1 i=1,n
    10. 1                       a(i) = a(i)+v*b(i)
    11.                 return
    12.                 end

コメントのメッセージにより、コンパイラにより実行された最適化処理の詳細が分かります。この例では、サブルーチンの呼び出しをインライン化し、ループを 5 回展開しています。この情報を検証することで、将来の最適化戦略に役立てることができるでしょう。

コンパイラのコメントおよび逆アセンブルコードの詳細については、Sun Studio のマニュアル『 プログラムのパフォーマンス解析 』を参照してください。