
These date back to when the non-intrinsic format of variable locations was still being tested and was behind a compile-time flag, so not all builds / bots would correctly run them. The solution at the time, to get at least some test coverage, was to have tests opt-in to non-intrinsic debug-info if it was built into LLVM. Nowadays, non-intrinsic format is the default and has been on for more than a year, there's no need for this flag to exist. (I've downgraded the flag from "try" to explicitly requesting non-intrinsic format in some places, so that we can deal with tests that are explicitly about non-intrinsic format in their own commit).
42 lines
840 B
LLVM
42 lines
840 B
LLVM
; RUN: opt -S -passes=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,
|
|
|