diff options
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/branch-debug-info.ll')
-rw-r--r-- | llvm/test/Transforms/JumpThreading/branch-debug-info.ll | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/llvm/test/Transforms/JumpThreading/branch-debug-info.ll b/llvm/test/Transforms/JumpThreading/branch-debug-info.ll new file mode 100644 index 00000000000..a5226483f67 --- /dev/null +++ b/llvm/test/Transforms/JumpThreading/branch-debug-info.ll @@ -0,0 +1,41 @@ +; RUN: opt %s -debugify -jump-threading -S | FileCheck %s +; Tests Bug 37966 + +define void @test0(i32 %i) { +; CHECK-LABEL: @test0( +; CHECK: left: +; CHECK: br label %left, !dbg ![[DBG0:[0-9]+]] + entry: + %c0 = icmp ult i32 %i, 5 + br i1 %c0, label %left, label %right + + left: + br i1 %c0, label %left, label %right ; "line 3" to -debugify + + right: + ret void +} + +define void @test1(i32 %i, i32 %len) { +; CHECK-LABEL: @test1( +; CHECK: left: +; CHECK: br label %right, !dbg ![[DBG1:[0-9]+]] + entry: + %i.inc = add nuw i32 %i, 1 + %c0 = icmp ult i32 %i.inc, %len + br i1 %c0, label %left, label %right + + left: + %c1 = icmp ult i32 %i, %len + br i1 %c1, label %right, label %left0 ; "line 9" to -debugify + + left0: + ret void + + right: + ret void +} + +; CHECK-DAG: ![[DBG0]] = !DILocation(line: 3, +; CHECK-DAG: ![[DBG1]] = !DILocation(line: 9, + |