[llvm] [DiagnosticInfo] Output full file path instead of relative path (PR #68027)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 2 13:01:48 PDT 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

<details>
<summary>Changes</summary>

llvm remark dump currently outputs relative file path if the corresponding file name and location can be found. Arguably it would be better to output the full path which could make it easier to locate and diagnose problems. This patch does the change and updates test cases accordingly.

---

Patch is 41.94 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/68027.diff


24 Files Affected:

- (modified) llvm/lib/IR/DiagnosticInfo.cpp (+1-1) 
- (modified) llvm/test/Transforms/LoopFusion/diagnostics_analysis.ll (+3-2) 
- (modified) llvm/test/Transforms/LoopFusion/diagnostics_missed.ll (+14-7) 
- (modified) llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll (+2-1) 
- (modified) llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll (+2-1) 
- (modified) llvm/test/Transforms/LoopUnroll/X86/call-remark.ll (+3-2) 
- (modified) llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll (+6-4) 
- (modified) llvm/test/Transforms/LowerMatrixIntrinsics/remarks-inlining.ll (+22-11) 
- (modified) llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll (+18-9) 
- (modified) llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll (+5-4) 
- (modified) llvm/test/Transforms/OpenMP/deduplication_remarks.ll (+3-2) 
- (modified) llvm/test/Transforms/OpenMP/globalization_remarks.ll (+3-2) 
- (modified) llvm/test/Transforms/OpenMP/icv_remarks.ll (+8-6) 
- (modified) llvm/test/Transforms/OpenMP/parallel_deletion_remarks.ll (+4-3) 
- (modified) llvm/test/Transforms/OpenMP/remove_globalization.ll (+6-5) 
- (modified) llvm/test/Transforms/OpenMP/replace_globalization.ll (+5-4) 
- (modified) llvm/test/Transforms/OpenMP/single_threaded_execution.ll (+3-2) 
- (modified) llvm/test/Transforms/OpenMP/spmdization_remarks.ll (+7-6) 
- (modified) llvm/test/Transforms/PhaseOrdering/openmp-opt-module.ll (+2-1) 
- (modified) llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll (+5-4) 
- (modified) llvm/test/Transforms/SampleProfile/csspgo-inline.ll (+7-6) 
- (modified) llvm/test/Transforms/SampleProfile/misexpect.ll (+5-4) 
- (modified) llvm/test/Transforms/Util/libcalls-opt-remarks.ll (+2-1) 
- (modified) llvm/test/Transforms/Util/trivial-auto-var-init-crash-20210521.ll (+2-1) 


``````````diff
diff --git a/llvm/lib/IR/DiagnosticInfo.cpp b/llvm/lib/IR/DiagnosticInfo.cpp
index 342c4cbbc39d65f..242ca999979d2dd 100644
--- a/llvm/lib/IR/DiagnosticInfo.cpp
+++ b/llvm/lib/IR/DiagnosticInfo.cpp
@@ -159,7 +159,7 @@ std::string DiagnosticInfoWithLocationBase::getLocationStr() const {
   unsigned Column = 0;
   if (isLocationAvailable())
     getLocation(Filename, Line, Column);
-  return (Filename + ":" + Twine(Line) + ":" + Twine(Column)).str();
+  return (getAbsolutePath() ? getAbsolutePath() : Filename + ":" + Twine(Line) + ":" + Twine(Column)).str();
 }
 
 DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key,
diff --git a/llvm/test/Transforms/LoopFusion/diagnostics_analysis.ll b/llvm/test/Transforms/LoopFusion/diagnostics_analysis.ll
index 92ca2c10ab0c8d3..0e3cb5f67d429c1 100644
--- a/llvm/test/Transforms/LoopFusion/diagnostics_analysis.ll
+++ b/llvm/test/Transforms/LoopFusion/diagnostics_analysis.ll
@@ -3,8 +3,9 @@
 
 @B = common global [1024 x i32] zeroinitializer, align 16
 
-; CHECK: remark: diagnostics_analysis.c:6:3: [test]: Loop is not a candidate for fusion: Loop contains a volatile access
-; CHECK: remark: diagnostics_analysis.c:10:3: [test]: Loop is not a candidate for fusion: Loop has unknown trip count
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_analysis.c:6:3: [test]: Loop is not a candidate for fusion: Loop contains a volatile access
+; CHECK: remark: {{.*}}diagnostics_analysis.c:10:3: [test]: Loop is not a candidate for fusion: Loop has unknown trip count
 define void @test(ptr %A, i32 %n) !dbg !15 {
 entry:
   %A.addr = alloca ptr, align 8
diff --git a/llvm/test/Transforms/LoopFusion/diagnostics_missed.ll b/llvm/test/Transforms/LoopFusion/diagnostics_missed.ll
index f30a070153742b1..92e6e9bddcb8c97 100644
--- a/llvm/test/Transforms/LoopFusion/diagnostics_missed.ll
+++ b/llvm/test/Transforms/LoopFusion/diagnostics_missed.ll
@@ -5,7 +5,8 @@ target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
 
 @B = common global [1024 x i32] zeroinitializer, align 16, !dbg !0
 
-; CHECK: remark: diagnostics_missed.c:18:3: [non_adjacent]: entry and for.end: Loops are not adjacent
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:18:3: [non_adjacent]: entry and for.end: Loops are not adjacent
 define void @non_adjacent(ptr noalias %A) !dbg !14 {
 entry:
   br label %for.body
@@ -55,7 +56,8 @@ for.end15:                                        ; preds = %for.cond.cleanup5
   ret void
 }
 
-; CHECK: remark: diagnostics_missed.c:28:3: [different_bounds]: entry and for.end: Loop trip counts are not the same
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:28:3: [different_bounds]: entry and for.end: Loop trip counts are not the same
 define void @different_bounds(ptr noalias %A) !dbg !36 {
 entry:
   br label %for.body
@@ -105,7 +107,8 @@ for.end15:                                        ; preds = %for.cond.cleanup5
   ret void
 }
 
-; CHECK: remark: diagnostics_missed.c:38:3: [negative_dependence]: entry and for.end: Dependencies prevent fusion
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:38:3: [negative_dependence]: entry and for.end: Dependencies prevent fusion
 define void @negative_dependence(ptr noalias %A) !dbg !51 {
 entry:
   br label %for.body
@@ -144,7 +147,8 @@ for.end12:                                        ; preds = %for.inc10
   ret void, !dbg !62
 }
 
-; CHECK: remark: diagnostics_missed.c:51:3: [sumTest]: entry and for.cond2.preheader: Dependencies prevent fusion
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:51:3: [sumTest]: entry and for.cond2.preheader: Dependencies prevent fusion
 define i32 @sumTest(ptr noalias %A) !dbg !63 {
 entry:
   br label %for.body
@@ -186,7 +190,8 @@ for.end12:                                        ; preds = %for.inc10
 ; Function Attrs: nounwind readnone speculatable willreturn
 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
 
-; CHECK: remark: diagnostics_missed.c:62:3: [unsafe_preheader]: for.first.preheader and for.second.preheader: Loop has a non-empty preheader with instructions that cannot be moved
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:62:3: [unsafe_preheader]: for.first.preheader and for.second.preheader: Loop has a non-empty preheader with instructions that cannot be moved
 define void @unsafe_preheader(ptr noalias %A, ptr noalias %B) {
 for.first.preheader:
   br label %for.first, !dbg !80
@@ -215,7 +220,8 @@ for.end:
   ret void
 }
 
-; CHECK: remark: diagnostics_missed.c:67:3: [unsafe_exitblock]: for.first.preheader and for.second.preheader: Candidate has a non-empty exit block with instructions that cannot be moved
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:67:3: [unsafe_exitblock]: for.first.preheader and for.second.preheader: Candidate has a non-empty exit block with instructions that cannot be moved
 define void @unsafe_exitblock(ptr noalias %A, ptr noalias %B, i64 %N) {
 for.first.guard:
   %cmp3 = icmp slt i64 0, %N
@@ -258,7 +264,8 @@ for.end:
   ret void
 }
 
-; CHECK: remark: diagnostics_missed.c:72:3: [unsafe_guardblock]: for.first.preheader and for.second.preheader: Candidate has a non-empty guard block with instructions that cannot be moved
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}diagnostics_missed.c:72:3: [unsafe_guardblock]: for.first.preheader and for.second.preheader: Candidate has a non-empty guard block with instructions that cannot be moved
 define void @unsafe_guardblock(ptr noalias %A, ptr noalias %B, i64 %N) {
 for.first.guard:
   %cmp3 = icmp slt i64 0, %N
diff --git a/llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll b/llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
index 264f34dd044af3c..0c26d1bf2378fe1 100644
--- a/llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
+++ b/llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
@@ -7,7 +7,8 @@ target triple = "x86_64-unknown-linux-gnu"
 
 ; Check that everything still works when debuginfo is present, and that it is reasonably propagated.
 
-; CHECK: remark: <stdin>:6:1: Formed a call to llvm.memcpy.p0.p0.i64() intrinsic from load and store instruction in test6_dest_align function{{$}}
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}<stdin>:6:1: Formed a call to llvm.memcpy.p0.p0.i64() intrinsic from load and store instruction in test6_dest_align function{{$}}
 
 ; YAML:      --- !Passed
 ; YAML-NEXT: Pass:            loop-idiom
diff --git a/llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll b/llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
index 7ff6446fb47704b..034f08360f61768 100644
--- a/llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
+++ b/llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
@@ -12,7 +12,8 @@ target triple = "x86_64-unknown-linux-gnu"
 ;     *begin = value;
 ; }
 
-; CHECK: remark: <stdin>:4:1: Transformed loop-strided store in _Z15my_basic_memsetPcS_c function into a call to llvm.memset.p0.i64() intrinsic{{$}}
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}<stdin>:4:1: Transformed loop-strided store in _Z15my_basic_memsetPcS_c function into a call to llvm.memset.p0.i64() intrinsic{{$}}
 
 ; YAML:      --- !Passed
 ; YAML-NEXT: Pass:            loop-idiom
diff --git a/llvm/test/Transforms/LoopUnroll/X86/call-remark.ll b/llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
index d34acc8f716131f..f5d866620664fce 100644
--- a/llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
+++ b/llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
@@ -5,8 +5,9 @@
 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-; TTI: remark: <stdin>:7:1: advising against unrolling the loop because it contains a call
-; UNROLL: remark: <stdin>:14:1: unrolled loop by a factor of 8 with run-time trip count
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; TTI: remark: {{.*}}<stdin>:7:1: advising against unrolling the loop because it contains a call
+; UNROLL: remark: {{.*}}<stdin>:14:1: unrolled loop by a factor of 8 with run-time trip count
 
 define void @contains_external_call(i32 %count) {
 ; ALL-LABEL: @contains_external_call(
diff --git a/llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll b/llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll
index ba6852418ef29df..1833d751ceb1fac 100644
--- a/llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll
+++ b/llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll
@@ -1,6 +1,7 @@
 ; RUN: opt -force-vector-interleave=2 -force-vector-width=4 -passes=loop-vectorize -pass-remarks-analysis=loop-vectorize -disable-output < %s 2>&1 | FileCheck %s
 
-; CHECK: remark: mixed-precision.c:3:26: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}mixed-precision.c:3:26: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
 define void @f(ptr noalias nocapture %X, i64 %N) {
 entry:
   br label %for.body
@@ -21,9 +22,10 @@ for.body:
   br i1 %exitcond.not, label %for.cond.cleanup, label %for.body
 }
 
-; CHECK: remark: mixed-precision.c:8:8: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
-; CHECK: remark: mixed-precision.c:7:16: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
-; CHECK-NOT: remark: mixed-precision.c:7:16: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK: remark: {{.*}}mixed-precision.c:8:8: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
+; CHECK: remark: {{.*}}mixed-precision.c:7:16: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
+; CHECK-NOT: remark: {{.*}}mixed-precision.c:7:16: floating point conversion changes vector width. Mixed floating point precision requires an up/down cast that will negatively impact performance.
 define void @g(ptr noalias nocapture %X, ptr noalias nocapture %Y, i64 %N) {
 entry:
   %pi = alloca double
diff --git a/llvm/test/Transforms/LowerMatrixIntrinsics/remarks-inlining.ll b/llvm/test/Transforms/LowerMatrixIntrinsics/remarks-inlining.ll
index aaabd18958fae68..069b41358219b53 100644
--- a/llvm/test/Transforms/LowerMatrixIntrinsics/remarks-inlining.ll
+++ b/llvm/test/Transforms/LowerMatrixIntrinsics/remarks-inlining.ll
@@ -47,49 +47,60 @@
 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "aarch64-apple-ios"
 
-; CHECK-LABEL: remark: load.h:41:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}load.h:41:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  load(addr %A)
 
-; CHECK-LABEL: remark: load.h:41:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}load.h:41:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  column.major.load.3x5.double(addr %B, 5)
 
-; CHECK-LABEL: remark: load.h:41:11: Lowered with 0 stores, 1 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}load.h:41:11: Lowered with 0 stores, 1 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT: load(addr %D)
 
-; CHECK-LABEL: remark: assign.h:32:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}assign.h:32:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  load(addr %A)
 
-; CHECK-LABEL: remark: assign.h:32:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}assign.h:32:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  column.major.load.3x5.double(addr %B, 5)
 
-; CHECK-LABEL: remark: toplevel.c:410:0: Lowered with 10 stores, 20 loads, 10 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}toplevel.c:410:0: Lowered with 10 stores, 20 loads, 10 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   fadd(
 ; CHECK-NEXT:    load(addr %A),
 ; CHECK-NEXT:    column.major.load.3x5.double(addr %B, 5)),
 ; CHECK-NEXT:   addr %C)
 
-; CHECK-LABEL: remark: toplevel.c:510:0: Lowered with 2 stores, 1 loads, 4 compute ops, 1 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}toplevel.c:510:0: Lowered with 2 stores, 1 loads, 4 compute ops, 1 exposed transposes
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   transpose.2x1.float(load(addr %D)),
 ; CHECK-NEXT:   addr %D)
 
-; CHECK-LABEL: remark: add.h:66:11: Lowered with 0 stores, 0 loads, 10 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}add.h:66:11: Lowered with 0 stores, 0 loads, 10 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  fadd(
 ; CHECK-NEXT:   addr %A,
 ; CHECK-NEXT:   scalar)
 
-; CHECK-LABEL: remark: store.h:10:11: Lowered with 10 stores, 0 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}store.h:10:11: Lowered with 10 stores, 0 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   scalar,
 ; CHECK-NEXT:   addr %C)
 
-; CHECK-LABEL: remark: store.h:66:11: Lowered with 2 stores, 0 loads, 0 compute ops, 0 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}store.h:66:11: Lowered with 2 stores, 0 loads, 0 compute ops, 0 exposed transposes
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:  scalar,
 ; CHECK-NEXT:  addr %D)
 
-; CHECK-LABEL: remark: transpose.h:13:11: Lowered with 0 stores, 0 loads, 4 compute ops, 1 exposed transposes
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}transpose.h:13:11: Lowered with 0 stores, 0 loads, 4 compute ops, 1 exposed transposes
 ; CHECK-NEXT:  transpose.2x1.float(addr %D)
 
 define void @toplevel(ptr %A, ptr %B, ptr %C, ptr %D) !dbg !16 {
diff --git a/llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll b/llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll
index 628ff08b81679a7..62d377a9de4a253 100644
--- a/llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll
+++ b/llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll
@@ -4,7 +4,8 @@
 
 ; RUN: opt -passes=lower-matrix-intrinsics -pass-remarks=lower-matrix-intrinsics -mtriple=arm64-apple-iphoneos < %s 2>&1 | FileCheck %s
 
-; CHECK-LABEL: remark: test.h:40:20: Lowered with 6 stores, 6 loads, 24 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:40:20: Lowered with 6 stores, 6 loads, 24 compute ops
 ; CHECK-NEXT: store(
 ; CHECK-NEXT:  transpose.2x6.double(load(addr %A)),
 ; CHECK-NEXT:  addr %B)
@@ -15,7 +16,8 @@ define void @transpose(ptr %A, ptr %B) !dbg !23 {
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:50:20: Lowered with 2 stores, 12 loads, 22 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:50:20: Lowered with 2 stores, 12 loads, 22 compute ops
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   multiply.2x6.6x2.double(
 ; CHECK-NEXT:    load(addr %A),
@@ -29,7 +31,8 @@ define void @multiply(ptr %A, ptr %B, ptr %C) !dbg !25 {
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:60:20: Lowered with 6 stores, 6 loads, 0 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:60:20: Lowered with 6 stores, 6 loads, 0 compute ops
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   column.major.load.3x3.double(addr %A, 5),
 ; CHECK-NEXT:   addr %B)
@@ -39,7 +42,8 @@ define void @column.major.load(ptr %A, ptr %B) !dbg !27 {
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:70:20: Lowered with 6 stores, 6 loads, 0 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:70:20: Lowered with 6 stores, 6 loads, 0 compute ops
 ; CHECK-NEXT:  column.major.store.3x3.double(
 ; CHECK-NEXT:   column.major.load.3x3.double(addr %A, 5),
 ; CHECK-NEXT:   addr %B,
@@ -50,7 +54,8 @@ define void @column.major.store(ptr %A, ptr %B) !dbg !29 {
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:80:20: Lowered with 6 stores, 6 loads, 12 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:80:20: Lowered with 6 stores, 6 loads, 12 compute ops
 ; CHECK-NEXT:  column.major.store.3x3.double(
 ; CHECK-NEXT:   fmul(
 ; CHECK-NEXT:    fadd(
@@ -68,7 +73,8 @@ define void @binaryops(ptr %A, ptr %B) !dbg !31 {
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:90:20: Lowered with 6 stores, 6 loads, 12 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:90:20: Lowered with 6 stores, 6 loads, 12 compute ops
 ; CHECK-NEXT:  column.major.store.3x3.double(
 ; CHECK-NEXT:   fmul(
 ; CHECK-NEXT:    fadd(
@@ -77,7 +83,8 @@ define void @binaryops(ptr %A, ptr %B) !dbg !31 {
 ; CHECK-NEXT:    (reused) column.major.load.3x3.double(addr %A, 5)),
 ; CHECK-NEXT:   addr %B,
 ; CHECK-NEXT:   10)
-; CHECK-NEXT:  remark: test.h:90:20: Lowered with 2 stores, 12 loads, 22 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-NEXT:  remark: {{.*}}test.h:90:20: Lowered with 2 stores, 12 loads, 22 compute ops
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   multiply.2x6.6x2.double(
 ; CHECK-NEXT:    load(addr %C),
@@ -98,7 +105,8 @@ define void @multiple_expressions(ptr %A, ptr %B, ptr %C, ptr %D, ptr %E) !dbg !
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:100:20: Lowered with 6 stores, 6 loads, 12 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:100:20: Lowered with 6 stores, 6 loads, 12 compute ops
 ; CHECK-NEXT:  column.major.store.3x3.double(
 ; CHECK-NEXT:   fmul(
 ; CHECK-NEXT:    fadd(
@@ -115,7 +123,8 @@ define void @stackaddresses(ptr %A, ptr %B) !dbg !35 {
   ret void
 }
 
-; CHECK-LABEL: remark: test.h:30:20: Lowered with 10 stores, 9 loads, 30 compute ops
+; BISHENG: BiSheng compiler prints absolute path names for remarks
+; CHECK-LABEL: remark: {{.*}}test.h:30:20: Lowered with 10 stores, 9 loads, 30 compute ops
 ; CHECK-NEXT:  store(
 ; CHECK-NEXT:   transpose.5x3.double(load(addr %A)),
 ; CHECK-NEXT:   stack addr %s1)
diff --git a/llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll b/llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
index 0c542bb27f4f46c..beba550dc0ebfb3 100644
--- a/llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
+++ b/llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
@@ -1,10 +1,11 @@
 ; RUN: opt -passes=openmp-opt -pass-remarks=openmp-opt -pass-remarks-missed=openmp-opt -pass-rema...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/68027


More information about the llvm-commits mailing list