blob: f99a98e32ed1fa50e31e2450b9bc4102bbb85ac0 [file] [edit]
// 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=