この記事は、インテル® 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> に追加します。 |
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。