| // RUN: mlir-opt %s --test-remark --remarks-filter-passed="category-1-passed" 2>&1 | FileCheck %s -check-prefix=CHECK-PASSED |
| // RUN: mlir-opt %s --test-remark --remarks-filter-missed="a-category-1-missed" 2>&1 | FileCheck %s -check-prefix=CHECK-MISSED |
| // RUN: mlir-opt %s --test-remark --remarks-filter-failed="category-2-failed" 2>&1 | FileCheck %s -check-prefix=CHECK-FAILED |
| // RUN: mlir-opt %s --test-remark --remarks-filter-analyse="category-2-analysis" 2>&1 | FileCheck %s -check-prefix=CHECK-ANALYSIS |
| // RUN: mlir-opt %s --test-remark --remarks-filter="category.*" 2>&1 | FileCheck %s -check-prefix=CHECK-ALL |
| // RUN: mlir-opt %s --test-remark --remarks-filter="category-1.*" 2>&1 | FileCheck %s -check-prefix=CHECK-ALL1 |
| // RUN: mlir-opt %s --test-remark --remark-policy=final --remarks-filter-passed="category-link" --remarks-filter-analyse="category-link" 2>&1 | FileCheck %s -check-prefix=CHECK-LINK |
| module @foo { |
| "test.op"() : () -> () |
| } |
| |
| // Each remark now includes a RemarkId=N arg and remark-N prefix, so use |
| // {{.*}} to absorb them. |
| // CHECK-PASSED: remark: [Passed]{{.*}}test-remark | Category:category-1-passed |{{.*}}Remark="This is a test passed remark" |
| // CHECK-MISSED: remark: [Missed]{{.*}}test-remark | Category:a-category-1-missed |{{.*}}Remark="This is a test missed remark" |
| // CHECK-FAILED: remark: [Failure]{{.*}}test-remark | Category:category-2-failed |{{.*}}Remark="This is a test failed remark" |
| // CHECK-ANALYSIS: remark: [Analysis]{{.*}}test-remark | Category:category-2-analysis |{{.*}}Remark="This is a test analysis remark" |
| |
| // CHECK-ALL: remark: [Passed]{{.*}}test-remark | Category:category-1-passed | |
| // CHECK-ALL: remark: [Passed]{{.*}}test-remark | Category:category-1-passed | |
| // CHECK-ALL: remark: [Failure]{{.*}}test-remark | Category:category-2-failed | |
| // CHECK-ALL: remark: [Analysis]{{.*}}test-remark | Category:category-2-analysis | |
| // CHECK-ALL: remark: [Passed]{{.*}}test-remark | Category:category-link | |
| // CHECK-ALL: remark: [Analysis]{{.*}}test-remark | Category:category-link | |
| |
| // CHECK-ALL1: remark: [Passed]{{.*}}test-remark | Category:category-1-passed | |
| // CHECK-ALL1-NOT: remark: [Missed] |
| // CHECK-ALL1-NOT: remark: [Failure] |
| // CHECK-ALL1-NOT: remark: [Analysis] |
| |
| // Test remark linking via query-based API with PolicyFinal: the passed remark |
| // finds the analysis remark by searching postponedRemarks. Related (child) |
| // remarks are grouped after their parent. |
| // CHECK-LINK: remark: [Passed]{{.*}}Category:category-link |{{.*}}RelatedTo= |
| // CHECK-LINK-SAME: Remark="Optimization enabled by analysis" |
| // CHECK-LINK-SAME: RemarkId= |
| // CHECK-LINK: remark: [Analysis]{{.*}}Category:category-link |{{.*}}Remark="Analysis that enables optimization" |
| // CHECK-LINK-SAME: RemarkId= |