v++
コマンドは、カーネルのコンパイル中にさまざまなザイリンクス ツールを実行します。これらのツールでは、ビルド ステータスを示すため、多数のメッセージが生成されます。生成されるメッセージの中には、目的やデザイン段階によって、関係ないものもあります。メッセージ ルール ファイル (.mrf) は、これらのメッセージを管理するために使用できます。重要なメッセージをターミナルに表示したり、重要度の低いものを非表示にしたりするコマンドがあります。これにより、カーネルのビルド結果を理解しやすくなり、またカーネルを最適化する方法を検討しやすくなります。
メッセージ ルール ファイルはテキスト形式のファイルで、コメントとサポートされているコマンドが含まれます。各行にコマンドを 1 つずつ記述します。
コメント
行頭に「#
」が付いている行はコメントです。
サポートされるコマンド
デフォルトでは、v++
は作業ディレクトリ全体を再帰的にスキャンし、すべてのエラー メッセージを v++
出力に表示します。次に説明する promote
および suppress
コマンドは、v++
出力を制御するコマンドです。
-
promote
: 検索条件に一致するメッセージをすべてv++
出力に表示します。 -
suppress
: 検索条件に一致するメッセージをv++
出力で非表示にします。ただし、エラー メッセージは非表示にできません。
各行にコマンドを 1 つずつ記述します。
コマンド オプション
メッセージ ルール ファイルには、promote
および suppress
コマンドを複数含めることができます。各コマンドにはオプションを 1 つのみ指定できます。指定可能なオプションは次のいずれか 1 つのみです。オプションでは大文字と小文字が区別されます。
-
-id [<message_id>]
: 指定したメッセージ ID に一致するすべてのメッセージを表示するか、または非表示にします。メッセージ ID のフォーマットは「nnn-mmm」です。たとえば、次のような HLS からの警告メッセージがあるとします。このメッセージの ID は 204-68 です。WARNING: [V++ 204-68] Unable to enforce a carried dependence constraint (II = 1, distance = 1, offset = 1) between bus request on port 'gmem' (/matrix_multiply_cl_kernel/mmult1.cl:57) and bus request on port 'gmem'-severity [severity_level]
メッセージ ID 204-68 を非表示にするには、
suppress -id 204-68
と指定します。 -
-severity [<severity_level>]
: 重要度を示す次のいずれかの値を指定します。指定した重要度のメッセージの重要度を上げるか、または非表示にします。-
info
-
warning
-
critical_warning
重要度が critical-warning のメッセージの重要度を上げるには、
promote -severity critical_warning
と指定します。
-
メッセージ ルールの優先順位
suppress
ルールは promote
ルールよりも優先されます。同じメッセージ ID または重要度がメッセージ ルール ファイルの promote
コマンドと suppress
コマンドの両方に渡された場合、その条件に一致するメッセージが非表示になります。
メッセージ ルール ファイルの例
次に、メッセージ ルール ファイルの例を示します。
# promote all warning, critical warning
promote -severity warning
promote -severity critical_warning
# suppress the critical warning message with id 19-2342
suppress -id 19-2342