インテル® oneAPI DPC++/C++ コンパイラー (Windows* 版) コマンドライン・ヘルプ

インテル® oneAPI

この記事は、インテル® oneAPI DPC++/C++ コンパイラー 2021.1 (Windows* 版) のコマンドライン・ヘルプ (dpcpp /help) の日本語参考訳です。


概要: インテル® oneAPI DPC++/C++ コンパイラー

使い方: dpcpp [オプション] ファイル...

互換オプション   固有オプション

互換オプション (cl.exe)

オプション 説明
/#x 実行するコマンドを詳細出力で表示します。
/# コンパイルのコマンドを出力します (実行はしません)。
/? 利用可能なオプションを表示します。
/arch:<value> 生成するコードののターゲット・アーキテクチャーを設定します。
/Brepro- 現在の時間を COFF 出力に書き込みます (デフォルト)。
/Brepro 現在の時間を COFF 出力に書き込みません (ink.exe /incremental を中断)。
/clang:<arg> clang ドライバーに <arg> を渡します。
/C 前処理でコメントを破棄しません。
/c コンパイルのみを行います。
/d1PP /E モードでマクロ定義を保持します。
/d1reportAllClassLayout レコードレイアウト情報をダンプします。
/debug:<value> 指定する形式のデバッグ情報を生成します。
<value> は、none、all、full、minimal です。
/debug デバッグ情報を生成します。
/device-math-lib:<value> 他のデバイス向けにコンパイルする際に、デバイス数学ライブラリーの追加を制御します。
<value> は、fp64 または fp32 です。
/diagnostics:caret キャレットとカラムの診断を有効にします (デフォルト)。
/diagnostics:classic キャレットとカラムの診断を無効にします。
/diagnostics:column キャレットの診断は無効にしますがカラム情報は維持します。
/D <macro[=value]> マクロを定義します。
/EH<value> 例外処理モデルを設定します。
/EP ラインマーカー出力と前処理の標準出力を無効にします。
/execution-charset:<value> ランタイムのエンコードを設定し UTF-8 のみをサポートします。
/E 前処理の結果を stdout に出力します。
/fallback clang-cl のコンパイルに失敗した場合は、cl.exe にフォールバックします。
/FA コンパイル中にアセンブリー・コード・ファイルを出力します。
/Fa<file or dir/> アセンブリー出力のファイル名を設定します (/FA とともに使用)。
/Fe<file or dir/> 出力する実行形式ファイルの名前を設定します。
/FI <value> 構文解釈の前にファイルをインクルードします。
/Fi<file> 前処理の出力ファイル名を設定します (/P とともに使用)。
/Fo<file または dir/> 出力するオブジェクト・ファイルを設定します (/c とともに使用)。
/fp:except-
/fp:except
/fp=<value>
浮動小数点演算のセマンティクスを制御します。
/Fp<file> pch ファイル名を設定します (/Yc および /Yu とともに使用)。
/F <value> リンカーに渡す予約スタックの大きさを設定します。
/GA スレッドローカル変数が実行形式ファイルで定義されていると仮定します。
/Gd デフォルトの呼び出し規約として __cdecl を利用します。
/GF- 文字列プールを無効にします。
/GF 文字列プールを有効にします (デフォルト)。
/GR- ランタイム型情報を無効にします。
/Gregcall デフォルトの呼び出し規約として __regcall を利用します。
/GR ランタイム型情報を有効にします (デフォルト)。
/Gr デフォルトの呼び出し規約として __fastcall を利用します。
/GS- バッファーのセキュリティー・チェックを無効にします。
/GS バッファーのセキュリティー・チェックを有効にします (デフォルト)。
/Gs スタックプローブのしきい値を使用します (デフォルト)。
/Gs<value> スタックプローブのサイズを設定します (デフォルトは 4096)。
/guard:<value> /guard:cf で制御フローガードを有効にするか、/guard:cf,nochecks でテーブルのみを有効にします。
/Gv デフォルトの呼び出し規約として __vectorcall を利用します。
/Gw- 各データ項目を独立したセクションに配置しません (デフォルト)。
/Gw 各データ項目を独立したセクションに配置します。
/GX- 非推奨 (/EH に渡さない)。
/GX 非推奨。代わりに /EHsc を使用します。
/Gy- 各関数を独立したセクションに配置しません (デフォルト)。
/Gy 各関数を独立したセクションに配置します。
/Gz デフォルトの呼び出し規約として __stdcall を利用します。
/help 利用可能なオプションを表示します。
/imsvc <dir> %INCLUDE% に設定するように、システム・インクルードの検索パスに <dir> を追加します。
/I <dir> インクルードの検索パスにディレクトリーを追加します。
/J char 型を符号なしにします。
/LDd デバッグ DLL を作成します。
/LD DLL を作成します。
/link <options> リンカーにオプションを渡します。
/MDd DLL デバッグランタイムを使用します。
/MD DLL ランタイムを使用します。
/MTd 静的デバッグランタイムを使用します。
/MT 静的ランタイムを使用します。
/O1 コードサイズを最適化します (/Og /Os /Oy /Ob2 /GF /Gy など)
/O2 実行速度を最適化します (/Og /Oi /Ot /Oy /Ob2 /GF /Gy など)
/O3 実行速度を最大化し、一部のプログラムではパフォーマンスを向上させない可能性がある積極的な最適化を有効にします。
/Oa すべてのポインター型引数に対し ‘noalias’ 属性を有効にします。
/Ob0 関数のインライン展開を無効にします。
/Ob1 明示的または暗黙的にインラインとしてマークされた関数のみをインライン展開します。
/Ob2 コンパイラーによって有益と見なされる関数のみをインライン展開します。
/Od 最適化を無効にします。
/Og 影響なし。
/Oi- ビルトイン関数を無効にします。
/Oi ビルトイン関数を有効にします。
/openmp- OpenMP* サポートを無効にします。
/openmp:experimental OpenMP* の SIMD サポートを有効にします。
/openmp OpenMP* サポートを有効にします。
/Os コードサイズを最小化します。
/Ot 実行速度を最大化します。
/Ox 非推奨 (/Og /Oi /Ot /Oy /Ob2 など)。代わりに -O2 オプションを使用します。
/Oy- フレームポインターの省略を無効にします (x86 のみ、デフォルト)。
/Oy フレームポインターの省略を有効にします (x86 のみ)。
/O<flags> 複数の /O オプションを同時に設定します。例: ‘/O2 /Oy-‘ の代わりに ‘/O2y-‘。
/o <file or dir/> 非推奨 (出力ファイル名を設定)。代わりに /Fe または /Fe を使用します。
/P 前処理の結果をファイルに出力します。
/Q_no-use-libirc libirc の使用を無効にします。
/Qansi-alias- ANSI エイリアシング規則の最適化を無効にします。
/Qansi-alias ANSI エイリアシング規則の最適化を有効にし、プログラムがこれらの規則に準拠するようにします。
/Qcf-protection=<value> 脆弱性を悪用する特定の攻撃からプログラムを保護する制御フロー・アーキテクチャーを有効にします。
<value> には、return、branch、full、または none を指定します。
/Qcf-protection 制御フロー保護を ‘full’ モードで有効にします。
/Qcommon 初期化されていないグローバル変数を共通ブロックに配置します。
/Qdaal=<value> インテル® oneAPI データ・アナリティクス・ライブラリー (インテル®oneDAL) にリンクして、関連するヘッダーを使用します。
/QdD 前処理済みのソースに #define ディレクティブを出力します (/E とともに使用します)。
/QdM 前処理を行った後に有効なマクロ定義を出力します (/E とともに使用します)。
/Qfma- 浮動小数点の乗算と加算/減算の結合を無効にします。
/Qfma 浮動小数点の乗算と加算/減算の結合を有効にします。
/Qfnalign- 2 バイト境界でアライメントします。
/Qfnalign:<value> 関数の開始位置を 2 バイト (デフォルト) または <value> 境界でアライメントします。
<value> は 2 の累乗です。
/Qfnalign 関数の開始位置を最適なマシン依存の値にアライメントします。
/Qfp-speculation=<value> 浮動小数点演算の例外動作を指定します。
/Qfreestanding コンパイルを独立した環境で行うことを指示します。
/QH ヘッダーのインクルードと入れ子の深さを表示します。
/Qimf-absolute-error:<value> 算術ライブラリー関数の結果における絶対誤差の最大限許容値を定義します。
/Qimf-accuracy-bits:<value> 算術ライブラリー関数の結果において、正しいビット数により測定される相対誤差を定義します。
/Qimf-arch-consistency:<value> 算術ライブラリー関数が同じアーキテクチャーの異なる実装において一貫した結果を生成するようにします。
/Qimf-domain-exclusion:<value> 算術関数が正しい結果を提供しなければならない入力引数のドメインを指定します。
/Qimf-max-error:<value> 算術ライブラリー関数の結果において、ulps で測定される相対誤差の最大限許容値を定義します。
/Qimf-precision:<value> 算術ライブラリー関数の精度を定義します。
/Qinstrument-functions 関数の入口/出口をインストルメントします。
/Qintrinsic-promote 組込み関数を使用する特定の関数でアーキテクチャーをプロモートし、組込みヘッダーをデフォルトでインクルードします。
/Qipo- LTO モードを無効にします (デフォルト)。
/Qipo LTO を ‘full’ モードで有効にします。
/Qipp-link=<value> インテル® IPP ライブラリーを要求する方法でリンクします。
/Qipp=<value> 一般的に使用されるインテル® IPP ライブラリーにリンクして、関連するヘッダーを使用します。
/Qkeep-static-consts- ソースで参照されない変数の割り当てを保持する機能を無効にします。
/Qkeep-static-consts ソースで参照されない変数の割り当てを保持する機能を有効にします。
/Qlong-double 80 ビット長の long double 型を有効にします。
/QMD ユーザーとシステムヘッダーを含む依存情報を生成します。
/QMF <file> -MMD、-MD、-MM、または -M からの依存情報を <file> に出力します。
/QMG 見つからないヘッダーファイルの依存情報を生成します。
/Qmkl=<value> インテル® oneAPI マス・カーネル・ライブラリー (インテル®oneMKL) にリンクして、関連するヘッダーを使用します。
/QMMD ユーザー・ヘッダーを含む依存情報を生成します。
/QMM -MMD と同様ですが、-E のようにデフォルトで stdout に出力します。
/QMP (メインファイル以外の) 依存関係ごとに偽のターゲットを作成します。
/QMQ <value> 依存情報ファイルで参照するメインファイル名を指定します。
/QMT <value> 依存情報ファイルで出力されるメインファイル名を指定ます。
/QM -MD と同様ですが、-E のようにデフォルトで stdout に出力します。
/Qno-builtin-<value> 特定の関数の暗黙のビルトインを無効にします。
/Qopenmp-simd SIMD ベースの構造にのみ OpenMP* を適用します。
/Qopenmp-stubs シーケンシャル・モードで OpenMP* プログラムをコンパイルします。OpenMP* ディレクティブは無視され、OpenMP* スタブ・ライブラリーがリンクされます。
/Qopenmp-targets:<value> サポートされる OpenMP* オフロードターゲットをカンマ区切りのリストで指定します。
/Qopenmp-threadprivate:<value> 使用する threadprivate 実装を選択します。<value> は compat または legacy です。
/Qopenmp-version:<value> リンクする OpenMP* のバージョンを選択します。
/Qopenmp- OpenMP* サポートを無効にします。
/QopenmpP- OpenMP* サポートを無効にします。
/QopenmpP OpenMP* ディレクティブを解析して並列コードを生成します。
/Qopenmp OpenMP* ディレクティブを解析して並列コードを生成します。
/Qopt-assume-no-loop-carried-dep:<value> ループのパフォーマンス・チューニング・レベルを設定します。
0 – コンパイラーはループ伝搬依存を想定しません (デフォルト)。
1 – 内部ループのループ伝搬依存を想定しません。
2 – すべてのループレベルでループ伝搬依存を想定しません。
/Qopt-jump-tables- スイッチ文でジャンプテーブルを使用しません。
/Qopt-jump-tables ジャンプテーブルの生成を制御します。
/Qopt-matmul- コンパイラーにより生成される行列乗算 (matmul) ライブラリー呼び出しを無効にします。
/Qopt-matmul コンパイラーにより生成される行列乗算 (matmul) ライブラリー呼び出しを有効にします。
/Qopt-mem-layout-trans- メモリーレイアウト変換を無効にします。
/Qopt-mem-layout-trans:<value> コンパイラーによって実行されるメモリーレイアウト変換のレベルを制御します。
/Qopt-multiple-gather-scatter-by-shuffles- 隣接する複数のギャザー/スキャッター型のベクトルメモリー参照の最適化を無効にします。
/Qopt-multiple-gather-scatter-by-shuffles 隣接する複数のギャザー/スキャッター型のベクトルメモリー参照の最適化を有効にします。
/Qopt-report:<value> 最適化レポートを生成します。<value> は min、med、max です。
/Qopt-zmm-usage:<value> zmm レジスターの使用レベルを指定します。<value> は low または high です。
/Qoption,<arg> Qoption,<tool>,<args> は、カンマ区切りの引数を <tool> に渡します。<tool> には、アセンブラーの場合は asm、リンカーの場合は link/ld、プリプロセッサーの場合は preprocessor、コンパイラーの場合は compiler を指定します。
/Qpc<value> X87 浮動小数点精度を single、double または double extended に初期化します。<value> は 32、64 または 80 です。
/Qregcall デフォルトの呼び出し規約として __regcall を利用します。
/Qsave-temps 中間ファイルの結果を保存します。
/Qstd:<value> コンパイルの言語標準を指定します。
/Qtbb インテル® oneAPI スレッディング・ビルディング・ブロック (インテル®oneTBB) ライブラリーにリンクして、関連するヘッダーを使用します。
/Qtemplate-depth:<value> 再帰テンプレートが展開される深さを制御します。
/Qunroll<value> ループアンロール回数の上限を設定します。デフォルトのヒューリスティックを使用するには ;value> を省略します。0 を指定するとアンロールは無効になります。
/Qvec- ループのベクトル化を無効にします。
/Qvec ループのベクトル化を有効にします。
/Qvla- 可変長配列 (C99 の機能) を無効 (デフォルト) にします。
/Qvla 可変長配列 (C99 の機能) を有効にします。
/Qx<code> <code> で指定されたプロセッサー向けの専用コードを生成します。
/showFilenames- コンパイルするファイル名を表示しません (デフォルト)。
/showFilenames コンパイルするファイル名を表示します。
/showIncludes:user showIncludes と同様ですが、システムヘッダーを除きます。
/showIncludes インクルードされたファイルの情報を stderr に出力します。
/source-charset:<value> ソースのエンコードを設定し UTF-8 のみをサポートします。
/std:<value> C++ 標準のバージョンを設定します (C++14、C++17、C++latest)。
/S アセンブリーを生成します。リンクは行われません。
/TC すべてのソースを C として扱います。
/Tc <file> <file> を C ソースファイルとして扱います。
/TP すべてのソースを C++ として扱います。
/Tp <file> <file> を C++ ソースファイルとして扱います。
/utf-8 ソースとランタイムのエンコードを UTF-8 に設定します (デフォルト)。
/U <macro> <macro> を未定義にします。
/vd<value> vtordisp の配置をコントロールします。
/vmb メンバーポインターに最良の表現方法を使用します。
/vmg メンバーポインターに最も一般的な表現を使用します。
/vmm デフォルトの最も一般的な表現を多重継承に設定します。
/vms デフォルトの最も一般的な表現を単一継承に設定します。
/vmv デフォルトの最も一般的な表現を仮想継承に設定します。
/volatile:iso 揮発性のロードとストアに標準セマンティクスを使用します。
/volatile:ms 揮発性のロードとストアに取得と解放セマンティクスを使用します。
/W0 すべての警告を無効にします。
/W1 -Wall を有効にします。
/W2 -Wall を有効にします。
/W3 -Wall を有効にします。
/W4 -Wall と -Wextra を有効にします。
/Wall -Wall を有効にします。
/WX- 警告をエラーとして扱いません (デフォルト)。
/WX 警告をエラーとして扱います。
/w すべての警告を無効にします。
/X インクルードの検索パスに %INCLUDE% を追加しません。
/Y- 事前コンパイルヘッダーを無効にして /Yc と /Yu をオーバーライドします。
/Yc<filename> <filename> までのすべてのコードを含む pch ファイルを生成します。
/Yu<filename> pch ファイルをロードし、<filename> までのすべてのコードの代わりに使用します。
/Z7 オブジェクト・ファイルで CodeView デバッグ情報を有効にします。
/Zc:alignedNew- C++17 アライメント割り当てを無効にします。
/Zc:alignedNew C++17 アライメント割り当てを有効にします。
/Zc:char8_t- C++2a の char8_t を無効にします。
/Zc:char8_t C++2a の char8_t を有効にします。
/Zc:dllexportInlines- dllexport/import クラスのインラインメンバー関数を dllexport/dllimport しません。
/Zc:dllexportInlines dllexport/import クラスのインラインメンバー関数を dllexport/dllimport します (デフォルト)。
/Zc:sizedDealloc- C++14 のサイズ付きグローバル割り当て解除を無効にします。
/Zc:sizedDealloc C++14 のサイズ付きグローバル割り当て解除を有効にします。
/Zc:strictStrings 文字列リテラルを const として扱います。
/Zc:threadSafeInit- 静的変数のスレッドセーフ初期化を無効にします。
/Zc:threadSafeInit 静的変数のスレッドセーフ初期化を有効にします。
/Zc:trigraphs- トリグラフを無効にします (デフォルト)。
/Zc:trigraphs トリグラフを有効にします。
/Zc:twoPhase- テンプレートの 2 フェーズ名前検索を無効にします (デフォルト)。
/Zc:twoPhase テンプレートの 2 フェーズ名前検索を有効にします。
/Zc:wchar_t- wchar_t をネイティブデータ型として指定しません。
/Zc:wchar_t wchar_t をネイティブデータ型として指定します。
/Zd デバッグ行番号テーブルのみを生成します。
/ZI /Z7 と同様。
/Zi /Z7 と同様。
/Zl オブジェクト・ファイルとデフォルト・ライブラリーを自動リンクしません。
/Zp デフォルトの構造体アライメントの最大パッキングを 1 に設定します。
/Zp<value> デフォルトの構造体アライメントの最大パッキングを設定します。
/Zs 構文チェックのみを行います。

固有オプション

オプション 説明
-### コンパイルのコマンドを出力します (実行はしません)。
–analyze 静的解析を実行します。
-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang 自動変数のゼロへの初期化はベンチマーク用に用意されており、今後削除される予定です。ベンチマークにのみ使用するのは問題ありません。
-faddrsig アドレステーブルを生成します。
-fansi-escape-codes 診断に ANSI エスケープコードを使用します。
-fblocks ‘blocks’ 言語機能を有効にします。
-fcf-protection=<value> 制御フロー・アーキテクチャー保護のインストルメントを有効にします。
<value> には、return、branch、full、または none を指定します。
-fcf-protection 制御フロー保護を ‘full’ モードで有効にします。
-fcolor-diagnostics 診断の色分けを有効にします。
-fcommon 初期化されていないグローバル変数を共通ブロックに配置します。
-fcomplete-member-pointers Microsoft* ABI を重視する場合、メンバーポインターの基本型を完全にする必要があります。
-fcoverage-mapping コードカバレッジ解析をサポートするカバレッジ・マッピングを生成します。
-fcs-profile-generate=<directory> 状況依存の実行カウントを収集するインストルメンテーションが埋め込まれたコードを <directory>/default.profraw に生成します (LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fcs-profile-generate 状況依存の実行カウントを収集するインストルメンテーションが埋め込まれたコードを default.profraw に生成します (LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fdebug-compilation-dir <value> デバッグ情報に埋め込むコンパイル・ディレクトリーを指定します。
-fdebug-macro マクロのデバッグ情報を生成します。
-fdelayed-template-parsing 翻訳ユニットの最後でテンプレート化された関数定義を解析します。
-fdiagnostics-absolute-paths 診断で絶対パスを表示します。
-fdiagnostics-parseable-fixits マシンで解析可能な形式で表示します。
-fforce-emit-vtables より多くの仮想テーブルを生成して非仮想化を改善します。
-fgnuc-version=<value> 指定される GCC (デフォルト 4.2.1) バージョンとの互換性を維持するため各種マクロを設定します。
-fintegrated-cc1 cc1 をインプロセスで実行します。
-fintelfpga FPGA 向けの AOT コンパイルを行います。
-flto=<value> LTO モードを ‘full’ または ‘thin’ に設定します。
-flto LTO を ‘full’ モードで有効にします。
-fmerge-all-constants 定数のマージを許可します。
-fms-compatibility-version=<value> _MSC_VER で示される Microsoft* コンパイラーのバージョン番号を表すドットで区切った値 (0 = 未定義 (デフォルト))。
-fms-compatibility Microsoft* Visual* C++ との完全な互換性を有効にします。
-fms-extensions Microsoft* コンパイラーでサポートされる非標準の構造を受け入れます。
-fmsc-version=<value> _MSC_VER で示される Microsoft* コンパイラーのバージョン番号 (0 = 未定義 (デフォルト))。
-fno-addrsig アドレステーブルを生成しません。
-fno-blocks
-fno-builtin-<value>
特定の関数に対する暗黙のビルトインを無効にします。
-fno-builtin 関数に対する暗黙のビルトインを無効にします。
-fno-color-diagnostics 診断の色分けを無効にします。
-fno-complete-member-pointers Microsoft* ABI を重視する場合、メンバーポインターの基本型を完全にする必要はありません。
-fno-coverage-mapping コードカバレッジ解析を無効にします。
-fno-crash-diagnostics clang クラッシュ時に前処理されたソースファイルと再現用スクリプトの自動生成を無効にします。
-fno-debug-macro マクロのデバッグ情報を生成しません。
-fno-delayed-template-parsing 遅延テンプレート解析を無効にします。
-fno-force-emit-vtables
-fno-integrated-cc1
cc1 ごとに個別のプロセスをスポーンします。
-fno-lto LTO モードを無効にします (デフォルト)。
-fno-openmp-device-lib=<value> デバイスバイナリーのリンクで除外するデバイス・ライブラリーを制御します。
<value> は、libc、libm-fp32、libm-fp64、all です。
-fno-profile-generate プロファイルのインストルメンテーションの生成を無効にします。
-fno-profile-instr-generate プロファイルのインストルメンテーションの生成を無効にします。
-fno-profile-instr-use プロファイルに基づく最適化のインストルメンテーション・データを使用しません。
-fno-sanitize-address-poison-custom-array-cookie AddressSanitizer でカスタム new[] オペレーターを使用する際に、配列クッキーのポイズニングを無効にします。
-fno-sanitize-address-use-after-scope AddressSanitizer でスコープ外での使用検出を無効にします。
-fno-sanitize-address-use-odr-indicator ODR インジケーターのグローバル化を無効にします。
-fno-sanitize-blacklist サニタイザーの禁止リストファイルを使用しません。
-fno-sanitize-cfi-canonical-jump-tables シンボルテーブルのジャンプ・テーブル・アドレスを正規化しません。
-fno-sanitize-cfi-cross-dso DSO 呼び出し間の制御フローの整合性 (CFI) チェックを無効にします。
-fno-sanitize-coverage=<value> サニタイザーのカバレッジ・インストルメントで指定する機能を無効にします。
-fno-sanitize-memory-track-origins MemorySanitizer で原因のトラッキングを無効にします。
-fno-sanitize-memory-use-after-dtor MemorySanitizer で破棄後の使用検出を無効にします。
-fno-sanitize-recover=<value> 指定するサニタイザーのリカバリーを無効にします。
-fno-sanitize-stats サニタイザーの静的収集を無効にします。
-fno-sanitize-thread-atomics ThreadSanitizer でアトミック操作のインストルメンテーションを無効にします。
-fno-sanitize-thread-func-entry-exit ThreadSanitizer で関数の入口/出口のインストルメンテーションを無効にします。
-fno-sanitize-thread-memory-access ThreadSanitizer でメモリーアクセスのインストルメンテーションを無効にします。
-fno-sanitize-trap=<value> 指定するサニタイザーのトラップ機能を無効にします。
-fno-sanitize-trap すべてのサニタイザーのトラップ機能を無効にします。
-fno-split-lto-unit
-fno-standalone-debug
デバッグバイナリーのサイズを減らすためデバッグ情報の生成を制限します。
-fno-sycl-dead-args-optimization DPC++ の未使用カーネル引数の削除を無効にします。
-fno-sycl-device-lib=<value> デバイスバイナリーのリンクで除外するデバイス・ライブラリーを制御します。
<value> は、libc、libm-fp32、libm-fp64、all です。
-fno-sycl-early-optimizations SYCL* デバイス・コンパイラーの標準最適化パイプラインを無効にします。
-fno-sycl-explicit-simd SYCL* の明示的 SIMD 拡張を無効にします。
-fno-sycl-id-queries-fit-in-int SYCL* ID クエリーが MAX_INT に収まることを想定しません。
-fno-sycl-use-bitcode ファット・オブジェクトで LLVM ビットコードの代わりに SPIR-V を使用します。
-fno-sycl デバイス向けの SYCL* カーネルのコンパイルを無効にします。
-fno-temp-file コンパイル出力ファイルを直接生成します。これにより、コンパイラーがクラッシュした際に、誤ったインクリメンタル・ビルドが行われる可能性があります。
-fno-virtual-function-elimination
-fno-whole-program-vtables
-fobjc-runtime=<value>
Objective-C ターゲットのランタイム種別とバージョンを指定します。
-fopenmp-device-lib=<value> デバイスバイナリーのリンクに含めるデバイス・ライブラリーを制御します。
<value> は、libc、libm-fp32、libm-fp64、all です。
-forder-file-instrumentation オーダーファイルを収集するインストルメンテーションが埋め込まれたコードを default.profraw に生成します (‘=’ 形式のオプションまたは LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fprofile-exclude-files=<value> <value> で指定するセミコロンで区切られた正規表現と一致しない名前のファイルの関数のみインストルメントします。
-fprofile-filter-files=<value> <value> で指定するセミコロンで区切られた正規表現のいずれかと一致する名前のファイルの関数のみインストルメントします。
-fprofile-generate=<directory> 実行カウントを収集するインストルメンテーションが埋め込まれたコードを <directory>/default.profraw に生成します (LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fprofile-generate 実行カウントを収集するインストルメンテーションが埋め込まれたコードを default.profraw に生成します (LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fprofile-instr-generate=<file> 実行カウントを収集するインストルメンテーションが埋め込まれたコードを <file> に生成します (LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fprofile-instr-generate 実行カウントを収集するインストルメンテーションが埋め込まれたコードを default.profraw に生成します (‘=’ 形式のオプションまたは LLVM_PROFILE_FILE 環境変数で上書きできます)。
-fprofile-instr-use=<value> プロファイルに基づく最適化のインストルメンテーション・データを使用します。
-fprofile-remapping-file=<file> <file> に記述された再マッピングを適用して、プロファイル・データをプログラム内の名前と一致させます。
-fsanitize-address-field-padding=<value> AddressSanitizer のフィールドパディングのレベルを指定します。
-fsanitize-address-globals-dead-stripping AddressSanitizer でリンカーによるグローバルの未使用コードのストリップを有効にします。
-fsanitize-address-poison-custom-array-cookie AddressSanitizer でカスタム new[] オペレーターを使用する際に、配列クッキーのポイズニングを有効にします。
-fsanitize-address-use-after-scope AddressSanitizer でスコープ外での使用検出を有効にします。
-fsanitize-address-use-odr-indicator ODR インジケーターのグローバル化を有効にして、バイナリーサイズの増加と引き換えに、部分的にサニタイズされたプログラムでの誤った ODR 違反レポートを回避します。
-fsanitize-blacklist=<value> サニタイザーの禁止リストファイルへのパスを指定します。
-fsanitize-cfi-canonical-jump-tables シンボルテーブルのジャンプ・テーブル・アドレスを正規化します。
-fsanitize-cfi-cross-dso DSO 呼び出し間の制御フローの整合性 (CFI) チェックを有効にします。
-fsanitize-cfi-icall-generalize-pointers CFI 間接呼び出しタイプのシグネチャー・チェックでポインターを一般化します。
-fsanitize-coverage-allowlist=<value> ブロックされたものを除き、指定する特殊ケースのリストに一致するモジュールと関数のみにサニタイザーのカバレッジ実装を制限します。
-fsanitize-coverage-blacklist=<value> 非推奨。代わりに -fsanitize-coverage-blocklist= を使用します。
-fsanitize-coverage-blocklist=<value> 許可されていても、指定する特殊ケースのリストに一致するモジュールと関数ではサニタイザーのカバレッジ・インストルメンテーションを無効にします。
-fsanitize-coverage-whitelist=<value> 非推奨。代わりに -fsanitize-coverage-allowlist= を使用します。
-fsanitize-coverage=<value> サニタイザーのカバレッジ・インストルメンテーションのタイプを指定します。
-fsanitize-hwaddress-abi=<value> ターゲットの HWAddressSanitizer ABI を選択します (インターセプターまたはプラットフォーム、デフォルトはインターセプター)。このオプションは現在使用されていません。
-fsanitize-memory-track-origins=<value> MemorySanitizer で原因のトラッキングを有効にします。
-fsanitize-memory-track-origins MemorySanitizer で原因のトラッキングを有効にします。
-fsanitize-memory-use-after-dtor MemorySanitizer で破棄後の使用検出を有効にします。
-fsanitize-recover=<value> 指定するサニタイザーのリカバリーを有効にします。
-fsanitize-stats サニタイザーの静的収集を有効にします。
-fsanitize-system-blacklist=<value> サニタイザーのシステム禁止リストファイルへのパスを指定します。
-fsanitize-thread-atomics ThreadSanitizer でアトミック操作のインストルメンテーションを有効にします (デフォルト)。
-fsanitize-thread-func-entry-exit ThreadSanitizer で関数の入口/出口のインストルメンテーションを有効にします (デフォルト)。
-fsanitize-thread-memory-access ThreadSanitizer でメモリーアクセスのインストルメンテーションを有効にします (デフォルト)。
-fsanitize-trap=<value> 指定するサニタイザーのトラップ機能を有効にします。
-fsanitize-trap すべてのサニタイザーのトラップ機能を有効にします。
-fsanitize-undefined-strip-path-components=<number> チェックメタデータを生成する際に、指定する数のパス・コンポーネントを削除します (負の場合は保持のみ)。
-fsanitize=<check> 各種形式の未定義または疑わしい動作のランタイムチェックをオンにします。サポートされるチェックについてはユーザーガイドを参照してください。
-fsplit-lto-unit LTO ユニットの分割を有効にします。
-fstandalone-debug プログラムで使用されるすべてのタイプの完全なデバッグ情報を生成します。
-fsycl-add-targets=<value> 最終的な SYCL* バイナリーに追加するトリプルとデバイスのバイナリーイメージの組み合わせをカンマ区切りのリストで指定します。
-fsycl-dead-args-optimization DPC++ の未使用カーネル引数の削除を有効にします。
-fsycl-device-code-split=<value> SYCL* デバイスコードを指定する単位で分割します。
<value> は、per_kernel (SYCL* カールごとにデバイスコードを作成)、per_source (コンパイル単位のソースごとにデバイスコードを作成)、 off (デバイスコードの分割は行わない) です。
デフォルトは ‘off’で、すべてのカーネルを単一モジュールに出力します。
-fsycl-device-code-split per_source モードで SYCL* デバイスコードを分割し、ソース (翻訳単位) ごとにデバイス・コード・モジュールを生成します。
-fsycl-device-lib=<value> デバイスバイナリーのリンクに含めるデバイス・ライブラリーを制御します。
<value> は、libc、libm-fp32、libm-fp64、all です。
-fsycl-device-only デバイス向けに SYCL* カーネルをコンパイルします。
-fsycl-early-optimizations SYCL* デバイス・コンパイラーの標準最適化パイプラインを有効にします。
-fsycl-explicit-simd SYCL* の明示的 SIMD 拡張を有効にします。
-fsycl-help=<value> 関連するオフライン・コンパイル・ツールからのヘルプ情報を出力します。
-fsycl-help すべてのオフライン・コンパイル・ツールからのヘルプ情報を出力します。
-fsycl-id-queries-fit-in-int SYCL* ID クエリーが MAX_INT に収まることを想定します。
-fsycl-libspirv-path=<value> libspirv ライブラリーへのパスを指定します。
-fsycl-link-targets=<value> リンクされるデバイスイメージを生成するため、SYCL* オフロードターゲットをカンマ区切りのリストで指定します。
-fsycl-link=<value> コンパイルの各種ステージで使用される部分的にリンクされたデバイスとホストのオブジェクトを生成します。
-fsycl-link ホストリンクで使用される部分的にリンクされたデバイス・オブジェクトを生成します。
-fsycl-targets=<value> サポートする SYCL* オフロードターゲットをカンマ区切りのリストで指定します。
-fsycl-unnamed-lambda 名前なしの SYCL* ラムダカーネルを許可します。
-fsycl-use-bitcode ファット・オブジェクトで SPIR-V の代わりに LLVM ビットコードを使用します。
-fsycl デバイス向けの SYCL* カーネルのコンパイルを有効にします。
-fthin-link-bitcode=<value> ThinLTO シンリンクでのみ、最小化されたビットコードを <file> に書き込みます。
-fthinlto-index=<value> 指定する関数サマリー・インデックスを使用して ThinLTO をインポートします。
-ftime-trace-granularity=<value> 時間プロファイルでトレースされる最小時間粒度を指定します (マイクロ秒単位)。
-ftime-trace 時間プロファイルをオンにします。出力ファイル名ベースの JSON ファイルを生成します。
-ftrivial-auto-var-init-stop-after=<value> 指定するインスタンス数に達したら自動スタック変数の初期化を停止します。
-ftrivial-auto-var-init=<value> 自動スタック変数の初期化動作を指定します。
<value> は uninitialized (デフォルト) または pattern です。
-fvirtual-function-elimination 未使用の仮想関数を削除する最適化を有効にします。-flto=full が必要です。
-fwhole-program-vtables プログラム全体の vtable の最適化を有効にします。-flto が必要です。
-gcodeview-ghash .debug$H セクションでタイプレコードのハッシュを生成します。
-gcodeview CodeView デバッグ情報を生成します。
-gdwarf デフォルトの dwarf バージョンを使用して、ソースレベルのデバッグ情報を生成します。
-gline-directives-only デバッグ行情報ディレクティブのみを生成します。
-gline-tables-only デバッグ行番号テーブルのみを生成します。
-gno-inline-line-tables インライン行テーブルを生成しません。
–intel インテル® コンパイラー・モードで実行します。
-miamcu インテル MCU ABI を使用します。
-mllvm <value> LLVM のオプション処理に引き渡す追加引数を指定します。
-mlvi-cfi ロード値インジェクション (LVI) の制御フローの緩和のみを有効にします。
-mlvi-hardening ロード値インジェクション (LVI) のすべての緩和を有効にします。
-mno-lvi-cfi ロード値インジェクション (LVI) の制御フローの緩和を無効にします。
-mno-lvi-hardening ロード値インジェクション (LVI) の緩和を無効にします。
-mno-seses 投機実行の副作用抑制 (SESES) を無効にします。
-mseses 投機実行の副作用抑制 (SESES) を有効にします。LVI 制御フローの整合性の緩和が含まれます。
-nobuiltininc ビルトインの #include ディレクトリーを無効にします。
-nolibsycl SYCL* ランタイム・ライブラリーとリンクしません。
-print-supported-cpus 指定するターゲットでサポートされている CPU モデルを表示します (ターゲットを省略すると、デフォルトのターゲットでサポートされる CPU が出力されます)。
-Qunused-arguments 未使用のドライバー引数への警告を生成しません。
-R<remark> 指定するリマークを有効にします。
-sycl-std=<value> コンパイルする SYCL* 言語標準を指定します。
–target=<value> 指定するターゲット向けのコードを生成します。
-traceback トレースバック・デバッグ情報を生成します。
–version バージョン情報を出力します。
-v 実行するコマンドを詳細出力で表示します。
-W<remark> 指定する警告を有効にします。
-Xclang <arg> clang コンパイラーに <arg> を渡します。
-Xsycl-target-backend=<triple> <arg> <arg> を <triple> で識別される SYCL* ベースのバックエンドに渡します。
-Xsycl-target-backend <arg> <arg> を SYCL* ベースのターゲット・バックエンドに渡します。
-Xsycl-target-frontend=<triple> <arg> <arg> を <triple> で識別される SYCL* ベースのターゲット・フロントエンドに渡します。
-Xsycl-target-frontend <arg> <arg> を SYCL* ベースのターゲット・フロントエンドに渡します。
-Xsycl-target-linker=<triple> <arg> <arg> を <triple> で識別される SYCL* ベースのターゲット・リンカーに渡します。
-Xsycl-target-linker <arg> <arg> を SYCL* ベースのターゲット・リンカーに渡します。
-Xs <arg> <arg> をオフライン・コンパイラーに渡します。
-Xs<arg> <arg> をオフライン・コンパイラーに渡し、オプション指定子 ‘-‘ を <arg> に追加します。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

タイトルとURLをコピーしました