diff options
Diffstat (limited to 'llvm/test/Transforms')
47 files changed, 349 insertions, 349 deletions
diff --git a/llvm/test/Transforms/AddDiscriminators/call.ll b/llvm/test/Transforms/AddDiscriminators/call.ll index 5365d68eb09..49aca5a488f 100644 --- a/llvm/test/Transforms/AddDiscriminators/call.ll +++ b/llvm/test/Transforms/AddDiscriminators/call.ll @@ -14,8 +14,8 @@ define void @_Z3foov() #0 !dbg !4 { ; CHECK: call void @_Z3barv(), !dbg ![[CALL0:[0-9]+]] %a = alloca [100 x i8], align 16 %b = bitcast [100 x i8]* %a to i8* - call void @llvm.lifetime.start(i64 100, i8* %b), !dbg !11 - call void @llvm.lifetime.end(i64 100, i8* %b), !dbg !11 + call void @llvm.lifetime.start.p0i8(i64 100, i8* %b), !dbg !11 + call void @llvm.lifetime.end.p0i8(i64 100, i8* %b), !dbg !11 call void @_Z3barv(), !dbg !11 ; CHECK: call void @_Z3barv(), !dbg ![[CALL1:[0-9]+]] call void @_Z3barv(), !dbg !12 @@ -24,8 +24,8 @@ define void @_Z3foov() #0 !dbg !4 { } declare void @_Z3barv() #1 -declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind argmemonly -declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind argmemonly +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind argmemonly +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind argmemonly attributes #0 = { uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" } diff --git a/llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll b/llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll index afab7a39b27..fc6aade8708 100644 --- a/llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll +++ b/llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll @@ -43,11 +43,11 @@ define i16 @test_exchange_i16(i16* %arg, i16 %val) { ; CHECK: %1 = bitcast i16* %arg to i8* ; CHECK: %2 = alloca i16, align 2 ; CHECK: %3 = bitcast i16* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 2, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 2, i8* %3) ; CHECK: store i16 %old, i16* %2, align 2 ; CHECK: %4 = call zeroext i1 @__atomic_compare_exchange_2(i8* %1, i8* %3, i16 %new, i32 5, i32 0) ; CHECK: %5 = load i16, i16* %2, align 2 -; CHECK: call void @llvm.lifetime.end(i64 2, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 2, i8* %3) ; CHECK: %6 = insertvalue { i16, i1 } undef, i16 %5, 0 ; CHECK: %7 = insertvalue { i16, i1 } %6, i1 %4, 1 ; CHECK: %ret = extractvalue { i16, i1 } %7, 0 @@ -76,10 +76,10 @@ define i16 @test_add_i16(i16* %arg, i16 %val) { ; CHECK: %1 = bitcast i128* %arg to i8* ; CHECK: %2 = alloca i128, align 8 ; CHECK: %3 = bitcast i128* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %3) ; CHECK: call void @__atomic_load(i32 16, i8* %1, i8* %3, i32 5) ; CHECK: %4 = load i128, i128* %2, align 8 -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %3) ; CHECK: ret i128 %4 define i128 @test_load_i128(i128* %arg) { %ret = load atomic i128, i128* %arg seq_cst, align 16 @@ -90,10 +90,10 @@ define i128 @test_load_i128(i128* %arg) { ; CHECK: %1 = bitcast i128* %arg to i8* ; CHECK: %2 = alloca i128, align 8 ; CHECK: %3 = bitcast i128* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %3) ; CHECK: store i128 %val, i128* %2, align 8 ; CHECK: call void @__atomic_store(i32 16, i8* %1, i8* %3, i32 5) -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %3) ; CHECK: ret void define void @test_store_i128(i128* %arg, i128 %val) { store atomic i128 %val, i128* %arg seq_cst, align 16 @@ -104,15 +104,15 @@ define void @test_store_i128(i128* %arg, i128 %val) { ; CHECK: %1 = bitcast i128* %arg to i8* ; CHECK: %2 = alloca i128, align 8 ; CHECK: %3 = bitcast i128* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %3) ; CHECK: store i128 %val, i128* %2, align 8 ; CHECK: %4 = alloca i128, align 8 ; CHECK: %5 = bitcast i128* %4 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %5) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %5) ; CHECK: call void @__atomic_exchange(i32 16, i8* %1, i8* %3, i8* %5, i32 5) -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %3) ; CHECK: %6 = load i128, i128* %4, align 8 -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %5) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %5) ; CHECK: ret i128 %6 define i128 @test_exchange_i128(i128* %arg, i128 %val) { %ret = atomicrmw xchg i128* %arg, i128 %val seq_cst @@ -123,16 +123,16 @@ define i128 @test_exchange_i128(i128* %arg, i128 %val) { ; CHECK: %1 = bitcast i128* %arg to i8* ; CHECK: %2 = alloca i128, align 8 ; CHECK: %3 = bitcast i128* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %3) ; CHECK: store i128 %old, i128* %2, align 8 ; CHECK: %4 = alloca i128, align 8 ; CHECK: %5 = bitcast i128* %4 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %5) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %5) ; CHECK: store i128 %new, i128* %4, align 8 ; CHECK: %6 = call zeroext i1 @__atomic_compare_exchange(i32 16, i8* %1, i8* %3, i8* %5, i32 5, i32 0) -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %5) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %5) ; CHECK: %7 = load i128, i128* %2, align 8 -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %3) ; CHECK: %8 = insertvalue { i128, i1 } undef, i128 %7, 0 ; CHECK: %9 = insertvalue { i128, i1 } %8, i1 %6, 1 ; CHECK: %ret = extractvalue { i128, i1 } %9, 0 @@ -157,15 +157,15 @@ define i128 @test_cmpxchg_i128(i128* %arg, i128 %old, i128 %new) { ; CHECK: %new = add i128 %loaded, %val ; CHECK: %4 = bitcast i128* %arg to i8* ; CHECK: %5 = bitcast i128* %1 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %5) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %5) ; CHECK: store i128 %loaded, i128* %1, align 8 ; CHECK: %6 = bitcast i128* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %6) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %6) ; CHECK: store i128 %new, i128* %2, align 8 ; CHECK: %7 = call zeroext i1 @__atomic_compare_exchange(i32 16, i8* %4, i8* %5, i8* %6, i32 5, i32 5) -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %6) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %6) ; CHECK: %8 = load i128, i128* %1, align 8 -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %5) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %5) ; CHECK: %9 = insertvalue { i128, i1 } undef, i128 %8, 0 ; CHECK: %10 = insertvalue { i128, i1 } %9, i1 %7, 1 ; CHECK: %success = extractvalue { i128, i1 } %10, 1 @@ -204,12 +204,12 @@ define void @test_store_double(double* %arg, double %val) { ; CHECK: %1 = bitcast i16** %arg to i8* ; CHECK: %2 = alloca i16*, align 4 ; CHECK: %3 = bitcast i16** %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 4, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 4, i8* %3) ; CHECK: store i16* %old, i16** %2, align 4 ; CHECK: %4 = ptrtoint i16* %new to i32 ; CHECK: %5 = call zeroext i1 @__atomic_compare_exchange_4(i8* %1, i8* %3, i32 %4, i32 5, i32 2) ; CHECK: %6 = load i16*, i16** %2, align 4 -; CHECK: call void @llvm.lifetime.end(i64 4, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 4, i8* %3) ; CHECK: %7 = insertvalue { i16*, i1 } undef, i16* %6, 0 ; CHECK: %8 = insertvalue { i16*, i1 } %7, i1 %5, 1 ; CHECK: %ret = extractvalue { i16*, i1 } %8, 0 @@ -227,10 +227,10 @@ define i16* @test_cmpxchg_ptr(i16** %arg, i16* %old, i16* %new) { ; CHECK: %1 = bitcast fp128* %arg to i8* ; CHECK: %2 = alloca fp128, align 8 ; CHECK: %3 = bitcast fp128* %2 to i8* -; CHECK: call void @llvm.lifetime.start(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 16, i8* %3) ; CHECK: store fp128 %val, fp128* %2, align 8 ; CHECK: call void @__atomic_store(i32 16, i8* %1, i8* %3, i32 5) -; CHECK: call void @llvm.lifetime.end(i64 16, i8* %3) +; CHECK: call void @llvm.lifetime.end.p0i8(i64 16, i8* %3) ; CHECK: ret void define void @test_store_fp128(fp128* %arg, fp128 %val) { store atomic fp128 %val, fp128* %arg seq_cst, align 16 diff --git a/llvm/test/Transforms/BBVectorize/X86/wr-aliases.ll b/llvm/test/Transforms/BBVectorize/X86/wr-aliases.ll index a6ea27fc3ec..e34414988f3 100644 --- a/llvm/test/Transforms/BBVectorize/X86/wr-aliases.ll +++ b/llvm/test/Transforms/BBVectorize/X86/wr-aliases.ll @@ -14,7 +14,7 @@ declare fastcc void @_ZL12printQBezier7QBezier(%class.QBezier.15* byval nocaptur declare void @llvm.lifetime.start(i64, i8* nocapture) #0 ; Function Attrs: nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) #0 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0 define void @main_arrayctor.cont([10 x %class.QBezier.15]* %beziers, %class.QBezier.15* %agg.tmp.i, %class.QBezier.15* %agg.tmp55.i, %class.QBezier.15* %agg.tmp56.i) { newFuncRoot: @@ -134,9 +134,9 @@ arrayctor.cont: ; preds = %newFuncRoot call fastcc void @_ZL12printQBezier7QBezier(%class.QBezier.15* byval align 8 %agg.tmp55.i) call void @llvm.memcpy.p0i8.p0i8.i64(i8* %v2, i8* %v3, i64 64, i32 8, i1 false) call fastcc void @_ZL12printQBezier7QBezier(%class.QBezier.15* byval align 8 %agg.tmp56.i) - call void @llvm.lifetime.end(i64 64, i8* %v0) - call void @llvm.lifetime.end(i64 64, i8* %v1) - call void @llvm.lifetime.end(i64 64, i8* %v2) + call void @llvm.lifetime.end.p0i8(i64 64, i8* %v0) + call void @llvm.lifetime.end.p0i8(i64 64, i8* %v1) + call void @llvm.lifetime.end.p0i8(i64 64, i8* %v2) br label %arrayctor.cont.ret.exitStub } diff --git a/llvm/test/Transforms/CodeGenPrepare/builtin-condition.ll b/llvm/test/Transforms/CodeGenPrepare/builtin-condition.ll index 0d41e9e1edd..e42529a7b9a 100644 --- a/llvm/test/Transforms/CodeGenPrepare/builtin-condition.ll +++ b/llvm/test/Transforms/CodeGenPrepare/builtin-condition.ll @@ -74,39 +74,39 @@ entry: %chararray = alloca [30 x i8], align 16 %chararray2 = alloca [10 x i8], align 1 %0 = getelementptr inbounds [30 x i8], [30 x i8]* %chararray, i64 0, i64 0 - call void @llvm.lifetime.start(i64 30, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 30, i8* %0) %1 = getelementptr inbounds [10 x i8], [10 x i8]* %chararray2, i64 0, i64 0 - call void @llvm.lifetime.start(i64 10, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 10, i8* %1) %tobool = icmp eq i32 %flag, 0 %cptr.0 = select i1 %tobool, i8* %0, i8* %1 %2 = call i64 @llvm.objectsize.i64.p0i8(i8* %cptr.0, i1 true) - call void @llvm.lifetime.end(i64 10, i8* %1) - call void @llvm.lifetime.end(i64 30, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 10, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 30, i8* %0) ret i64 %2 ; CHECK-LABEL: foo1 ; CHECK: ret i64 10 } -declare void @llvm.lifetime.start(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) declare i64 @llvm.objectsize.i64.p0i8(i8*, i1) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) define i64 @foo2(i32 %n) { entry: %Small = alloca [10 x i8], align 1 %Large = alloca [20 x i8], align 16 %0 = getelementptr inbounds [10 x i8], [10 x i8]* %Small, i64 0, i64 0 - call void @llvm.lifetime.start(i64 10, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 10, i8* %0) %1 = getelementptr inbounds [20 x i8], [20 x i8]* %Large, i64 0, i64 0 - call void @llvm.lifetime.start(i64 20, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 20, i8* %1) %tobool = icmp ne i32 %n, 0 %add.ptr = getelementptr inbounds [20 x i8], [20 x i8]* %Large, i64 0, i64 19 %cond = select i1 %tobool, i8* %0, i8* %add.ptr %2 = call i64 @llvm.objectsize.i64.p0i8(i8* %cond, i1 false) - call void @llvm.lifetime.end(i64 20, i8* %1) - call void @llvm.lifetime.end(i64 10, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 20, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 10, i8* %0) ret i64 %2 ; CHECK-LABEL: foo2 ; CHECK: ret i64 10 diff --git a/llvm/test/Transforms/Coroutines/coro-split-dbg.ll b/llvm/test/Transforms/Coroutines/coro-split-dbg.ll index d214ce5b430..80f706879e5 100644 --- a/llvm/test/Transforms/Coroutines/coro-split-dbg.ll +++ b/llvm/test/Transforms/Coroutines/coro-split-dbg.ll @@ -43,7 +43,7 @@ coro_Suspend: ; preds = %for.cond, %if.then, } ; Function Attrs: argmemonly nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) #4 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #4 ; Function Attrs: argmemonly nounwind readonly declare token @llvm.coro.id(i32, i8* readnone, i8* nocapture readonly, i8*) #5 @@ -54,7 +54,7 @@ declare i64 @llvm.coro.size.i64() #1 declare i8* @llvm.coro.begin(token, i8* writeonly) #7 declare token @llvm.coro.save(i8*) #7 declare i8 @llvm.coro.suspend(token, i1) #7 -declare void @llvm.lifetime.end(i64, i8* nocapture) #4 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #4 declare i8* @llvm.coro.free(token, i8* nocapture readonly) #5 declare void @free(i8* nocapture) local_unnamed_addr #6 declare i1 @llvm.coro.end(i8*, i1) #7 diff --git a/llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll b/llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll index 0a6ba675a47..37b27b29445 100644 --- a/llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll +++ b/llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll @@ -13,14 +13,14 @@ target triple = "x86_64-unknown-linux-gnu" @.str = private unnamed_addr constant [8 x i8] c"a = %l\0A\00", align 1 ; Function Attrs: argmemonly nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) declare void @hoo(i64*) declare i32 @printf(i8* nocapture readonly, ...) ; Function Attrs: argmemonly nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) define void @goo(i32 %N, i64* %b) { entry: @@ -35,12 +35,12 @@ for.cond: ; preds = %for.body, %entry br i1 %cmp, label %for.body, label %for.end for.body: ; preds = %for.cond - call void @llvm.lifetime.start(i64 8, i8* %tmp) + call void @llvm.lifetime.start.p0i8(i64 8, i8* %tmp) call void @hoo(i64* %a.i) call void @hoo(i64* %c) %tmp1 = load volatile i64, i64* %a.i, align 8 %call.i = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i64 %tmp1) - call void @llvm.lifetime.end(i64 8, i8* %tmp) + call void @llvm.lifetime.end.p0i8(i64 8, i8* %tmp) %inc = add nsw i32 %i.0, 1 br label %for.cond diff --git a/llvm/test/Transforms/DeadStoreElimination/dominate.ll b/llvm/test/Transforms/DeadStoreElimination/dominate.ll index 638992bae72..24dd65e07bb 100644 --- a/llvm/test/Transforms/DeadStoreElimination/dominate.ll +++ b/llvm/test/Transforms/DeadStoreElimination/dominate.ll @@ -9,12 +9,12 @@ bb1: br label %bb3 bb2: - call void @llvm.lifetime.end(i64 -1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) br label %bb3 bb3: call void @bar() - call void @llvm.lifetime.end(i64 -1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) br label %bb4 bb4: @@ -22,4 +22,4 @@ bb4: } -declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind diff --git a/llvm/test/Transforms/DeadStoreElimination/lifetime.ll b/llvm/test/Transforms/DeadStoreElimination/lifetime.ll index 305c916dc02..97f199b5e0f 100644 --- a/llvm/test/Transforms/DeadStoreElimination/lifetime.ll +++ b/llvm/test/Transforms/DeadStoreElimination/lifetime.ll @@ -2,8 +2,8 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128" -declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind declare void @llvm.memset.p0i8.i8(i8* nocapture, i8, i8, i32, i1) nounwind define void @test1() { @@ -11,7 +11,7 @@ define void @test1() { %A = alloca i8 store i8 0, i8* %A ;; Written to by memset - call void @llvm.lifetime.end(i64 1, i8* %A) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %A) ; CHECK: lifetime.end call void @llvm.memset.p0i8.i8(i8* %A, i8 0, i8 -1, i32 0, i1 false) @@ -25,11 +25,11 @@ define void @test2(i32* %P) { ; CHECK: test2 %Q = getelementptr i32, i32* %P, i32 1 %R = bitcast i32* %Q to i8* - call void @llvm.lifetime.start(i64 4, i8* %R) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %R) ; CHECK: lifetime.start store i32 0, i32* %Q ;; This store is dead. ; CHECK-NOT: store - call void @llvm.lifetime.end(i64 4, i8* %R) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %R) ; CHECK: lifetime.end ret void } diff --git a/llvm/test/Transforms/GVN/cond_br2.ll b/llvm/test/Transforms/GVN/cond_br2.ll index baa282ec200..a3749510cb4 100644 --- a/llvm/test/Transforms/GVN/cond_br2.ll +++ b/llvm/test/Transforms/GVN/cond_br2.ll @@ -18,7 +18,7 @@ define void @_Z4testv() #0 personality i8* bitcast (i32 (...)* @__gxx_personalit entry: %sv = alloca %"class.llvm::SmallVector", align 16 %0 = bitcast %"class.llvm::SmallVector"* %sv to i8* - call void @llvm.lifetime.start(i64 64, i8* %0) #1 + call void @llvm.lifetime.start.p0i8(i64 64, i8* %0) #1 %BeginX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SmallVector", %"class.llvm::SmallVector"* %sv, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0 %FirstEl.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SmallVector", %"class.llvm::SmallVector"* %sv, i64 0, i32 0, i32 0, i32 0, i32 0, i32 3 %1 = bitcast %"union.llvm::SmallVectorBase::U"* %FirstEl.i.i.i.i.i.i to i8* @@ -94,7 +94,7 @@ if.then.i.i.i20: ; preds = %invoke.cont3 br label %_ZN4llvm11SmallVectorIiLj8EED1Ev.exit21 _ZN4llvm11SmallVectorIiLj8EED1Ev.exit21: ; preds = %invoke.cont3, %if.then.i.i.i20 - call void @llvm.lifetime.end(i64 64, i8* %0) #1 + call void @llvm.lifetime.end.p0i8(i64 64, i8* %0) #1 ret void lpad: ; preds = %if.end.i14, %if.end.i, %invoke.cont2 @@ -113,14 +113,14 @@ eh.resume: ; preds = %if.then.i.i.i, %lpa } ; Function Attrs: nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 declare i32 @__gxx_personality_v0(...) declare void @_Z1gRN4llvm11SmallVectorIiLj8EEE(%"class.llvm::SmallVector"*) #2 ; Function Attrs: nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 declare void @_ZN4llvm15SmallVectorBase8grow_podEmm(%"class.llvm::SmallVectorBase"*, i64, i64) #2 diff --git a/llvm/test/Transforms/GVN/lifetime-simple.ll b/llvm/test/Transforms/GVN/lifetime-simple.ll index d03b62c8158..8da3e4cbd30 100644 --- a/llvm/test/Transforms/GVN/lifetime-simple.ll +++ b/llvm/test/Transforms/GVN/lifetime-simple.ll @@ -8,13 +8,13 @@ define i8 @test(i8* %P) nounwind { ; CHECK-NOT: load ; CHECK: lifetime.end entry: - call void @llvm.lifetime.start(i64 32, i8* %P) + call void @llvm.lifetime.start.p0i8(i64 32, i8* %P) %0 = load i8, i8* %P store i8 1, i8* %P - call void @llvm.lifetime.end(i64 32, i8* %P) + call void @llvm.lifetime.end.p0i8(i64 32, i8* %P) %1 = load i8, i8* %P ret i8 %1 } -declare void @llvm.lifetime.start(i64 %S, i8* nocapture %P) readonly -declare void @llvm.lifetime.end(i64 %S, i8* nocapture %P) +declare void @llvm.lifetime.start.p0i8(i64 %S, i8* nocapture %P) readonly +declare void @llvm.lifetime.end.p0i8(i64 %S, i8* nocapture %P) diff --git a/llvm/test/Transforms/GVNHoist/pr29034.ll b/llvm/test/Transforms/GVNHoist/pr29034.ll index 5e725ad38c8..c0fcc3e741a 100644 --- a/llvm/test/Transforms/GVNHoist/pr29034.ll +++ b/llvm/test/Transforms/GVNHoist/pr29034.ll @@ -38,7 +38,7 @@ define void @music_task(i8* nocapture readnone %p) local_unnamed_addr { entry: %mapi = alloca %struct._MUSIC_OP_API_*, align 8 %0 = bitcast %struct._MUSIC_OP_API_** %mapi to i8* - call void @llvm.lifetime.start(i64 8, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 8, i8* %0) store %struct._MUSIC_OP_API_* null, %struct._MUSIC_OP_API_** %mapi, align 8, !tbaa !1 %call = call i32 @music_decoder_init(%struct._MUSIC_OP_API_** nonnull %mapi) br label %while.cond @@ -103,7 +103,7 @@ while.cond2.backedge: ; preds = %sw.default, %sw.bb1 br label %while.cond2 } -declare void @llvm.lifetime.start(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) declare i32 @music_decoder_init(%struct._MUSIC_OP_API_**) declare i32 @music_play_api(%struct._MUSIC_OP_API_*, i32, i32, i32, i8*) declare i32 @printf(i8* nocapture readonly, ...) diff --git a/llvm/test/Transforms/IndVarSimplify/exit_value_test2.ll b/llvm/test/Transforms/IndVarSimplify/exit_value_test2.ll index 24e3e95a891..ee641667506 100644 --- a/llvm/test/Transforms/IndVarSimplify/exit_value_test2.ll +++ b/llvm/test/Transforms/IndVarSimplify/exit_value_test2.ll @@ -8,14 +8,14 @@ ; CHECK-NOT: udiv declare void @_Z3mixRjj(i32* dereferenceable(4), i32) -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) define i32 @_Z3fooPKcjj(i8* nocapture readonly %s, i32 %len, i32 %c) { entry: %a = alloca i32, align 4 %tmp = bitcast i32* %a to i8* - call void @llvm.lifetime.start(i64 4, i8* %tmp) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %tmp) store i32 -1640531527, i32* %a, align 4 %cmp8 = icmp ugt i32 %len, 11 br i1 %cmp8, label %while.body.lr.ph, label %while.end @@ -47,6 +47,6 @@ while.end: ; preds = %while.cond.while.en %keylen.0.lcssa = phi i32 [ %sub.lcssa, %while.cond.while.end_crit_edge ], [ %len, %entry ] call void @_Z3mixRjj(i32* dereferenceable(4) %a, i32 %keylen.0.lcssa) %tmp4 = load i32, i32* %a, align 4 - call void @llvm.lifetime.end(i64 4, i8* %tmp) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %tmp) ret i32 %tmp4 } diff --git a/llvm/test/Transforms/Inline/alloca-bonus.ll b/llvm/test/Transforms/Inline/alloca-bonus.ll index 542dcee0fcb..c5c2ce11cc5 100644 --- a/llvm/test/Transforms/Inline/alloca-bonus.ll +++ b/llvm/test/Transforms/Inline/alloca-bonus.ll @@ -3,7 +3,7 @@ target datalayout = "p:32:32" -declare void @llvm.lifetime.start(i64 %size, i8* nocapture %ptr) +declare void @llvm.lifetime.start.p0i8(i64 %size, i8* nocapture %ptr) @glbl = external global i32 @@ -22,7 +22,7 @@ define void @inner1(i32 *%ptr) { %D = getelementptr inbounds i32, i32* %ptr, i32 1 %E = bitcast i32* %ptr to i8* %F = select i1 false, i32* %ptr, i32* @glbl - call void @llvm.lifetime.start(i64 0, i8* %E) + call void @llvm.lifetime.start.p0i8(i64 0, i8* %E) call void @extern() ret void } @@ -43,7 +43,7 @@ define void @inner2(i32 *%ptr) { %D = getelementptr inbounds i32, i32* %ptr, i32 %A %E = bitcast i32* %ptr to i8* %F = select i1 false, i32* %ptr, i32* @glbl - call void @llvm.lifetime.start(i64 0, i8* %E) + call void @llvm.lifetime.start.p0i8(i64 0, i8* %E) call void @extern() ret void } @@ -152,7 +152,7 @@ if.then: %D = getelementptr inbounds i32, i32* %ptr, i32 %A %E = bitcast i32* %ptr to i8* %F = select i1 false, i32* %ptr, i32* @glbl - call void @llvm.lifetime.start(i64 0, i8* %E) + call void @llvm.lifetime.start.p0i8(i64 0, i8* %E) ret void exit: diff --git a/llvm/test/Transforms/Inline/crash-lifetime-marker.ll b/llvm/test/Transforms/Inline/crash-lifetime-marker.ll index e7a594cdb5e..7196616521e 100644 --- a/llvm/test/Transforms/Inline/crash-lifetime-marker.ll +++ b/llvm/test/Transforms/Inline/crash-lifetime-marker.ll @@ -15,9 +15,9 @@ define i32 @callee1(i32 %count) { ; CHECK-LABEL: define i32 @caller1( ; CHECK: [[ALLOCA:%[a-z0-9\.]+]] = alloca i8 -; CHECK-NOT: call void @llvm.lifetime.start( +; CHECK-NOT: call void @llvm.lifetime.start.p0i8( ; CHECK: call i32 @callee2(i8* [[ALLOCA]]) -; CHECK-NOT: call void @llvm.lifetime.end( +; CHECK-NOT: call void @llvm.lifetime.end.p0i8( define i32 @caller1(i32 %count) { %call0 = call i32 @callee1(i32 0) diff --git a/llvm/test/Transforms/Inline/lifetime-no-datalayout.ll b/llvm/test/Transforms/Inline/lifetime-no-datalayout.ll index 0212e69d624..5d1872c6a24 100644 --- a/llvm/test/Transforms/Inline/lifetime-no-datalayout.ll +++ b/llvm/test/Transforms/Inline/lifetime-no-datalayout.ll @@ -13,9 +13,9 @@ define void @helper() { define void @test() { ; CHECK-LABEL: @test( ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.start(i64 1 +; CHECK: llvm.lifetime.start.p0i8(i64 1 ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.end(i64 1 +; CHECK: llvm.lifetime.end.p0i8(i64 1 call void @helper() ; CHECK-NOT: lifetime ; CHECK: ret void diff --git a/llvm/test/Transforms/Inline/lifetime.ll b/llvm/test/Transforms/Inline/lifetime.ll index 4f415e58f1b..c47091395fc 100644 --- a/llvm/test/Transforms/Inline/lifetime.ll +++ b/llvm/test/Transforms/Inline/lifetime.ll @@ -2,25 +2,25 @@ ; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" -declare void @llvm.lifetime.start(i64, i8*) -declare void @llvm.lifetime.end(i64, i8*) +declare void @llvm.lifetime.start.p0i8(i64, i8*) +declare void @llvm.lifetime.end.p0i8(i64, i8*) define void @helper_both_markers() { %a = alloca i8 ; Size in llvm.lifetime.start / llvm.lifetime.end differs from ; allocation size. We should use the former. - call void @llvm.lifetime.start(i64 2, i8* %a) - call void @llvm.lifetime.end(i64 2, i8* %a) + call void @llvm.lifetime.start.p0i8(i64 2, i8* %a) + call void @llvm.lifetime.end.p0i8(i64 2, i8* %a) ret void } define void @test_both_markers() { ; CHECK-LABEL: @test_both_markers( -; CHECK: llvm.lifetime.start(i64 2 -; CHECK-NEXT: llvm.lifetime.end(i64 2 +; CHECK: llvm.lifetime.start.p0i8(i64 2 +; CHECK-NEXT: llvm.lifetime.end.p0i8(i64 2 call void @helper_both_markers() -; CHECK-NEXT: llvm.lifetime.start(i64 2 -; CHECK-NEXT: llvm.lifetime.end(i64 2 +; CHECK-NEXT: llvm.lifetime.start.p0i8(i64 2 +; CHECK-NEXT: llvm.lifetime.end.p0i8(i64 2 call void @helper_both_markers() ; CHECK-NEXT: ret void ret void @@ -41,14 +41,14 @@ define void @helper_no_markers() { define void @test_no_marker() { ; CHECK-LABEL: @test_no_marker( ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.start(i64 1 +; CHECK: llvm.lifetime.start.p0i8(i64 1 ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.end(i64 1 +; CHECK: llvm.lifetime.end.p0i8(i64 1 call void @helper_no_markers() ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.start(i64 1 +; CHECK: llvm.lifetime.start.p0i8(i64 1 ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.end(i64 1 +; CHECK: llvm.lifetime.end.p0i8(i64 1 call void @helper_no_markers() ; CHECK-NOT: lifetime ; CHECK: ret void @@ -58,23 +58,23 @@ define void @test_no_marker() { define void @helper_two_casts() { %a = alloca i32 %b = bitcast i32* %a to i8* - call void @llvm.lifetime.start(i64 4, i8* %b) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %b) %c = bitcast i32* %a to i8* - call void @llvm.lifetime.end(i64 4, i8* %c) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %c) ret void } define void @test_two_casts() { ; CHECK-LABEL: @test_two_casts( ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.start(i64 4 +; CHECK: llvm.lifetime.start.p0i8(i64 4 ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.end(i64 4 +; CHECK: llvm.lifetime.end.p0i8(i64 4 call void @helper_two_casts() ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.start(i64 4 +; CHECK: llvm.lifetime.start.p0i8(i64 4 ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.end(i64 4 +; CHECK: llvm.lifetime.end.p0i8(i64 4 call void @helper_two_casts() ; CHECK-NOT: lifetime ; CHECK: ret void @@ -91,9 +91,9 @@ define void @helper_arrays_alloca() { define void @test_arrays_alloca() { ; CHECK-LABEL: @test_arrays_alloca( ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.start(i64 40, +; CHECK: llvm.lifetime.start.p0i8(i64 40, ; CHECK-NOT: lifetime -; CHECK: llvm.lifetime.end(i64 40, +; CHECK: llvm.lifetime.end.p0i8(i64 40, call void @helper_arrays_alloca() ; CHECK-NOT: lifetime ; CHECK: ret void diff --git a/llvm/test/Transforms/InstCombine/builtin-object-size-offset.ll b/llvm/test/Transforms/InstCombine/builtin-object-size-offset.ll index 7ab24a9acd9..248cf644df8 100644 --- a/llvm/test/Transforms/InstCombine/builtin-object-size-offset.ll +++ b/llvm/test/Transforms/InstCombine/builtin-object-size-offset.ll @@ -26,25 +26,25 @@ entry: %Big = alloca [20 x i8], align 16 %Small = alloca [10 x i8], align 1 %0 = getelementptr inbounds [20 x i8], [20 x i8]* %Big, i64 0, i64 0 - call void @llvm.lifetime.start(i64 20, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 20, i8* %0) %1 = getelementptr inbounds [10 x i8], [10 x i8]* %Small, i64 0, i64 0 - call void @llvm.lifetime.start(i64 10, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 10, i8* %1) %tobool = icmp ne i32 %N, 0 %add.ptr = getelementptr inbounds [20 x i8], [20 x i8]* %Big, i64 0, i64 10 %cond = select i1 %tobool, i8* %add.ptr, i8* %1 %2 = call i64 @llvm.objectsize.i64.p0i8(i8* %cond, i1 false) %conv = trunc i64 %2 to i32 - call void @llvm.lifetime.end(i64 10, i8* %1) - call void @llvm.lifetime.end(i64 20, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 10, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 20, i8* %0) ret i32 %conv ; CHECK: ret i32 10 } -declare void @llvm.lifetime.start(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) declare i64 @llvm.objectsize.i64.p0i8(i8*, i1) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) define void @foo() { entry: diff --git a/llvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll b/llvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll index b38513999dc..ada3fc16702 100644 --- a/llvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll +++ b/llvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll @@ -16,19 +16,19 @@ define i32 @foo() #0 { entry: %var = alloca %struct.V, align 4 %0 = bitcast %struct.V* %var to i8* - call void @llvm.lifetime.start(i64 28, i8* %0) #3 + call void @llvm.lifetime.start.p0i8(i64 28, i8* %0) #3 %buf1 = getelementptr inbounds %struct.V, %struct.V* %var, i32 0, i32 0 %arrayidx = getelementptr inbounds [10 x i8], [10 x i8]* %buf1, i64 0, i64 1 %1 = call i64 @llvm.objectsize.i64.p0i8(i8* %arrayidx, i1 false) %conv = trunc i64 %1 to i32 - call void @llvm.lifetime.end(i64 28, i8* %0) #3 + call void @llvm.lifetime.end.p0i8(i64 28, i8* %0) #3 ret i32 %conv ; CHECK: ret i32 27 ; CHECK-NOT: ret i32 -1 } -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 declare i64 @llvm.objectsize.i64.p0i8(i8*, i1) #2 -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 diff --git a/llvm/test/Transforms/InstCombine/compare-alloca.ll b/llvm/test/Transforms/InstCombine/compare-alloca.ll index ca24da19177..414a07825f2 100644 --- a/llvm/test/Transforms/InstCombine/compare-alloca.ll +++ b/llvm/test/Transforms/InstCombine/compare-alloca.ll @@ -72,15 +72,15 @@ define i1 @alloca_argument_compare_escaped_through_store(i64* %arg, i64** %ptr) ; CHECK: ret i1 %cmp } -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) define i1 @alloca_argument_compare_benign_instrs(i8* %arg) { %alloc = alloca i8 - call void @llvm.lifetime.start(i64 1, i8* %alloc) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %alloc) %cmp = icmp eq i8* %arg, %alloc %x = load i8, i8* %arg store i8 %x, i8* %alloc - call void @llvm.lifetime.end(i64 1, i8* %alloc) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %alloc) ret i1 %cmp ; CHECK-LABEL: alloca_argument_compare_benign_instrs ; CHECK: ret i1 false diff --git a/llvm/test/Transforms/InstCombine/deadcode.ll b/llvm/test/Transforms/InstCombine/deadcode.ll index 8fe673d8c9c..c5fa58babdb 100644 --- a/llvm/test/Transforms/InstCombine/deadcode.ll +++ b/llvm/test/Transforms/InstCombine/deadcode.ll @@ -22,12 +22,12 @@ define i32* @test2(i32 %width) { declare i8* @llvm.stacksave() -declare void @llvm.lifetime.start(i64, i8*) -declare void @llvm.lifetime.end(i64, i8*) +declare void @llvm.lifetime.start.p0i8(i64, i8*) +declare void @llvm.lifetime.end.p0i8(i64, i8*) define void @test3() { - call void @llvm.lifetime.start(i64 -1, i8* undef) - call void @llvm.lifetime.end(i64 -1, i8* undef) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* undef) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* undef) ret void } diff --git a/llvm/test/Transforms/InstCombine/lifetime-asan.ll b/llvm/test/Transforms/InstCombine/lifetime-asan.ll index f52c0202b77..7fdc1fcbc3b 100644 --- a/llvm/test/Transforms/InstCombine/lifetime-asan.ll +++ b/llvm/test/Transforms/InstCombine/lifetime-asan.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -instcombine -S | FileCheck %s -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @foo(i8* nocapture) define void @asan() sanitize_address { @@ -9,8 +9,8 @@ entry: ; CHECK-LABEL: @asan( %text = alloca i8, align 1 - call void @llvm.lifetime.start(i64 1, i8* %text) - call void @llvm.lifetime.end(i64 1, i8* %text) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %text) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %text) ; CHECK: call void @llvm.lifetime.start ; CHECK-NEXT: call void @llvm.lifetime.end @@ -25,8 +25,8 @@ entry: ; CHECK-LABEL: @no_asan( %text = alloca i8, align 1 - call void @llvm.lifetime.start(i64 1, i8* %text) - call void @llvm.lifetime.end(i64 1, i8* %text) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %text) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %text) ; CHECK-NO: call void @llvm.lifetime call void @foo(i8* %text) ; Keep alloca alive diff --git a/llvm/test/Transforms/InstCombine/lifetime.ll b/llvm/test/Transforms/InstCombine/lifetime.ll index c296d29b99b..71c676233b0 100644 --- a/llvm/test/Transforms/InstCombine/lifetime.ll +++ b/llvm/test/Transforms/InstCombine/lifetime.ll @@ -1,8 +1,8 @@ ; RUN: opt < %s -instcombine -S | FileCheck %s declare void @llvm.dbg.declare(metadata, metadata, metadata) -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @foo(i8* nocapture, i8* nocapture) define void @bar(i1 %flag) !dbg !4 { @@ -17,11 +17,11 @@ entry: ; CHECK: bb3: ; CHECK-NEXT: call void @llvm.dbg.declare ; CHECK-NEXT: br label %fin -; CHECK: call void @llvm.lifetime.start(i64 1, i8* %[[T]]) -; CHECK-NEXT: call void @llvm.lifetime.start(i64 1, i8* %[[B]]) +; CHECK: call void @llvm.lifetime.start.p0i8(i64 1, i8* %[[T]]) +; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 1, i8* %[[B]]) ; CHECK-NEXT: call void @foo(i8* %[[B]], i8* %[[T]]) -; CHECK-NEXT: call void @llvm.lifetime.end(i64 1, i8* %[[B]]) -; CHECK-NEXT: call void @llvm.lifetime.end(i64 1, i8* %[[T]]) +; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 1, i8* %[[B]]) +; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 1, i8* %[[T]]) %text = alloca [1 x i8], align 1 %buff = alloca [1 x i8], align 1 %0 = getelementptr inbounds [1 x i8], [1 x i8]* %text, i64 0, i64 0 @@ -29,31 +29,31 @@ entry: br i1 %flag, label %if, label %else if: - call void @llvm.lifetime.start(i64 1, i8* %0) - call void @llvm.lifetime.start(i64 1, i8* %1) - call void @llvm.lifetime.end(i64 1, i8* %1) - call void @llvm.lifetime.end(i64 1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %0) br label %bb2 bb2: - call void @llvm.lifetime.start(i64 1, i8* %0) - call void @llvm.lifetime.start(i64 1, i8* %1) - call void @llvm.lifetime.end(i64 1, i8* %0) - call void @llvm.lifetime.end(i64 1, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %1) br label %bb3 bb3: - call void @llvm.lifetime.start(i64 1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %0) call void @llvm.dbg.declare(metadata [1 x i8]* %text, metadata !14, metadata !25), !dbg !26 - call void @llvm.lifetime.end(i64 1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %0) br label %fin else: - call void @llvm.lifetime.start(i64 1, i8* %0) - call void @llvm.lifetime.start(i64 1, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 1, i8* %1) call void @foo(i8* %1, i8* %0) - call void @llvm.lifetime.end(i64 1, i8* %1) - call void @llvm.lifetime.end(i64 1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 1, i8* %0) br label %fin fin: diff --git a/llvm/test/Transforms/InstCombine/malloc-free-delete.ll b/llvm/test/Transforms/InstCombine/malloc-free-delete.ll index 8fcb8214360..7a5c7457e36 100644 --- a/llvm/test/Transforms/InstCombine/malloc-free-delete.ll +++ b/llvm/test/Transforms/InstCombine/malloc-free-delete.ll @@ -24,8 +24,8 @@ define i1 @foo() { ret i1 %z } -declare void @llvm.lifetime.start(i64, i8*) -declare void @llvm.lifetime.end(i64, i8*) +declare void @llvm.lifetime.start.p0i8(i64, i8*) +declare void @llvm.lifetime.end.p0i8(i64, i8*) declare i64 @llvm.objectsize.i64(i8*, i1) declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind declare void @llvm.memmove.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind @@ -35,8 +35,8 @@ define void @test3(i8* %src) { ; CHECK-LABEL: @test3( ; CHECK-NEXT: ret void %a = call noalias i8* @malloc(i32 10) - call void @llvm.lifetime.start(i64 10, i8* %a) - call void @llvm.lifetime.end(i64 10, i8* %a) + call void @llvm.lifetime.start.p0i8(i64 10, i8* %a) + call void @llvm.lifetime.end.p0i8(i64 10, i8* %a) %size = call i64 @llvm.objectsize.i64(i8* %a, i1 true) store i8 42, i8* %a call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %src, i32 32, i32 1, i1 false) diff --git a/llvm/test/Transforms/InstCombine/memcpy-from-global.ll b/llvm/test/Transforms/InstCombine/memcpy-from-global.ll index da38087d739..7c9384d89ba 100644 --- a/llvm/test/Transforms/InstCombine/memcpy-from-global.ll +++ b/llvm/test/Transforms/InstCombine/memcpy-from-global.ll @@ -126,11 +126,11 @@ define void @test4() { ret void } -declare void @llvm.lifetime.start(i64, i8*) +declare void @llvm.lifetime.start.p0i8(i64, i8*) define void @test5() { %A = alloca %T %a = bitcast %T* %A to i8* - call void @llvm.lifetime.start(i64 -1, i8* %a) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %a) call void @llvm.memcpy.p0i8.p0i8.i64(i8* %a, i8* bitcast (%T* @G to i8*), i64 124, i32 4, i1 false) call void @baz(i8* byval %a) ; CHECK-LABEL: @test5( diff --git a/llvm/test/Transforms/InstCombine/vararg.ll b/llvm/test/Transforms/InstCombine/vararg.ll index 263a7425a07..111cb4de7bc 100644 --- a/llvm/test/Transforms/InstCombine/vararg.ll +++ b/llvm/test/Transforms/InstCombine/vararg.ll @@ -2,8 +2,8 @@ %struct.__va_list = type { i8*, i8*, i8*, i32, i32 } -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @llvm.va_start(i8*) declare void @llvm.va_end(i8*) declare void @llvm.va_copy(i8*, i8*) @@ -17,14 +17,14 @@ entry: %va1 = alloca %struct.__va_list, align 8 %0 = bitcast %struct.__va_list* %va0 to i8* %1 = bitcast %struct.__va_list* %va1 to i8* - call void @llvm.lifetime.start(i64 32, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 32, i8* %0) call void @llvm.va_start(i8* %0) - call void @llvm.lifetime.start(i64 32, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 32, i8* %1) call void @llvm.va_copy(i8* %1, i8* %0) call void @llvm.va_end(i8* %1) - call void @llvm.lifetime.end(i64 32, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 32, i8* %1) call void @llvm.va_end(i8* %0) - call void @llvm.lifetime.end(i64 32, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 32, i8* %0) ret i32 0 } diff --git a/llvm/test/Transforms/LoopVectorize/lifetime.ll b/llvm/test/Transforms/LoopVectorize/lifetime.ll index 6e525ca1d82..860fe2d983c 100644 --- a/llvm/test/Transforms/LoopVectorize/lifetime.ll +++ b/llvm/test/Transforms/LoopVectorize/lifetime.ll @@ -13,23 +13,23 @@ define void @test(i32 *%d) { entry: %arr = alloca [1024 x i32], align 16 %0 = bitcast [1024 x i32]* %arr to i8* - call void @llvm.lifetime.start(i64 4096, i8* %0) #1 + call void @llvm.lifetime.start.p0i8(i64 4096, i8* %0) #1 br label %for.body for.body: %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] - call void @llvm.lifetime.end(i64 4096, i8* %0) #1 + call void @llvm.lifetime.end.p0i8(i64 4096, i8* %0) #1 %arrayidx = getelementptr inbounds i32, i32* %d, i64 %indvars.iv %1 = load i32, i32* %arrayidx, align 8 store i32 100, i32* %arrayidx, align 8 - call void @llvm.lifetime.start(i64 4096, i8* %0) #1 + call void @llvm.lifetime.start.p0i8(i64 4096, i8* %0) #1 %indvars.iv.next = add i64 %indvars.iv, 1 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 %exitcond = icmp ne i32 %lftr.wideiv, 128 br i1 %exitcond, label %for.body, label %for.end for.end: - call void @llvm.lifetime.end(i64 4096, i8* %0) #1 + call void @llvm.lifetime.end.p0i8(i64 4096, i8* %0) #1 ret void } @@ -42,24 +42,24 @@ define void @testbitcast(i32 *%d) { entry: %arr = alloca [1024 x i32], align 16 %0 = bitcast [1024 x i32]* %arr to i8* - call void @llvm.lifetime.start(i64 4096, i8* %0) #1 + call void @llvm.lifetime.start.p0i8(i64 4096, i8* %0) #1 br label %for.body for.body: %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] %1 = bitcast [1024 x i32]* %arr to i8* - call void @llvm.lifetime.end(i64 4096, i8* %1) #1 + call void @llvm.lifetime.end.p0i8(i64 4096, i8* %1) #1 %arrayidx = getelementptr inbounds i32, i32* %d, i64 %indvars.iv %2 = load i32, i32* %arrayidx, align 8 store i32 100, i32* %arrayidx, align 8 - call void @llvm.lifetime.start(i64 4096, i8* %1) #1 + call void @llvm.lifetime.start.p0i8(i64 4096, i8* %1) #1 %indvars.iv.next = add i64 %indvars.iv, 1 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 %exitcond = icmp ne i32 %lftr.wideiv, 128 br i1 %exitcond, label %for.body, label %for.end for.end: - call void @llvm.lifetime.end(i64 4096, i8* %0) #1 + call void @llvm.lifetime.end.p0i8(i64 4096, i8* %0) #1 ret void } @@ -77,11 +77,11 @@ for.body: %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] %0 = getelementptr [1024 x i32], [1024 x i32]* %arr, i32 0, i64 %indvars.iv %1 = bitcast [1024 x i32]* %arr to i8* - call void @llvm.lifetime.end(i64 4096, i8* %1) #1 + call void @llvm.lifetime.end.p0i8(i64 4096, i8* %1) #1 %arrayidx = getelementptr inbounds i32, i32* %d, i64 %indvars.iv %2 = load i32, i32* %arrayidx, align 8 store i32 100, i32* %arrayidx, align 8 - call void @llvm.lifetime.start(i64 4096, i8* %1) #1 + call void @llvm.lifetime.start.p0i8(i64 4096, i8* %1) #1 %indvars.iv.next = add i64 %indvars.iv, 1 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 %exitcond = icmp ne i32 %lftr.wideiv, 128 @@ -91,6 +91,6 @@ for.end: ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 diff --git a/llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll b/llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll index 12adaffc771..b996a659237 100644 --- a/llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll +++ b/llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll @@ -1,16 +1,16 @@ ; RUN: opt -mem2reg -S -o - < %s | FileCheck %s -declare void @llvm.lifetime.start(i64 %size, i8* nocapture %ptr) -declare void @llvm.lifetime.end(i64 %size, i8* nocapture %ptr) +declare void @llvm.lifetime.start.p0i8(i64 %size, i8* nocapture %ptr) +declare void @llvm.lifetime.end.p0i8(i64 %size, i8* nocapture %ptr) define void @test1() { ; CHECK: test1 ; CHECK-NOT: alloca %A = alloca i32 %B = bitcast i32* %A to i8* - call void @llvm.lifetime.start(i64 2, i8* %B) + call void @llvm.lifetime.start.p0i8(i64 2, i8* %B) store i32 1, i32* %A - call void @llvm.lifetime.end(i64 2, i8* %B) + call void @llvm.lifetime.end.p0i8(i64 2, i8* %B) ret void } @@ -19,8 +19,8 @@ define void @test2() { ; CHECK-NOT: alloca %A = alloca {i8, i16} %B = getelementptr {i8, i16}, {i8, i16}* %A, i32 0, i32 0 - call void @llvm.lifetime.start(i64 2, i8* %B) + call void @llvm.lifetime.start.p0i8(i64 2, i8* %B) store {i8, i16} zeroinitializer, {i8, i16}* %A - call void @llvm.lifetime.end(i64 2, i8* %B) + call void @llvm.lifetime.end.p0i8(i64 2, i8* %B) ret void } diff --git a/llvm/test/Transforms/MemCpyOpt/lifetime.ll b/llvm/test/Transforms/MemCpyOpt/lifetime.ll index 6a7e44692da..77b495f2b58 100644 --- a/llvm/test/Transforms/MemCpyOpt/lifetime.ll +++ b/llvm/test/Transforms/MemCpyOpt/lifetime.ll @@ -4,8 +4,8 @@ ; @llvm.lifetime.start and @llvm.memcpy. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #1 -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 define void @_ZN4CordC2EOS_(i8* nocapture dereferenceable(16) %arg1) { bb: @@ -14,11 +14,11 @@ bb: ; CHECK: ret void %tmp = alloca [8 x i8], align 8 %tmp5 = bitcast [8 x i8]* %tmp to i8* - call void @llvm.lifetime.start(i64 16, i8* %tmp5) + call void @llvm.lifetime.start.p0i8(i64 16, i8* %tmp5) %tmp10 = getelementptr inbounds i8, i8* %tmp5, i64 7 store i8 0, i8* %tmp10, align 1 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg1, i8* %tmp5, i64 16, i32 8, i1 false) - call void @llvm.lifetime.end(i64 16, i8* %tmp5) + call void @llvm.lifetime.end.p0i8(i64 16, i8* %tmp5) ret void } diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll b/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll index e3e57f09d88..e21dc87cb6a 100644 --- a/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll +++ b/llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll @@ -7,11 +7,11 @@ define void @foo([8 x i64]* noalias nocapture sret dereferenceable(64) %sret) { entry-block: %a = alloca [8 x i64], align 8 %a.cast = bitcast [8 x i64]* %a to i8* - call void @llvm.lifetime.start(i64 64, i8* %a.cast) + call void @llvm.lifetime.start.p0i8(i64 64, i8* %a.cast) call void @llvm.memset.p0i8.i64(i8* %a.cast, i8 0, i64 64, i32 8, i1 false) %sret.cast = bitcast [8 x i64]* %sret to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret.cast, i8* %a.cast, i64 64, i32 8, i1 false) - call void @llvm.lifetime.end(i64 64, i8* %a.cast) + call void @llvm.lifetime.end.p0i8(i64 64, i8* %a.cast) ret void ; CHECK-LABEL: @foo( @@ -25,14 +25,14 @@ define void @bar([8 x i64]* noalias nocapture sret dereferenceable(64) %sret, [8 entry-block: %a = alloca [8 x i64], align 8 %a.cast = bitcast [8 x i64]* %a to i8* - call void @llvm.lifetime.start(i64 64, i8* %a.cast) + call void @llvm.lifetime.start.p0i8(i64 64, i8* %a.cast) call void @llvm.memset.p0i8.i64(i8* %a.cast, i8 0, i64 64, i32 8, i1 false) %sret.cast = bitcast [8 x i64]* %sret to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret.cast, i8* %a.cast, i64 64, i32 8, i1 false) call void @llvm.memset.p0i8.i64(i8* %a.cast, i8 42, i64 32, i32 8, i1 false) %out.cast = bitcast [8 x i64]* %out to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* %out.cast, i8* %a.cast, i64 64, i32 8, i1 false) - call void @llvm.lifetime.end(i64 64, i8* %a.cast) + call void @llvm.lifetime.end.p0i8(i64 64, i8* %a.cast) ret void ; CHECK-LABEL: @bar( @@ -48,8 +48,8 @@ entry-block: ; CHECK: ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) nounwind declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind diff --git a/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll b/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll index c75d020c078..06a41829a4e 100644 --- a/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll +++ b/llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll @@ -22,7 +22,7 @@ define i32 @test1(%struct.foo* nocapture %foobie) nounwind noinline ssp uwtable } define void @test2(i8* sret noalias nocapture %out, i8* %in) nounwind noinline ssp uwtable { - call void @llvm.lifetime.start(i64 8, i8* %in) + call void @llvm.lifetime.start.p0i8(i64 8, i8* %in) call void @llvm.memcpy.p0i8.p0i8.i64(i8* %out, i8* %in, i64 8, i32 1, i1 false) ret void @@ -32,7 +32,7 @@ define void @test2(i8* sret noalias nocapture %out, i8* %in) nounwind noinline s } define void @test3(i8* sret noalias nocapture %out, i8* %in) nounwind noinline ssp uwtable { - call void @llvm.lifetime.start(i64 4, i8* %in) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %in) call void @llvm.memcpy.p0i8.p0i8.i64(i8* %out, i8* %in, i64 8, i32 1, i1 false) ret void @@ -43,4 +43,4 @@ define void @test3(i8* sret noalias nocapture %out, i8* %in) nounwind noinline s declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind diff --git a/llvm/test/Transforms/MemCpyOpt/pr29105.ll b/llvm/test/Transforms/MemCpyOpt/pr29105.ll index 0d377837226..03b176c4d24 100644 --- a/llvm/test/Transforms/MemCpyOpt/pr29105.ll +++ b/llvm/test/Transforms/MemCpyOpt/pr29105.ll @@ -11,25 +11,25 @@ entry-block: %0 = bitcast [2048 x i64]* %tmp0 to i8* %tmp2 = alloca %Foo, align 8 %x.sroa.0.0..sroa_cast6 = bitcast [2048 x i64]* %x.sroa.0 to i8* - call void @llvm.lifetime.start(i64 16384, i8* %x.sroa.0.0..sroa_cast6) - call void @llvm.lifetime.start(i64 16384, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 16384, i8* %x.sroa.0.0..sroa_cast6) + call void @llvm.lifetime.start.p0i8(i64 16384, i8* %0) call void @llvm.memset.p0i8.i64(i8* %0, i8 0, i64 16384, i32 8, i1 false) call void @llvm.memcpy.p0i8.p0i8.i64(i8* %x.sroa.0.0..sroa_cast6, i8* %0, i64 16384, i32 8, i1 false) - call void @llvm.lifetime.end(i64 16384, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 16384, i8* %0) %1 = bitcast %Foo* %tmp2 to i8* - call void @llvm.lifetime.start(i64 16384, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 16384, i8* %1) call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %x.sroa.0.0..sroa_cast6, i64 16384, i32 8, i1 false) call void @bar(%Foo* noalias nocapture nonnull dereferenceable(16384) %tmp2) - call void @llvm.lifetime.end(i64 16384, i8* %1) - call void @llvm.lifetime.end(i64 16384, i8* %x.sroa.0.0..sroa_cast6) + call void @llvm.lifetime.end.p0i8(i64 16384, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 16384, i8* %x.sroa.0.0..sroa_cast6) ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #1 -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 declare void @bar(%Foo* noalias nocapture readonly dereferenceable(16384)) unnamed_addr #0 diff --git a/llvm/test/Transforms/NewGVN/cond_br2.ll b/llvm/test/Transforms/NewGVN/cond_br2.ll index e511ff7ed51..ff7a76d1469 100644 --- a/llvm/test/Transforms/NewGVN/cond_br2.ll +++ b/llvm/test/Transforms/NewGVN/cond_br2.ll @@ -19,7 +19,7 @@ define void @_Z4testv() #0 personality i8* bitcast (i32 (...)* @__gxx_personalit entry: %sv = alloca %"class.llvm::SmallVector", align 16 %0 = bitcast %"class.llvm::SmallVector"* %sv to i8* - call void @llvm.lifetime.start(i64 64, i8* %0) #1 + call void @llvm.lifetime.start.p0i8(i64 64, i8* %0) #1 %BeginX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SmallVector", %"class.llvm::SmallVector"* %sv, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0 %FirstEl.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SmallVector", %"class.llvm::SmallVector"* %sv, i64 0, i32 0, i32 0, i32 0, i32 0, i32 3 %1 = bitcast %"union.llvm::SmallVectorBase::U"* %FirstEl.i.i.i.i.i.i to i8* @@ -95,7 +95,7 @@ if.then.i.i.i20: ; preds = %invoke.cont3 br label %_ZN4llvm11SmallVectorIiLj8EED1Ev.exit21 _ZN4llvm11SmallVectorIiLj8EED1Ev.exit21: ; preds = %invoke.cont3, %if.then.i.i.i20 - call void @llvm.lifetime.end(i64 64, i8* %0) #1 + call void @llvm.lifetime.end.p0i8(i64 64, i8* %0) #1 ret void lpad: ; preds = %if.end.i14, %if.end.i, %invoke.cont2 @@ -114,14 +114,14 @@ eh.resume: ; preds = %if.then.i.i.i, %lpa } ; Function Attrs: nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 declare i32 @__gxx_personality_v0(...) declare void @_Z1gRN4llvm11SmallVectorIiLj8EEE(%"class.llvm::SmallVector"*) #2 ; Function Attrs: nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 declare void @_ZN4llvm15SmallVectorBase8grow_podEmm(%"class.llvm::SmallVectorBase"*, i64, i64) #2 diff --git a/llvm/test/Transforms/NewGVN/lifetime-simple.ll b/llvm/test/Transforms/NewGVN/lifetime-simple.ll index 63e361c49eb..382c7da2b3f 100644 --- a/llvm/test/Transforms/NewGVN/lifetime-simple.ll +++ b/llvm/test/Transforms/NewGVN/lifetime-simple.ll @@ -8,13 +8,13 @@ define i8 @test(i8* %P) nounwind { ; CHECK-NOT: load ; CHECK: lifetime.end entry: - call void @llvm.lifetime.start(i64 32, i8* %P) + call void @llvm.lifetime.start.p0i8(i64 32, i8* %P) %0 = load i8, i8* %P store i8 1, i8* %P - call void @llvm.lifetime.end(i64 32, i8* %P) + call void @llvm.lifetime.end.p0i8(i64 32, i8* %P) %1 = load i8, i8* %P ret i8 %1 } -declare void @llvm.lifetime.start(i64 %S, i8* nocapture %P) readonly -declare void @llvm.lifetime.end(i64 %S, i8* nocapture %P) +declare void @llvm.lifetime.start.p0i8(i64 %S, i8* nocapture %P) readonly +declare void @llvm.lifetime.end.p0i8(i64 %S, i8* nocapture %P) diff --git a/llvm/test/Transforms/SROA/basictest.ll b/llvm/test/Transforms/SROA/basictest.ll index 70096f37be0..aa00e89ea04 100644 --- a/llvm/test/Transforms/SROA/basictest.ll +++ b/llvm/test/Transforms/SROA/basictest.ll @@ -3,8 +3,8 @@ target datalayout = "e-p:64:64:64-p1:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-n8:16:32:64" -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) define i32 @test0() { ; CHECK-LABEL: @test0( @@ -16,22 +16,22 @@ entry: %a2 = alloca float %a1.i8 = bitcast i32* %a1 to i8* - call void @llvm.lifetime.start(i64 4, i8* %a1.i8) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %a1.i8) store i32 0, i32* %a1 %v1 = load i32, i32* %a1 - call void @llvm.lifetime.end(i64 4, i8* %a1.i8) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %a1.i8) %a2.i8 = bitcast float* %a2 to i8* - call void @llvm.lifetime.start(i64 4, i8* %a2.i8) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %a2.i8) store float 0.0, float* %a2 %v2 = load float , float * %a2 %v2.int = bitcast float %v2 to i32 %sum1 = add i32 %v1, %v2.int - call void @llvm.lifetime.end(i64 4, i8* %a2.i8) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %a2.i8) ret i32 %sum1 } @@ -1057,7 +1057,7 @@ define void @PR14059.1(double* %d) { entry: %X.sroa.0.i = alloca double, align 8 %0 = bitcast double* %X.sroa.0.i to i8* - call void @llvm.lifetime.start(i64 -1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %0) ; Store to the low 32-bits... %X.sroa.0.0.cast2.i = bitcast double* %X.sroa.0.i to i32* @@ -1084,7 +1084,7 @@ entry: %accum.real.i = load double, double* %d, align 8 %add.r.i = fadd double %accum.real.i, %X.sroa.0.0.load1.i store double %add.r.i, double* %d, align 8 - call void @llvm.lifetime.end(i64 -1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) ret void } @@ -1652,7 +1652,7 @@ define void @PR25873(%struct.STest* %outData) { entry: %tmpData = alloca %struct.STest, align 8 %0 = bitcast %struct.STest* %tmpData to i8* - call void @llvm.lifetime.start(i64 16, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 16, i8* %0) %x = getelementptr inbounds %struct.STest, %struct.STest* %tmpData, i64 0, i32 0, i32 0 store float 1.230000e+02, float* %x, align 8 %y = getelementptr inbounds %struct.STest, %struct.STest* %tmpData, i64 0, i32 0, i32 1 @@ -1664,7 +1664,7 @@ entry: store i64 %3, i64* %2, align 8 %4 = bitcast %struct.STest* %outData to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* %0, i64 16, i32 4, i1 false) - call void @llvm.lifetime.end(i64 16, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 16, i8* %0) ret void } @@ -1677,10 +1677,10 @@ define void @PR27999() unnamed_addr { entry-block: %0 = alloca [2 x i64], align 8 %1 = bitcast [2 x i64]* %0 to i8* - call void @llvm.lifetime.start(i64 16, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 16, i8* %1) %2 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i32 0, i32 1 %3 = bitcast i64* %2 to i8* - call void @llvm.lifetime.end(i64 8, i8* %3) + call void @llvm.lifetime.end.p0i8(i64 8, i8* %3) ret void } @@ -1692,6 +1692,6 @@ bb1: %e.7.sroa.6.i = alloca i32, align 1 %e.7.sroa.6.0.load81.i = load i32, i32* %e.7.sroa.6.i, align 1 %0 = bitcast i32* %e.7.sroa.6.i to i8* - call void @llvm.lifetime.end(i64 2, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 2, i8* %0) ret void } diff --git a/llvm/test/Transforms/SROA/pr26972.ll b/llvm/test/Transforms/SROA/pr26972.ll index a71058c05b9..3140a805fc4 100644 --- a/llvm/test/Transforms/SROA/pr26972.ll +++ b/llvm/test/Transforms/SROA/pr26972.ll @@ -10,8 +10,8 @@ target triple = "x86_64-pc-linux" define void @fn1() { %a = alloca [1073741825 x i32], align 16 %t0 = bitcast [1073741825 x i32]* %a to i8* - call void @llvm.lifetime.end(i64 4294967300, i8* %t0) + call void @llvm.lifetime.end.p0i8(i64 4294967300, i8* %t0) ret void } -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) diff --git a/llvm/test/Transforms/SROA/vector-lifetime-intrinsic.ll b/llvm/test/Transforms/SROA/vector-lifetime-intrinsic.ll index 37cf394382a..abb5cb2ea33 100644 --- a/llvm/test/Transforms/SROA/vector-lifetime-intrinsic.ll +++ b/llvm/test/Transforms/SROA/vector-lifetime-intrinsic.ll @@ -3,10 +3,10 @@ target datalayout = "e-p:64:32-i64:32-v32:32-n32-S64" ; Function Attrs: nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) #0 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0 ; Function Attrs: nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) #0 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0 ; CHECK: @wombat ; CHECK-NOT: alloca @@ -15,12 +15,12 @@ define void @wombat(<4 x float> %arg1) { bb: %tmp = alloca <4 x float>, align 16 %tmp8 = bitcast <4 x float>* %tmp to i8* - call void @llvm.lifetime.start(i64 16, i8* %tmp8) + call void @llvm.lifetime.start.p0i8(i64 16, i8* %tmp8) store <4 x float> %arg1, <4 x float>* %tmp, align 16 %tmp17 = bitcast <4 x float>* %tmp to <3 x float>* %tmp18 = load <3 x float>, <3 x float>* %tmp17 %tmp20 = bitcast <4 x float>* %tmp to i8* - call void @llvm.lifetime.end(i64 16, i8* %tmp20) + call void @llvm.lifetime.end.p0i8(i64 16, i8* %tmp20) call void @wombat3(<3 x float> %tmp18) ret void } diff --git a/llvm/test/Transforms/SafeStack/X86/call.ll b/llvm/test/Transforms/SafeStack/X86/call.ll index cbac4ce1bb0..2d78bb1a689 100644 --- a/llvm/test/Transforms/SafeStack/X86/call.ll +++ b/llvm/test/Transforms/SafeStack/X86/call.ll @@ -159,8 +159,8 @@ define void @call_lifetime(i32* %p) { entry: %q = alloca [100 x i8], align 16 %0 = bitcast [100 x i8]* %q to i8* - call void @llvm.lifetime.start(i64 100, i8* %0) - call void @llvm.lifetime.end(i64 100, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 100, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 100, i8* %0) ret void } @@ -174,5 +174,5 @@ declare void @readnone0(i8* nocapture readnone, i8* nocapture) declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind argmemonly -declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind argmemonly -declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind argmemonly +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind argmemonly +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind argmemonly diff --git a/llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll b/llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll index d71babe200d..3b04fdf13fb 100644 --- a/llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll +++ b/llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll @@ -16,19 +16,19 @@ entry: %x0 = bitcast i64* %x to i8* %y0 = bitcast i64* %y to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -16 call void @capture64(i64* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -16 call void @capture64(i64* %y) - call void @llvm.lifetime.end(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %y0) ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @capture64(i64*) diff --git a/llvm/test/Transforms/SafeStack/X86/coloring.ll b/llvm/test/Transforms/SafeStack/X86/coloring.ll index 3ed9ccb43f3..76bdf37dbf4 100644 --- a/llvm/test/Transforms/SafeStack/X86/coloring.ll +++ b/llvm/test/Transforms/SafeStack/X86/coloring.ll @@ -10,35 +10,35 @@ entry: %x1 = alloca i32, align 4 %x2 = alloca i32, align 4 %0 = bitcast i32* %x to i8* - call void @llvm.lifetime.start(i64 4, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) ; CHECK: %[[A1:.*]] = getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: %[[A2:.*]] = bitcast i8* %[[A1]] to i32* ; CHECK: call void @capture(i32* nonnull %[[A2]]) call void @capture(i32* nonnull %x) - call void @llvm.lifetime.end(i64 4, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) %1 = bitcast i32* %x1 to i8* - call void @llvm.lifetime.start(i64 4, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %1) ; CHECK: %[[B1:.*]] = getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: %[[B2:.*]] = bitcast i8* %[[B1]] to i32* ; CHECK: call void @capture(i32* nonnull %[[B2]]) call void @capture(i32* nonnull %x1) - call void @llvm.lifetime.end(i64 4, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %1) %2 = bitcast i32* %x2 to i8* - call void @llvm.lifetime.start(i64 4, i8* %2) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %2) ; CHECK: %[[C1:.*]] = getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: %[[C2:.*]] = bitcast i8* %[[C1]] to i32* ; CHECK: call void @capture(i32* nonnull %[[C2]]) call void @capture(i32* nonnull %x2) - call void @llvm.lifetime.end(i64 4, i8* %2) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %2) ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @capture(i32*) diff --git a/llvm/test/Transforms/SafeStack/X86/coloring2.ll b/llvm/test/Transforms/SafeStack/X86/coloring2.ll index f3ac6d735c9..2a8f871945f 100644 --- a/llvm/test/Transforms/SafeStack/X86/coloring2.ll +++ b/llvm/test/Transforms/SafeStack/X86/coloring2.ll @@ -15,21 +15,21 @@ entry: %y0 = bitcast i32* %y to i8* %z0 = bitcast i32* %z to i8* - call void @llvm.lifetime.start(i64 -1, i8* %z0) - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %z0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 call void @capture32(i32* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 call void @capture32(i32* %y) - call void @llvm.lifetime.end(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 call void @capture32(i32* %z) - call void @llvm.lifetime.end(i64 -1, i8* %z0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %z0) ret void } @@ -44,11 +44,11 @@ entry: %y = alloca i32, align 4 %x0 = bitcast i32* %x to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 call void @capture32(i32* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 call void @capture32(i32* %y) @@ -70,21 +70,21 @@ entry: %y0 = bitcast i32* %y to i8* %z0 = bitcast i64* %z to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 call void @capture32(i32* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 call void @capture32(i32* %y) - call void @llvm.lifetime.end(i64 -1, i8* %y0) - call void @llvm.lifetime.start(i64 -1, i8* %z0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %z0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 call void @capture64(i64* %z) - call void @llvm.lifetime.end(i64 -1, i8* %z0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %z0) ret void } @@ -103,9 +103,9 @@ entry: %y0 = bitcast i32* %y to i8* %z0 = bitcast i64* %z to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) - call void @llvm.lifetime.start(i64 -1, i8* %y0) - call void @llvm.lifetime.start(i64 -1, i8* %z0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %z0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -16 call void @capture32(i32* %x) @@ -116,9 +116,9 @@ entry: ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 call void @capture64(i64* %z) - call void @llvm.lifetime.end(i64 -1, i8* %x0) - call void @llvm.lifetime.end(i64 -1, i8* %y0) - call void @llvm.lifetime.end(i64 -1, i8* %z0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %z0) ret void } @@ -156,9 +156,9 @@ entry: %z1 = alloca i64, align 8 %z2 = alloca i64, align 8 %0 = bitcast i64* %x1 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %0) %1 = bitcast i64* %x2 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %1) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %x1) @@ -169,7 +169,7 @@ entry: if.then: ; preds = %entry %2 = bitcast i64* %y to i8* - call void @llvm.lifetime.start(i64 -1, i8* %2) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %2) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -24 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %y) @@ -177,29 +177,29 @@ if.then: ; preds = %entry if.then3: ; preds = %if.then %3 = bitcast i64* %y1 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %3) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %3) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -32 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %y1) - call void @llvm.lifetime.end(i64 -1, i8* %3) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %3) br label %if.end if.else: ; preds = %if.then %4 = bitcast i64* %y2 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %4) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %4) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -32 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %y2) - call void @llvm.lifetime.end(i64 -1, i8* %4) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %4) br label %if.end if.end: ; preds = %if.else, %if.then3 - call void @llvm.lifetime.end(i64 -1, i8* %2) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %2) br label %if.end9 if.else4: ; preds = %entry %5 = bitcast i64* %z to i8* - call void @llvm.lifetime.start(i64 -1, i8* %5) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %5) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -24 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %z) @@ -207,29 +207,29 @@ if.else4: ; preds = %entry if.then6: ; preds = %if.else4 %6 = bitcast i64* %z1 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %6) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %6) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -32 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %z1) - call void @llvm.lifetime.end(i64 -1, i8* %6) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %6) br label %if.end8 if.else7: ; preds = %if.else4 %7 = bitcast i64* %z2 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %7) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %7) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -32 ; CHECK: call void @capture64( call void @capture64(i64* nonnull %z2) - call void @llvm.lifetime.end(i64 -1, i8* %7) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %7) br label %if.end8 if.end8: ; preds = %if.else7, %if.then6 - call void @llvm.lifetime.end(i64 -1, i8* %5) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %5) br label %if.end9 if.end9: ; preds = %if.end8, %if.end - call void @llvm.lifetime.end(i64 -1, i8* %1) - call void @llvm.lifetime.end(i64 -1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) ret void } @@ -243,21 +243,21 @@ entry: %y = alloca i32, align 4 %x0 = bitcast i32* %x to i8* %y0 = bitcast i32* %y to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %x) br i1 %d, label %bb2, label %bb3 bb2: - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 ; CHECK: call void @capture32( call void @capture32(i32* %y) - call void @llvm.lifetime.end(i64 -1, i8* %y0) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) ret void bb3: - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) ret void } @@ -270,18 +270,18 @@ entry: %y = alloca i32, align 4 %x0 = bitcast i32* %x to i8* %y0 = bitcast i32* %y to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) br i1 %d, label %bb2, label %bb3 bb2: - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %y) - call void @llvm.lifetime.end(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %y0) ret void bb3: ret void @@ -297,14 +297,14 @@ entry: %y = alloca i32, align 4 %x0 = bitcast i32* %x to i8* %y0 = bitcast i32* %y to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) br i1 %d, label %bb2, label %bb3 bb2: - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %y) @@ -323,14 +323,14 @@ entry: %y = alloca i32, align 4 %x0 = bitcast i32* %x to i8* %y0 = bitcast i32* %y to i8* - call void @llvm.lifetime.start(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %x) br i1 %d, label %bb2, label %bb3 bb2: - call void @llvm.lifetime.end(i64 -1, i8* %x0) - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %y) @@ -352,10 +352,10 @@ entry: ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 ; CHECK: call void @capture32( call void @capture32(i32* %x) - call void @llvm.lifetime.end(i64 -1, i8* %x0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %x0) br i1 %d, label %bb2, label %bb3 bb2: - call void @llvm.lifetime.start(i64 -1, i8* %y0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %y0) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 ; CHECK: call void @capture32( call void @capture32(i32* %y) @@ -374,29 +374,29 @@ entry: %A.i = alloca [100 x i32], align 4 %B.i = alloca [100 x i32], align 4 %0 = bitcast [100 x i32]* %A.i to i8* - call void @llvm.lifetime.start(i64 -1, i8* %0) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %0) %1 = bitcast [100 x i32]* %B.i to i8* - call void @llvm.lifetime.start(i64 -1, i8* %1) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %1) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -400 ; CHECK: call void @capture100x32( call void @capture100x32([100 x i32]* %A.i) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -800 ; CHECK: call void @capture100x32( call void @capture100x32([100 x i32]* %B.i) - call void @llvm.lifetime.end(i64 -1, i8* %0) - call void @llvm.lifetime.end(i64 -1, i8* %1) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %1) %2 = bitcast [100 x i32]* %A.i1 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %2) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %2) %3 = bitcast [100 x i32]* %B.i2 to i8* - call void @llvm.lifetime.start(i64 -1, i8* %3) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %3) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -400 ; CHECK: call void @capture100x32( call void @capture100x32([100 x i32]* %A.i1) ; CHECK: getelementptr i8, i8* %[[USP]], i32 -800 ; CHECK: call void @capture100x32( call void @capture100x32([100 x i32]* %B.i2) - call void @llvm.lifetime.end(i64 -1, i8* %2) - call void @llvm.lifetime.end(i64 -1, i8* %3) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %2) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %3) ret void } @@ -408,11 +408,11 @@ entry: %buf1 = alloca i8, i32 100000, align 16 %buf2 = alloca i8, i32 100000, align 16 - call void @llvm.lifetime.start(i64 -1, i8* %buf1) - call void @llvm.lifetime.end(i64 -1, i8* %buf1) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %buf1) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %buf1) - call void @llvm.lifetime.start(i64 -1, i8* %buf1) - call void @llvm.lifetime.start(i64 -1, i8* %buf2) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %buf1) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %buf2) call void @capture8(i8* %buf1) call void @capture8(i8* %buf2) ret void @@ -435,13 +435,13 @@ entry: %A.i = alloca [100 x i32], align 4 %B.i = alloca [100 x i32], align 4 %0 = bitcast [100 x i32]* %A.i to i8* - call void @llvm.lifetime.start(i64 -1, i8* %0) nounwind + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %0) nounwind %1 = bitcast [100 x i32]* %B.i to i8* - call void @llvm.lifetime.start(i64 -1, i8* %1) nounwind + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %1) nounwind call void @capture100x32([100 x i32]* %A.i) call void @capture100x32([100 x i32]* %B.i) - call void @llvm.lifetime.end(i64 -1, i8* %0) nounwind - call void @llvm.lifetime.end(i64 -1, i8* %1) nounwind + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) nounwind + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %1) nounwind br label %block2 block2: @@ -464,13 +464,13 @@ entry: %b8 = bitcast [4 x %struct.Klass]* %b.i to i8* ; I am used outside the lifetime zone below: %z2 = getelementptr inbounds [4 x %struct.Klass], [4 x %struct.Klass]* %a.i, i64 0, i64 0, i32 0 - call void @llvm.lifetime.start(i64 -1, i8* %a8) - call void @llvm.lifetime.start(i64 -1, i8* %b8) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %a8) + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b8) call void @capture8(i8* %a8) call void @capture8(i8* %b8) %z3 = load i32, i32* %z2, align 16 - call void @llvm.lifetime.end(i64 -1, i8* %a8) - call void @llvm.lifetime.end(i64 -1, i8* %b8) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %a8) + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b8) ret i32 %z3 } @@ -480,12 +480,12 @@ entry: ; CHECK: %[[USP:.*]] = load i8*, i8** @__safestack_unsafe_stack_ptr ; CHECK-NEXT: getelementptr i8, i8* %[[USP]], i32 -16 %x = alloca i8, align 4 - call void @llvm.lifetime.start(i64 4, i8* %x) nounwind + call void @llvm.lifetime.start.p0i8(i64 4, i8* %x) nounwind br label %l2 l2: call void @capture8(i8* %x) - call void @llvm.lifetime.end(i64 4, i8* %x) nounwind + call void @llvm.lifetime.end.p0i8(i64 4, i8* %x) nounwind br label %l2 } @@ -498,23 +498,23 @@ entry: ; CHECK-NEXT: getelementptr i8, i8* %[[USP]], i32 -16 %x = alloca i8, align 4 %y = alloca i8, align 4 - call void @llvm.lifetime.start(i64 4, i8* %x) nounwind + call void @llvm.lifetime.start.p0i8(i64 4, i8* %x) nounwind br label %l2 l2: ; CHECK: getelementptr i8, i8* %[[USP]], i32 -8 - call void @llvm.lifetime.start(i64 4, i8* %y) nounwind + call void @llvm.lifetime.start.p0i8(i64 4, i8* %y) nounwind call void @capture8(i8* %y) - call void @llvm.lifetime.end(i64 4, i8* %y) nounwind + call void @llvm.lifetime.end.p0i8(i64 4, i8* %y) nounwind ; CHECK: getelementptr i8, i8* %[[USP]], i32 -4 - call void @llvm.lifetime.start(i64 4, i8* %x) nounwind + call void @llvm.lifetime.start.p0i8(i64 4, i8* %x) nounwind call void @capture8(i8* %x) br label %l2 } -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @capture8(i8*) declare void @capture32(i32*) declare void @capture64(i64*) diff --git a/llvm/test/Transforms/SafeStack/X86/debug-loc2.ll b/llvm/test/Transforms/SafeStack/X86/debug-loc2.ll index 35e9b7711d2..8059a722fd4 100644 --- a/llvm/test/Transforms/SafeStack/X86/debug-loc2.ll +++ b/llvm/test/Transforms/SafeStack/X86/debug-loc2.ll @@ -40,12 +40,12 @@ entry: } ; Function Attrs: argmemonly nounwind -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 declare void @capture(i32*) #2 ; Function Attrs: argmemonly nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 ; Function Attrs: nounwind readnone declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #3 diff --git a/llvm/test/Transforms/SafeStack/X86/layout-frag.ll b/llvm/test/Transforms/SafeStack/X86/layout-frag.ll index 125eb0f8be9..b127defc2c5 100644 --- a/llvm/test/Transforms/SafeStack/X86/layout-frag.ll +++ b/llvm/test/Transforms/SafeStack/X86/layout-frag.ll @@ -14,16 +14,16 @@ entry: %x0a = bitcast i64* %x0 to i8* %x2a = bitcast i64* %x2 to i8* - call void @llvm.lifetime.start(i64 4, i8* %x0a) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %x0a) call void @capture64(i64* %x0) - call void @llvm.lifetime.end(i64 4, i8* %x0a) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %x0a) - call void @llvm.lifetime.start(i64 4, i8* %x1) - call void @llvm.lifetime.start(i64 4, i8* %x2a) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %x1) + call void @llvm.lifetime.start.p0i8(i64 4, i8* %x2a) call void @capture8(i8* %x1) call void @capture64(i64* %x2) - call void @llvm.lifetime.end(i64 4, i8* %x1) - call void @llvm.lifetime.end(i64 4, i8* %x2a) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %x1) + call void @llvm.lifetime.end.p0i8(i64 4, i8* %x2a) ; Test that i64 allocas share space. ; CHECK: getelementptr i8, i8* %unsafe_stack_ptr, i32 -8 @@ -33,7 +33,7 @@ entry: ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare void @capture8(i8*) declare void @capture64(i64*) diff --git a/llvm/test/Transforms/SampleProfile/remarks.ll b/llvm/test/Transforms/SampleProfile/remarks.ll index 908e4f8b10b..4be043e8268 100644 --- a/llvm/test/Transforms/SampleProfile/remarks.ll +++ b/llvm/test/Transforms/SampleProfile/remarks.ll @@ -33,11 +33,11 @@ entry: %sum = alloca i64, align 8 %i = alloca i32, align 4 %0 = bitcast i64* %sum to i8*, !dbg !19 - call void @llvm.lifetime.start(i64 8, i8* %0) #4, !dbg !19 + call void @llvm.lifetime.start.p0i8(i64 8, i8* %0) #4, !dbg !19 call void @llvm.dbg.declare(metadata i64* %sum, metadata !9, metadata !20), !dbg !21 store i64 0, i64* %sum, align 8, !dbg !21, !tbaa !22 %1 = bitcast i32* %i to i8*, !dbg !26 - call void @llvm.lifetime.start(i64 4, i8* %1) #4, !dbg !26 + call void @llvm.lifetime.start.p0i8(i64 4, i8* %1) #4, !dbg !26 call void @llvm.dbg.declare(metadata i32* %i, metadata !10, metadata !20), !dbg !27 store i32 0, i32* %i, align 4, !dbg !27, !tbaa !28 br label %for.cond, !dbg !26 @@ -49,7 +49,7 @@ for.cond: ; preds = %for.inc, %entry for.cond.cleanup: ; preds = %for.cond %3 = bitcast i32* %i to i8*, !dbg !36 - call void @llvm.lifetime.end(i64 4, i8* %3) #4, !dbg !36 + call void @llvm.lifetime.end.p0i8(i64 4, i8* %3) #4, !dbg !36 br label %for.end for.body: ; preds = %for.cond @@ -88,12 +88,12 @@ for.inc: ; preds = %if.end for.end: ; preds = %for.cond.cleanup %10 = load i64, i64* %sum, align 8, !dbg !53, !tbaa !22 %11 = bitcast i64* %sum to i8*, !dbg !54 - call void @llvm.lifetime.end(i64 8, i8* %11) #4, !dbg !54 + call void @llvm.lifetime.end.p0i8(i64 8, i8* %11) #4, !dbg !54 ret i64 %10, !dbg !55 } ; Function Attrs: nounwind argmemonly -declare void @llvm.lifetime.start(i64, i8* nocapture) #1 +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1 ; Function Attrs: nounwind readnone declare void @llvm.dbg.declare(metadata, metadata, metadata) #2 @@ -102,7 +102,7 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) #2 declare i32 @rand() #3 ; Function Attrs: nounwind argmemonly -declare void @llvm.lifetime.end(i64, i8* nocapture) #1 +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 ; Function Attrs: nounwind uwtable define i32 @main() #0 !dbg !13 { diff --git a/llvm/test/Transforms/SimplifyCFG/critedge-assume.ll b/llvm/test/Transforms/SimplifyCFG/critedge-assume.ll index db24685a37b..bfeb65769de 100644 --- a/llvm/test/Transforms/SimplifyCFG/critedge-assume.ll +++ b/llvm/test/Transforms/SimplifyCFG/critedge-assume.ll @@ -58,7 +58,7 @@ while.end: ret void } -declare void @llvm.lifetime.start(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) declare i32 @_ZNK1F5beginEv(%class.F*) @@ -70,7 +70,7 @@ declare noalias nonnull i8* @_Znwm(i64) declare void @_ZN1B6appendEv(%class.B*) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) declare i1 @llvm.type.test(i8*, metadata) diff --git a/llvm/test/Transforms/SimplifyCFG/empty-cleanuppad.ll b/llvm/test/Transforms/SimplifyCFG/empty-cleanuppad.ll index 9f657a81a05..f2e0114a2a3 100644 --- a/llvm/test/Transforms/SimplifyCFG/empty-cleanuppad.ll +++ b/llvm/test/Transforms/SimplifyCFG/empty-cleanuppad.ll @@ -413,14 +413,14 @@ return: ; preds = %invoke.cont, %catch define i32 @f9() personality i32 (...)* @__CxxFrameHandler3 { entry: %s = alloca i8, align 1 - call void @llvm.lifetime.start(i64 1, i8* nonnull %s) + call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %s) %bc = bitcast i8* %s to %struct.S2* invoke void @"\01??1S2@@QEAA@XZ"(%struct.S2* %bc) to label %try.cont unwind label %ehcleanup ehcleanup: %cleanup.pad = cleanuppad within none [] - call void @llvm.lifetime.end(i64 1, i8* nonnull %s) + call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %s) cleanupret from %cleanup.pad unwind label %catch.dispatch catch.dispatch: @@ -466,5 +466,5 @@ declare void @use_x(i32 %x) declare i32 @__CxxFrameHandler3(...) -declare void @llvm.lifetime.start(i64, i8* nocapture) -declare void @llvm.lifetime.end(i64, i8* nocapture) +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) diff --git a/llvm/test/Transforms/SimplifyCFG/lifetime.ll b/llvm/test/Transforms/SimplifyCFG/lifetime.ll index 7c66be52950..270fe4d5442 100644 --- a/llvm/test/Transforms/SimplifyCFG/lifetime.ll +++ b/llvm/test/Transforms/SimplifyCFG/lifetime.ll @@ -10,11 +10,11 @@ define void @foo(i1 %x) { entry: %a = alloca i8 - call void @llvm.lifetime.start(i64 -1, i8* %a) nounwind + call void @llvm.lifetime.start.p0i8(i64 -1, i8* %a) nounwind br i1 %x, label %bb0, label %bb1 bb0: - call void @llvm.lifetime.end(i64 -1, i8* %a) nounwind + call void @llvm.lifetime.end.p0i8(i64 -1, i8* %a) nounwind br label %bb1 bb1: @@ -24,6 +24,6 @@ bb1: declare void @f() -declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind -declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind +declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind diff --git a/llvm/test/Transforms/Util/MemorySSA/lifetime-simple.ll b/llvm/test/Transforms/Util/MemorySSA/lifetime-simple.ll index 99406b21048..f1db15cc577 100644 --- a/llvm/test/Transforms/Util/MemorySSA/lifetime-simple.ll +++ b/llvm/test/Transforms/Util/MemorySSA/lifetime-simple.ll @@ -7,8 +7,8 @@ define i8 @test(i8* %P, i8* %Q) { entry: ; CHECK: 1 = MemoryDef(liveOnEntry) -; CHECK-NEXT: call void @llvm.lifetime.start(i64 32, i8* %P) - call void @llvm.lifetime.start(i64 32, i8* %P) +; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 32, i8* %P) + call void @llvm.lifetime.start.p0i8(i64 32, i8* %P) ; CHECK: MemoryUse(1) ; CHECK-NEXT: %0 = load i8, i8* %P %0 = load i8, i8* %P @@ -16,8 +16,8 @@ entry: ; CHECK-NEXT: store i8 1, i8* %P store i8 1, i8* %P ; CHECK: 3 = MemoryDef(2) -; CHECK-NEXT: call void @llvm.lifetime.end(i64 32, i8* %P) - call void @llvm.lifetime.end(i64 32, i8* %P) +; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 32, i8* %P) + call void @llvm.lifetime.end.p0i8(i64 32, i8* %P) ; CHECK: MemoryUse(liveOnEntry) ; CHECK-NEXT: %1 = load i8, i8* %P %1 = load i8, i8* %P @@ -26,5 +26,5 @@ entry: %2 = load i8, i8* %Q ret i8 %1 } -declare void @llvm.lifetime.start(i64 %S, i8* nocapture %P) readonly -declare void @llvm.lifetime.end(i64 %S, i8* nocapture %P) +declare void @llvm.lifetime.start.p0i8(i64 %S, i8* nocapture %P) readonly +declare void @llvm.lifetime.end.p0i8(i64 %S, i8* nocapture %P) |

