diff options
| author | Vedant Kumar <vsk@apple.com> | 2019-04-19 22:36:40 +0000 |
|---|---|---|
| committer | Vedant Kumar <vsk@apple.com> | 2019-04-19 22:36:40 +0000 |
| commit | 282b26ec4d988fe300cda4d8f273a42cf4e0923d (patch) | |
| tree | 6f2c114275bcb5fd8137c3bdd5a3191f9df5b352 /llvm/test | |
| parent | a9c2ba3fffa575cd6eeb81cdecd461d2e9b1c09b (diff) | |
| download | bcm5719-llvm-282b26ec4d988fe300cda4d8f273a42cf4e0923d.tar.gz bcm5719-llvm-282b26ec4d988fe300cda4d8f273a42cf4e0923d.zip | |
[GVN+LICM] Use line 0 locations for better crash attribution
This is a follow-up to r291037+r291258, which used null debug locations
to prevent jumpy line tables.
Using line 0 locations achieves the same effect, but works better for
crash attribution because it preserves the right inline scope.
Differential Revision: https://reviews.llvm.org/D60913
llvm-svn: 358791
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll | 3 | ||||
| -rw-r--r-- | llvm/test/Transforms/GVN/PRE/phi-translate.ll | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll b/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll index 77ec4a3f3f0..04429d81e95 100644 --- a/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll +++ b/llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll @@ -18,8 +18,9 @@ ; We make sure that the instruction that is hoisted into the preheader ; does not have a debug location. ; CHECK: for.body.lr.ph: -; CHECK: getelementptr{{.*}}%p.addr, i64 4{{$}} +; CHECK: getelementptr{{.*}}%p.addr, i64 4{{.*}} !dbg [[zero:![0-9]+]] ; CHECK: for.body: +; CHECK: [[zero]] = !DILocation(line: 0 ; ; ModuleID = 't.ll' source_filename = "test.c" diff --git a/llvm/test/Transforms/GVN/PRE/phi-translate.ll b/llvm/test/Transforms/GVN/PRE/phi-translate.ll index 02fb8e0626e..81d3d9db522 100644 --- a/llvm/test/Transforms/GVN/PRE/phi-translate.ll +++ b/llvm/test/Transforms/GVN/PRE/phi-translate.ll @@ -4,8 +4,8 @@ target datalayout = "e-p:64:64:64" ; CHECK-LABEL: @foo( ; CHECK: entry.end_crit_edge: -; CHECK: %[[INDEX:[a-z0-9.]+]] = sext i32 %x to i64{{$}} -; CHECK: %[[ADDRESS:[a-z0-9.]+]] = getelementptr [100 x i32], [100 x i32]* @G, i64 0, i64 %[[INDEX]]{{$}} +; CHECK: %[[INDEX:[a-z0-9.]+]] = sext i32 %x to i64{{.*}} !dbg [[ZERO_LOC:![0-9]+]] +; CHECK: %[[ADDRESS:[a-z0-9.]+]] = getelementptr [100 x i32], [100 x i32]* @G, i64 0, i64 %[[INDEX]]{{.*}} !dbg [[ZERO_LOC]] ; CHECK: %n.pre = load i32, i32* %[[ADDRESS]], !dbg [[N_LOC:![0-9]+]] ; CHECK: br label %end ; CHECK: then: @@ -14,7 +14,8 @@ target datalayout = "e-p:64:64:64" ; CHECK: %n = phi i32 [ %n.pre, %entry.end_crit_edge ], [ %z, %then ], !dbg [[N_LOC]] ; CHECK: ret i32 %n -; CHECK: [[N_LOC]] = !DILocation(line: 47, column: 1, scope: !{{.*}}) +; CHECK-DAG: [[N_LOC]] = !DILocation(line: 47, column: 1, scope: !{{.*}}) +; CHECK-DAG: [[ZERO_LOC]] = !DILocation(line: 0 @G = external global [100 x i32] define i32 @foo(i32 %x, i32 %z) !dbg !6 { |

