brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1019 B · 28772f0 Raw
31 lines · plain
1; RUN: opt -passes='module(debugify),function(dce)' -S < %s | FileCheck %s2 3; CHECK-LABEL: @test4define void @test() {5  %add = add i32 1, 26; CHECK-NEXT: #dbg_value(i32 1, [[add:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 2, DW_OP_stack_value),7  %sub = sub i32 %add, 18; CHECK-NEXT: #dbg_value(i32 1, [[sub:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 2, DW_OP_constu, 1, DW_OP_minus, DW_OP_stack_value),9; CHECK-NEXT: ret void10  ret void11}12 13declare void @llvm.lifetime.start.p0(ptr nocapture) nounwind14declare void @llvm.lifetime.end.p0(ptr nocapture) nounwind15 16; CHECK-LABEL: @test_lifetime_alloca17define i32 @test_lifetime_alloca() {18; Check that lifetime intrinsics are removed along with the pointer.19; CHECK-NEXT: #dbg_value20; CHECK-NEXT: ret i32 021; CHECK-NOT: llvm.lifetime.start22; CHECK-NOT: llvm.lifetime.end23  %i = alloca i8, align 424  call void @llvm.lifetime.start.p0(ptr %i)25  call void @llvm.lifetime.end.p0(ptr %i)26  ret i32 027}28 29; CHECK: [[add]] = !DILocalVariable30; CHECK: [[sub]] = !DILocalVariable31