インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
オプションを指定して、スタックではなく、レジスターで引数を渡すようにコンパイラーに指示できます。そうすることで、コードが高速になります。
しかし、コンパイルするコード以外から呼び出される可能性があるすべての関数に対して、コンパイラーは追加のエントリーポイントを作成する必要があります。
多くの場合、これはコードサイズの増加につながります。このコードサイズの増加を回避するには、この最適化を無効にします。
指定するオプション:
Linux* および macOS*: | -qopt-args-in-regs=none |
Windows*: | /Qopt-args-in-regs:none |
メリット: |
この最適化を無効にすることでコードサイズを減らすことができます。 |
デメリット |
この最適化を無効にすることで失われるパフォーマンスに対して、削減されるコードサイズはわずかである可能性があります。 |
注:
[q または Q]opt-args-in-regs オプションで "none" を指定しない場合、デフォルトでは、同じコンパイル単位で定義されているルーチンへの引数渡しにレジスターが使用されます。
コードの特性によっては、このオプションはバイナリーサイズを増加させることがあります。