summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/JumpThreading/branch-debug-info.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/branch-debug-info.ll')
-rw-r--r--llvm/test/Transforms/JumpThreading/branch-debug-info.ll41
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,
+
OpenPOWER on IntegriCloud