[llvm] r299876 - Add address space mangling to lifetime intrinsics

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 10 13:18:26 PDT 2017


Author: arsenm
Date: Mon Apr 10 15:18:21 2017
New Revision: 299876

URL: http://llvm.org/viewvc/llvm-project?rev=299876&view=rev
Log:
Add address space mangling to lifetime intrinsics

In preparation for allowing allocas to have non-0 addrspace.

Modified:
    llvm/trunk/include/llvm/IR/Intrinsics.td
    llvm/trunk/lib/IR/AutoUpgrade.cpp
    llvm/trunk/lib/IR/IRBuilder.cpp
    llvm/trunk/test/Analysis/BasicAA/modref.ll
    llvm/trunk/test/Analysis/LazyValueAnalysis/invalidation.ll
    llvm/trunk/test/Assembler/auto_upgrade_intrinsics.ll
    llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    llvm/trunk/test/CodeGen/AArch64/stack_guard_remat.ll
    llvm/trunk/test/CodeGen/AMDGPU/captured-frame-index.ll
    llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
    llvm/trunk/test/CodeGen/ARM/interval-update-remat.ll
    llvm/trunk/test/CodeGen/ARM/ldrd.ll
    llvm/trunk/test/CodeGen/ARM/stack_guard_remat.ll
    llvm/trunk/test/CodeGen/BPF/warn-stack.ll
    llvm/trunk/test/CodeGen/Hexagon/bit-rie.ll
    llvm/trunk/test/CodeGen/Hexagon/hwloop-loop1.ll
    llvm/trunk/test/CodeGen/Hexagon/memops-stack.ll
    llvm/trunk/test/CodeGen/Hexagon/opt-spill-volatile.ll
    llvm/trunk/test/CodeGen/Hexagon/rdf-copy-undef2.ll
    llvm/trunk/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll
    llvm/trunk/test/CodeGen/Hexagon/rdf-phi-up.ll
    llvm/trunk/test/CodeGen/Hexagon/runtime-stkchk.ll
    llvm/trunk/test/CodeGen/Mips/stackcoloring.ll
    llvm/trunk/test/CodeGen/Mips/stchar.ll
    llvm/trunk/test/CodeGen/NVPTX/bug22322.ll
    llvm/trunk/test/CodeGen/PowerPC/BreakableToken-reduced.ll
    llvm/trunk/test/CodeGen/PowerPC/addi-licm.ll
    llvm/trunk/test/CodeGen/PowerPC/ctrloop-intrin.ll
    llvm/trunk/test/CodeGen/PowerPC/lsa.ll
    llvm/trunk/test/CodeGen/PowerPC/pr30451.ll
    llvm/trunk/test/CodeGen/PowerPC/swaps-le-4.ll
    llvm/trunk/test/CodeGen/PowerPC/tail-dup-branch-to-fallthrough.ll
    llvm/trunk/test/CodeGen/PowerPC/toc-load-sched-bug.ll
    llvm/trunk/test/CodeGen/SystemZ/stack-guard.ll
    llvm/trunk/test/CodeGen/Thumb/PR17309.ll
    llvm/trunk/test/CodeGen/Thumb/stack-coloring-without-frame-ptr.ll
    llvm/trunk/test/CodeGen/Thumb/stack_guard_remat.ll
    llvm/trunk/test/CodeGen/Thumb2/ifcvt-rescan-bug-2016-08-22.ll
    llvm/trunk/test/CodeGen/Thumb2/stack_guard_remat.ll
    llvm/trunk/test/CodeGen/X86/StackColoring-dbg.ll
    llvm/trunk/test/CodeGen/X86/StackColoring.ll
    llvm/trunk/test/CodeGen/X86/avx-vbroadcast.ll
    llvm/trunk/test/CodeGen/X86/catchpad-lifetime.ll
    llvm/trunk/test/CodeGen/X86/catchpad-weight.ll
    llvm/trunk/test/CodeGen/X86/crash.ll
    llvm/trunk/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll
    llvm/trunk/test/CodeGen/X86/dynamic-alloca-lifetime.ll
    llvm/trunk/test/CodeGen/X86/fast-isel-deadcode.ll
    llvm/trunk/test/CodeGen/X86/fast-isel.ll
    llvm/trunk/test/CodeGen/X86/load-slice.ll
    llvm/trunk/test/CodeGen/X86/local_stack_symbol_ordering.ll
    llvm/trunk/test/CodeGen/X86/machine-trace-metrics-crash.ll
    llvm/trunk/test/CodeGen/X86/misched-aa-colored.ll
    llvm/trunk/test/CodeGen/X86/stack-align.ll
    llvm/trunk/test/CodeGen/X86/stack-protector-weight.ll
    llvm/trunk/test/CodeGen/X86/stack_guard_remat.ll
    llvm/trunk/test/CodeGen/X86/unused_stackslots.ll
    llvm/trunk/test/CodeGen/X86/unwindraise.ll
    llvm/trunk/test/CodeGen/X86/x32-va_start.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-throw.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime-be.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/stack_layout.ll
    llvm/trunk/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll
    llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll
    llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll
    llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll
    llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll
    llvm/trunk/test/Transforms/AddDiscriminators/call.ll
    llvm/trunk/test/Transforms/AtomicExpand/SPARC/libcalls.ll
    llvm/trunk/test/Transforms/BBVectorize/X86/wr-aliases.ll
    llvm/trunk/test/Transforms/CodeGenPrepare/builtin-condition.ll
    llvm/trunk/test/Transforms/Coroutines/coro-split-dbg.ll
    llvm/trunk/test/Transforms/CorrelatedValuePropagation/alloca.ll
    llvm/trunk/test/Transforms/DeadStoreElimination/dominate.ll
    llvm/trunk/test/Transforms/DeadStoreElimination/lifetime.ll
    llvm/trunk/test/Transforms/GVN/cond_br2.ll
    llvm/trunk/test/Transforms/GVN/lifetime-simple.ll
    llvm/trunk/test/Transforms/GVNHoist/pr29034.ll
    llvm/trunk/test/Transforms/IndVarSimplify/exit_value_test2.ll
    llvm/trunk/test/Transforms/Inline/alloca-bonus.ll
    llvm/trunk/test/Transforms/Inline/crash-lifetime-marker.ll
    llvm/trunk/test/Transforms/Inline/lifetime-no-datalayout.ll
    llvm/trunk/test/Transforms/Inline/lifetime.ll
    llvm/trunk/test/Transforms/InstCombine/builtin-object-size-offset.ll
    llvm/trunk/test/Transforms/InstCombine/builtin-object-size-ptr.ll
    llvm/trunk/test/Transforms/InstCombine/compare-alloca.ll
    llvm/trunk/test/Transforms/InstCombine/deadcode.ll
    llvm/trunk/test/Transforms/InstCombine/lifetime-asan.ll
    llvm/trunk/test/Transforms/InstCombine/lifetime.ll
    llvm/trunk/test/Transforms/InstCombine/malloc-free-delete.ll
    llvm/trunk/test/Transforms/InstCombine/memcpy-from-global.ll
    llvm/trunk/test/Transforms/InstCombine/vararg.ll
    llvm/trunk/test/Transforms/LoopVectorize/lifetime.ll
    llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll
    llvm/trunk/test/Transforms/MemCpyOpt/lifetime.ll
    llvm/trunk/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
    llvm/trunk/test/Transforms/MemCpyOpt/memcpy-undef.ll
    llvm/trunk/test/Transforms/MemCpyOpt/pr29105.ll
    llvm/trunk/test/Transforms/NewGVN/cond_br2.ll
    llvm/trunk/test/Transforms/NewGVN/lifetime-simple.ll
    llvm/trunk/test/Transforms/SROA/basictest.ll
    llvm/trunk/test/Transforms/SROA/pr26972.ll
    llvm/trunk/test/Transforms/SROA/vector-lifetime-intrinsic.ll
    llvm/trunk/test/Transforms/SafeStack/X86/call.ll
    llvm/trunk/test/Transforms/SafeStack/X86/coloring-ssp.ll
    llvm/trunk/test/Transforms/SafeStack/X86/coloring.ll
    llvm/trunk/test/Transforms/SafeStack/X86/coloring2.ll
    llvm/trunk/test/Transforms/SafeStack/X86/debug-loc2.ll
    llvm/trunk/test/Transforms/SafeStack/X86/layout-frag.ll
    llvm/trunk/test/Transforms/SampleProfile/remarks.ll
    llvm/trunk/test/Transforms/SimplifyCFG/critedge-assume.ll
    llvm/trunk/test/Transforms/SimplifyCFG/empty-cleanuppad.ll
    llvm/trunk/test/Transforms/SimplifyCFG/lifetime.ll
    llvm/trunk/test/Transforms/Util/MemorySSA/lifetime-simple.ll

Modified: llvm/trunk/include/llvm/IR/Intrinsics.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Intrinsics.td?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/Intrinsics.td (original)
+++ llvm/trunk/include/llvm/IR/Intrinsics.td Mon Apr 10 15:18:21 2017
@@ -602,10 +602,10 @@ def int_umul_with_overflow : Intrinsic<[
 //===------------------------- Memory Use Markers -------------------------===//
 //
 def int_lifetime_start  : Intrinsic<[],
-                                    [llvm_i64_ty, llvm_ptr_ty],
+                                    [llvm_i64_ty, llvm_anyptr_ty],
                                     [IntrArgMemOnly, NoCapture<1>]>;
 def int_lifetime_end    : Intrinsic<[],
-                                    [llvm_i64_ty, llvm_ptr_ty],
+                                    [llvm_i64_ty, llvm_anyptr_ty],
                                     [IntrArgMemOnly, NoCapture<1>]>;
 def int_invariant_start : Intrinsic<[llvm_descriptor_ty],
                                     [llvm_i64_ty, llvm_anyptr_ty],
@@ -656,16 +656,16 @@ def int_experimental_gc_relocate : Intri
 
 // Coroutine Structure Intrinsics.
 
-def int_coro_id : Intrinsic<[llvm_token_ty], [llvm_i32_ty, llvm_ptr_ty, 
-                             llvm_ptr_ty, llvm_ptr_ty], 
-                            [IntrArgMemOnly, IntrReadMem, 
+def int_coro_id : Intrinsic<[llvm_token_ty], [llvm_i32_ty, llvm_ptr_ty,
+                             llvm_ptr_ty, llvm_ptr_ty],
+                            [IntrArgMemOnly, IntrReadMem,
                              ReadNone<1>, ReadOnly<2>, NoCapture<2>]>;
 def int_coro_alloc : Intrinsic<[llvm_i1_ty], [llvm_token_ty], []>;
 def int_coro_begin : Intrinsic<[llvm_ptr_ty], [llvm_token_ty, llvm_ptr_ty],
                                [WriteOnly<1>]>;
 
-def int_coro_free : Intrinsic<[llvm_ptr_ty], [llvm_token_ty, llvm_ptr_ty], 
-                              [IntrReadMem, IntrArgMemOnly, ReadOnly<1>, 
+def int_coro_free : Intrinsic<[llvm_ptr_ty], [llvm_token_ty, llvm_ptr_ty],
+                              [IntrReadMem, IntrArgMemOnly, ReadOnly<1>,
                                NoCapture<1>]>;
 def int_coro_end : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty, llvm_i1_ty], []>;
 

Modified: llvm/trunk/lib/IR/AutoUpgrade.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/AutoUpgrade.cpp?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/lib/IR/AutoUpgrade.cpp (original)
+++ llvm/trunk/lib/IR/AutoUpgrade.cpp Mon Apr 10 15:18:21 2017
@@ -412,26 +412,31 @@ static bool UpgradeIntrinsicFunction1(Fu
     }
     break;
   }
-  case 'i': {
-    if (Name.startswith("invariant.start")) {
+  case 'i':
+  case 'l': {
+    bool IsLifetimeStart = Name.startswith("lifetime.start");
+    if (IsLifetimeStart || Name.startswith("invariant.start")) {
+      Intrinsic::ID ID = IsLifetimeStart ?
+        Intrinsic::lifetime_start : Intrinsic::invariant_start;
       auto Args = F->getFunctionType()->params();
       Type* ObjectPtr[1] = {Args[1]};
-      if (F->getName() !=
-          Intrinsic::getName(Intrinsic::invariant_start, ObjectPtr)) {
+      if (F->getName() != Intrinsic::getName(ID, ObjectPtr)) {
         rename(F);
-        NewFn = Intrinsic::getDeclaration(
-            F->getParent(), Intrinsic::invariant_start, ObjectPtr);
+        NewFn = Intrinsic::getDeclaration(F->getParent(), ID, ObjectPtr);
         return true;
       }
     }
-    if (Name.startswith("invariant.end")) {
+
+    bool IsLifetimeEnd = Name.startswith("lifetime.end");
+    if (IsLifetimeEnd || Name.startswith("invariant.end")) {
+      Intrinsic::ID ID = IsLifetimeEnd ?
+        Intrinsic::lifetime_end : Intrinsic::invariant_end;
+
       auto Args = F->getFunctionType()->params();
-      Type* ObjectPtr[1] = {Args[2]};
-      if (F->getName() !=
-          Intrinsic::getName(Intrinsic::invariant_end, ObjectPtr)) {
+      Type* ObjectPtr[1] = {Args[IsLifetimeEnd ? 1 : 2]};
+      if (F->getName() != Intrinsic::getName(ID, ObjectPtr)) {
         rename(F);
-        NewFn = Intrinsic::getDeclaration(F->getParent(),
-                                          Intrinsic::invariant_end, ObjectPtr);
+        NewFn = Intrinsic::getDeclaration(F->getParent(), ID, ObjectPtr);
         return true;
       }
     }

Modified: llvm/trunk/lib/IR/IRBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/IRBuilder.cpp?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/lib/IR/IRBuilder.cpp (original)
+++ llvm/trunk/lib/IR/IRBuilder.cpp Mon Apr 10 15:18:21 2017
@@ -172,7 +172,8 @@ CallInst *IRBuilderBase::CreateLifetimeS
            "lifetime.start requires the size to be an i64");
   Value *Ops[] = { Size, Ptr };
   Module *M = BB->getParent()->getParent();
-  Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::lifetime_start);
+  Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::lifetime_start,
+                                           { Ptr->getType() });
   return createCallHelper(TheFn, Ops, this);
 }
 
@@ -187,7 +188,8 @@ CallInst *IRBuilderBase::CreateLifetimeE
            "lifetime.end requires the size to be an i64");
   Value *Ops[] = { Size, Ptr };
   Module *M = BB->getParent()->getParent();
-  Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::lifetime_end);
+  Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::lifetime_end,
+                                           { Ptr->getType() });
   return createCallHelper(TheFn, Ops, this);
 }
 

Modified: llvm/trunk/test/Analysis/BasicAA/modref.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/BasicAA/modref.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/BasicAA/modref.ll (original)
+++ llvm/trunk/test/Analysis/BasicAA/modref.ll Mon Apr 10 15:18:21 2017
@@ -1,7 +1,7 @@
 ; RUN: opt < %s -basicaa -gvn -dse -S | FileCheck %s
 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.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 declare void @external(i32*) 
 
@@ -67,7 +67,7 @@ define void @test3(i8* %P, i8 %X) {
   %P2 = getelementptr i8, i8* %P, i32 2
   store i8 %Y, i8* %P2  ;; Not read by lifetime.end, should be removed.
 ; CHECK: store i8 2, i8* %P2
-  call void @llvm.lifetime.end(i64 1, i8* %P)
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %P)
   store i8 2, i8* %P2
 ; CHECK-NOT: store
   ret void
@@ -81,7 +81,7 @@ define void @test3a(i8* %P, i8 %X) {
   %P2 = getelementptr i8, i8* %P, i32 2
   store i8 %Y, i8* %P2
 ; CHECK-NEXT: call void @llvm.lifetime.end
-  call void @llvm.lifetime.end(i64 10, i8* %P)
+  call void @llvm.lifetime.end.p0i8(i64 10, i8* %P)
   ret void
 ; CHECK-NEXT: ret void
 }

Modified: llvm/trunk/test/Analysis/LazyValueAnalysis/invalidation.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/LazyValueAnalysis/invalidation.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/LazyValueAnalysis/invalidation.ll (original)
+++ llvm/trunk/test/Analysis/LazyValueAnalysis/invalidation.ll Mon Apr 10 15:18:21 2017
@@ -29,13 +29,13 @@ target triple = "x86_64-unknown-linux-gn
 
 @.str = private unnamed_addr constant [8 x i8] c"a = %l\0A\00", align 1
 
-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, ...)
 
-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:
@@ -50,12 +50,12 @@ for.cond:
   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
 

Modified: llvm/trunk/test/Assembler/auto_upgrade_intrinsics.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Assembler/auto_upgrade_intrinsics.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Assembler/auto_upgrade_intrinsics.ll (original)
+++ llvm/trunk/test/Assembler/auto_upgrade_intrinsics.ll Mon Apr 10 15:18:21 2017
@@ -110,6 +110,25 @@ define void @test.stackprotectorcheck()
   ret void
 }
 
+declare void  @llvm.lifetime.start(i64, i8* nocapture) nounwind readonly
+declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind
+
+define void @tests.lifetime.start.end() {
+  ; CHECK-LABEL: @tests.lifetime.start.end(
+  %a = alloca i8
+  call void @llvm.lifetime.start(i64 1, i8* %a)
+  ; CHECK: call void @llvm.lifetime.start.p0i8(i64 1, i8* %a)
+  store i8 0, i8* %a
+  call void @llvm.lifetime.end(i64 1, i8* %a)
+  ; CHECK: call void @llvm.lifetime.end.p0i8(i64 1, i8* %a)
+  ret void
+}
+
+
 ; This is part of @test.objectsize(), since llvm.objectsize declaration gets
 ; emitted at the end.
 ; CHECK: declare i32 @llvm.objectsize.i32.p0i8
+
+
+; CHECK: declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
+; CHECK: declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)

Modified: llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll Mon Apr 10 15:18:21 2017
@@ -1244,14 +1244,14 @@ define float @test_pow_intrin(float %l,
   ret float %res
 }
 
-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 @test_lifetime_intrin() {
 ; CHECK-LABEL: name: test_lifetime_intrin
 ; CHECK: RET_ReallyLR
   %slot = alloca i8, i32 4
-  call void @llvm.lifetime.start(i64 0, i8* %slot)
-  call void @llvm.lifetime.end(i64 0, i8* %slot)
+  call void @llvm.lifetime.start.p0i8(i64 0, i8* %slot)
+  call void @llvm.lifetime.end.p0i8(i64 0, i8* %slot)
   ret void
 }
 

Modified: llvm/trunk/test/CodeGen/AArch64/stack_guard_remat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/stack_guard_remat.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/stack_guard_remat.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/stack_guard_remat.ll Mon Apr 10 15:18:21 2017
@@ -29,20 +29,20 @@ define i32 @test_stack_guard_remat() #0
 entry:
   %a1 = alloca [256 x i32], align 4
   %0 = bitcast [256 x i32]* %a1 to i8*
-  call void @llvm.lifetime.start(i64 1024, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %0)
   %arraydecay = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i64 0, i64 0
   call void @foo3(i32* %arraydecay)
   call void asm sideeffect "foo2", "~{w0},~{w1},~{w2},~{w3},~{w4},~{w5},~{w6},~{w7},~{w8},~{w9},~{w10},~{w11},~{w12},~{w13},~{w14},~{w15},~{w16},~{w17},~{w18},~{w19},~{w20},~{w21},~{w22},~{w23},~{w24},~{w25},~{w26},~{w27},~{w28},~{w29},~{w30}"()
-  call void @llvm.lifetime.end(i64 1024, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %0)
   ret i32 0
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo3(i32*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { nounwind sspstrong "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" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: llvm/trunk/test/CodeGen/AMDGPU/captured-frame-index.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/captured-frame-index.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/captured-frame-index.ll (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/captured-frame-index.ll Mon Apr 10 15:18:21 2017
@@ -6,9 +6,9 @@
 define amdgpu_kernel void @store_fi_lifetime(i32 addrspace(1)* %out, i32 %in) #0 {
 entry:
   %b = alloca i8
-  call void @llvm.lifetime.start(i64 1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %b)
   store volatile i8* %b, i8* addrspace(1)* undef
-  call void @llvm.lifetime.end(i64 1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %b)
   ret void
 }
 
@@ -196,8 +196,8 @@ entry:
   ret void
 }
 
-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
 
 attributes #0 = { nounwind }
 attributes #1 = { argmemonly nounwind }

Modified: llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll Mon Apr 10 15:18:21 2017
@@ -1,7 +1,7 @@
 ; RUN: opt -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-promote-alloca %s | FileCheck -check-prefix=OPT %s
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #0
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0
 
 ; OPT-LABEL: @use_lifetime_promotable_lds(
 ; OPT-NOT: alloca i32
@@ -11,11 +11,11 @@ define amdgpu_kernel void @use_lifetime_
 bb:
   %tmp = alloca i32, align 4
   %tmp1 = bitcast i32* %tmp to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %tmp1)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %tmp1)
   %tmp2 = getelementptr inbounds i32, i32 addrspace(1)* %arg, i64 1
   %tmp3 = load i32, i32 addrspace(1)* %tmp2
   store i32 %tmp3, i32* %tmp
-  call void @llvm.lifetime.end(i64 4, i8* %tmp1)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %tmp1)
   ret void
 }
 

Modified: llvm/trunk/test/CodeGen/ARM/interval-update-remat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/interval-update-remat.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/interval-update-remat.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/interval-update-remat.ll Mon Apr 10 15:18:21 2017
@@ -109,7 +109,7 @@ _ZN7MessageD1Ev.exit:
 }
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #0
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0
 
 declare %class.StaticSocketDataProvider.6.231.281.1306.2331* @_ZN24StaticSocketDataProviderC1EP13MockReadWritejS1_j(%class.StaticSocketDataProvider.6.231.281.1306.2331* returned, %struct.MockReadWrite.7.232.282.1307.2332*, i32, %struct.MockReadWrite.7.232.282.1307.2332*, i32) unnamed_addr
 
@@ -130,7 +130,7 @@ declare %class.Message.13.238.288.1313.2
 declare %class.AssertHelper.10.235.285.1310.2335* @_ZN12AssertHelperD1Ev(%class.AssertHelper.10.235.285.1310.2335* returned) unnamed_addr
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0
 
 declare void @_ZN18ClientSocketHandle5m_fn3IPiEEvRK25Trans_NS___1_basic_stringIciiE13scoped_refptr15RequestPriorityN16ClientSocketPool13RespectLimitsERiT_11BoundNetLog(%class.ClientSocketHandle.14.239.289.1314.2339*, %class.Trans_NS___1_basic_string.18.243.293.1318.2343* dereferenceable(12), %class.scoped_refptr.19.244.294.1319.2344*, i32, i32, i32* dereferenceable(4), i32*, %class.BoundNetLog.20.245.295.1320.2345*)
 

Modified: llvm/trunk/test/CodeGen/ARM/ldrd.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/ldrd.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/ldrd.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/ldrd.ll Mon Apr 10 15:18:21 2017
@@ -80,7 +80,7 @@ return:
 
 ; CHECK-LABEL: Func1:
 define void @Func1() nounwind ssp "no-frame-pointer-elim"="true" {
-entry: 
+entry:
 ; A8: movw [[BASE:r[0-9]+]], :lower16:{{.*}}TestVar{{.*}}
 ; A8: movt [[BASE]], :upper16:{{.*}}TestVar{{.*}}
 ; A8: ldrd [[FIELD1:r[0-9]+]], [[FIELD2:r[0-9]+]], {{\[}}[[BASE]], #4]
@@ -88,12 +88,12 @@ entry:
 ; A8-NEXT: str [[FIELD1]], {{\[}}[[BASE]]{{\]}}
 ; CONSERVATIVE-NOT: ldrd
   %orig_blocks = alloca [256 x i16], align 2
-  %0 = bitcast [256 x i16]* %orig_blocks to i8*call void @llvm.lifetime.start(i64 512, i8* %0) nounwind
+  %0 = bitcast [256 x i16]* %orig_blocks to i8*call void @llvm.lifetime.start.p0i8(i64 512, i8* %0) nounwind
   %tmp1 = load i32, i32* getelementptr inbounds (%struct.Test, %struct.Test* @TestVar, i32 0, i32 1), align 4
   %tmp2 = load i32, i32* getelementptr inbounds (%struct.Test, %struct.Test* @TestVar, i32 0, i32 2), align 4
   %add = add nsw i32 %tmp2, %tmp1
   store i32 %add, i32* getelementptr inbounds (%struct.Test, %struct.Test* @TestVar, i32 0, i32 0), align 4
-  call void @llvm.lifetime.end(i64 512, i8* %0) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %0) nounwind
   ret void
 }
 
@@ -207,5 +207,5 @@ entry:
   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

Modified: llvm/trunk/test/CodeGen/ARM/stack_guard_remat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/stack_guard_remat.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/stack_guard_remat.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/stack_guard_remat.ll Mon Apr 10 15:18:21 2017
@@ -51,20 +51,20 @@
 define i32 @test_stack_guard_remat() #0 {
   %a1 = alloca [256 x i32], align 4
   %1 = bitcast [256 x i32]* %a1 to i8*
-  call void @llvm.lifetime.start(i64 1024, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %1)
   %2 = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i32 0, i32 0
   call void @foo3(i32* %2) #3
   call void asm sideeffect "foo2", "~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{sp},~{lr}"()
-  call void @llvm.lifetime.end(i64 1024, i8* %1)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %1)
   ret i32 0
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo3(i32*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { nounwind ssp "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" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: llvm/trunk/test/CodeGen/BPF/warn-stack.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/BPF/warn-stack.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/BPF/warn-stack.ll (original)
+++ llvm/trunk/test/CodeGen/BPF/warn-stack.ll Mon Apr 10 15:18:21 2017
@@ -4,15 +4,15 @@
 define void @nowarn() local_unnamed_addr #0 !dbg !6 {
   %1 = alloca [504 x i8], align 1
   %2 = getelementptr inbounds [504 x i8], [504 x i8]* %1, i64 0, i64 0, !dbg !15
-  call void @llvm.lifetime.start(i64 504, i8* nonnull %2) #4, !dbg !15
+  call void @llvm.lifetime.start.p0i8(i64 504, i8* nonnull %2) #4, !dbg !15
   tail call void @llvm.dbg.declare(metadata [504 x i8]* %1, metadata !10, metadata !16), !dbg !17
   call void @doit(i8* nonnull %2) #4, !dbg !18
-  call void @llvm.lifetime.end(i64 504, i8* nonnull %2) #4, !dbg !19
+  call void @llvm.lifetime.end.p0i8(i64 504, i8* nonnull %2) #4, !dbg !19
   ret void, !dbg !19
 }
 
 ; Function Attrs: argmemonly nounwind
-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
@@ -20,17 +20,17 @@ declare void @llvm.dbg.declare(metadata,
 declare void @doit(i8*) local_unnamed_addr #3
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 ; CHECK: error: warn_stack.c
 ; CHECK: BPF stack limit
 define void @warn() local_unnamed_addr #0 !dbg !20 {
   %1 = alloca [512 x i8], align 1
   %2 = getelementptr inbounds [512 x i8], [512 x i8]* %1, i64 0, i64 0, !dbg !26
-  call void @llvm.lifetime.start(i64 512, i8* nonnull %2) #4, !dbg !26
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* nonnull %2) #4, !dbg !26
   tail call void @llvm.dbg.declare(metadata [512 x i8]* %1, metadata !22, metadata !16), !dbg !27
   call void @doit(i8* nonnull %2) #4, !dbg !28
-  call void @llvm.lifetime.end(i64 512, i8* nonnull %2) #4, !dbg !29
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* nonnull %2) #4, !dbg !29
   ret void, !dbg !29
 }
 

Modified: llvm/trunk/test/CodeGen/Hexagon/bit-rie.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/bit-rie.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/bit-rie.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/bit-rie.ll Mon Apr 10 15:18:21 2017
@@ -187,8 +187,8 @@ declare i32 @llvm.hexagon.S2.asr.r.r.sat
 declare i32 @llvm.hexagon.S2.clbnorm(i32) #2
 declare i32 @llvm.hexagon.S2.lsr.r.r(i32, i32) #2
 declare i64 @llvm.hexagon.M2.mpyd.ll.s1(i32, i32) #2
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 
 attributes #0 = { norecurse nounwind "target-cpu"="hexagonv60" "target-features"="+hvx,-hvx-double" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { argmemonly nounwind }

Modified: llvm/trunk/test/CodeGen/Hexagon/hwloop-loop1.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/hwloop-loop1.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/hwloop-loop1.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/hwloop-loop1.ll Mon Apr 10 15:18:21 2017
@@ -12,9 +12,9 @@ entry:
   %array = alloca [100 x i32], align 8
   %doublearray = alloca [100 x [100 x i32]], align 8
   %0 = bitcast [100 x i32]* %array to i8*
-  call void @llvm.lifetime.start(i64 400, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 400, i8* %0) #1
   %1 = bitcast [100 x [100 x i32]]* %doublearray to i8*
-  call void @llvm.lifetime.start(i64 40000, i8* %1) #1
+  call void @llvm.lifetime.start.p0i8(i64 40000, i8* %1) #1
   %arrayidx1 = getelementptr inbounds [100 x [100 x i32]], [100 x [100 x i32]]* %doublearray, i32 0, i32 10, i32 10
   %arrayidx2.gep = getelementptr [100 x i32], [100 x i32]* %array, i32 0, i32 0
   br label %for.body
@@ -56,11 +56,11 @@ for.inc15:
 
 for.end17:
   %3 = load i32, i32* %arrayidx1, align 8
-  call void @llvm.lifetime.end(i64 40000, i8* %1) #1
-  call void @llvm.lifetime.end(i64 400, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 40000, i8* %1) #1
+  call void @llvm.lifetime.end.p0i8(i64 400, i8* %0) #1
   ret i32 %3
 }
 
-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

Modified: llvm/trunk/test/CodeGen/Hexagon/memops-stack.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/memops-stack.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/memops-stack.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/memops-stack.ll Mon Apr 10 15:18:21 2017
@@ -9,13 +9,13 @@ define void @test0() #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = add nsw i32 %1, 1
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -25,13 +25,13 @@ define void @test1() #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = sub nsw i32 %1, 1
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -41,13 +41,13 @@ define void @test2() #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = or i32 %1, 1
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -57,13 +57,13 @@ define void @test3() #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = and i32 %1, -2
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -73,13 +73,13 @@ define void @test4(i32 %a) #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = add nsw i32 %1, %a
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -89,13 +89,13 @@ define void @test5(i32 %a) #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = sub nsw i32 %1, %a
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -105,13 +105,13 @@ define void @test6(i32 %a) #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = or i32 %1, %a
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
@@ -121,20 +121,20 @@ define void @test7(i32 %a) #0 {
 entry:
   %x = alloca i32, align 4
   %0 = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #3
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #3
   call void @foo(i32* nonnull %x) #3
   %1 = load i32, i32* %x, align 4, !tbaa !1
   %inc = and i32 %1, %a
   store i32 %inc, i32* %x, align 4, !tbaa !1
   call void @foo(i32* nonnull %x) #3
-  call void @llvm.lifetime.end(i64 4, i8* %0) #3
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #3
   ret void
 }
 
 
 declare void @foo(i32*) #2
-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
 
 attributes #0 = { nounwind "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"="hexagonv60" "target-features"="+hvx,-hvx-double" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { argmemonly nounwind }

Modified: llvm/trunk/test/CodeGen/Hexagon/opt-spill-volatile.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/opt-spill-volatile.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/opt-spill-volatile.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/opt-spill-volatile.ll Mon Apr 10 15:18:21 2017
@@ -11,17 +11,17 @@ define i32 @foo(i32 %a) #0 {
 entry:
   %x = alloca i32, align 4
   %x.0.x.0..sroa_cast = bitcast i32* %x to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %x.0.x.0..sroa_cast)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %x.0.x.0..sroa_cast)
   store volatile i32 0, i32* %x, align 4
   %call = tail call i32 bitcast (i32 (...)* @bar to i32 ()*)() #0
   %x.0.x.0. = load volatile i32, i32* %x, align 4
   %add = add nsw i32 %x.0.x.0., %a
-  call void @llvm.lifetime.end(i64 4, i8* %x.0.x.0..sroa_cast)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %x.0.x.0..sroa_cast)
   ret i32 %add
 }
 
-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
 
 declare i32 @bar(...) #0
 

Modified: llvm/trunk/test/CodeGen/Hexagon/rdf-copy-undef2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/rdf-copy-undef2.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/rdf-copy-undef2.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/rdf-copy-undef2.ll Mon Apr 10 15:18:21 2017
@@ -3,8 +3,8 @@
 
 target triple = "hexagon"
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #0
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0
 declare signext i16 @cat(i16 signext) #1
 declare void @danny(i16 signext, i16 signext, i16 signext, i16* nocapture readonly, i16 signext, i16* nocapture) #1
 declare void @sammy(i16* nocapture readonly, i16* nocapture readonly, i16* nocapture readonly, i32* nocapture, i16* nocapture, i16 signext, i16 signext, i16 signext) #1

Modified: llvm/trunk/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll Mon Apr 10 15:18:21 2017
@@ -13,18 +13,18 @@ define i32 @foo(i32 %status) #0 {
 entry:
   %arg1 = alloca i32, align 4
   %0 = bitcast i32* %arg1 to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #2
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #2
   store i32 %status, i32* %arg1, align 4, !tbaa !1
   %1 = call i32 asm sideeffect "r0 = #$1\0Ar1 = $2\0Ar2 = $4\0Atrap0 (#0)\0A$0 = r0", "=r,i,r,*m,r,~{r0},~{r1},~{r2}"(i32 24, i32* nonnull %arg1, i32* nonnull %arg1, i32 %status) #2, !srcloc !5
-  call void @llvm.lifetime.end(i64 4, i8* %0) #2
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #2
   ret i32 %1
 }
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 attributes #0 = { nounwind "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"="hexagonv5" "target-features"="-hvx,-hvx-double" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { argmemonly nounwind }

Modified: llvm/trunk/test/CodeGen/Hexagon/rdf-phi-up.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/rdf-phi-up.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/rdf-phi-up.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/rdf-phi-up.ll Mon Apr 10 15:18:21 2017
@@ -7,8 +7,8 @@ target triple = "hexagon"
 
 %struct.0 = type { i32, i16, i8* }
 
-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 i32 @fred(i8* readonly %p0, i32* %p1) local_unnamed_addr #0 {
 entry:
@@ -32,7 +32,7 @@ if.then3:
 
 if.else:                                          ; preds = %lor.lhs.false
   %v6 = bitcast i16* %v0 to i8*
-  call void @llvm.lifetime.start(i64 2, i8* nonnull %v6) #0
+  call void @llvm.lifetime.start.p0i8(i64 2, i8* nonnull %v6) #0
   store i16 0, i16* %v0, align 2
   %v7 = call i32 @foo(%struct.0* nonnull %v3, i16* nonnull %v0) #0
   %v8 = icmp eq i32* %p1, null
@@ -45,7 +45,7 @@ if.then6:
   br label %if.end7
 
 if.end7:                                          ; preds = %if.else, %if.then6
-  call void @llvm.lifetime.end(i64 2, i8* nonnull %v6) #0
+  call void @llvm.lifetime.end.p0i8(i64 2, i8* nonnull %v6) #0
   br label %cleanup
 
 cleanup:                                          ; preds = %if.then3, %if.then,

Modified: llvm/trunk/test/CodeGen/Hexagon/runtime-stkchk.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/runtime-stkchk.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Hexagon/runtime-stkchk.ll (original)
+++ llvm/trunk/test/CodeGen/Hexagon/runtime-stkchk.ll Mon Apr 10 15:18:21 2017
@@ -6,12 +6,12 @@ define i32 @foo_1(i32 %n) #0 {
 entry:
   %local = alloca [1024 x i32], align 8
   %0 = bitcast [1024 x i32]* %local to i8*
-  call void @llvm.lifetime.start(i64 4096, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 4096, i8* %0) #1
   %arraydecay = getelementptr inbounds [1024 x i32], [1024 x i32]* %local, i32 0, i32 0
   call void @baz_1(i32* %arraydecay) #3
   %arrayidx = getelementptr inbounds [1024 x i32], [1024 x i32]* %local, i32 0, i32 %n
   %1 = load i32, i32* %arrayidx, align 4
-  call void @llvm.lifetime.end(i64 4096, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 4096, i8* %0) #1
   ret i32 %1
 }
 
@@ -21,21 +21,21 @@ define i32 @foo_2(i32 %n, i32* %y) #0 {
 entry:
   %local = alloca [2048 x i32], align 8
   %0 = bitcast [2048 x i32]* %local to i8*
-  call void @llvm.lifetime.start(i64 8192, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 8192, i8* %0) #1
   %arraydecay = getelementptr inbounds [2048 x i32], [2048 x i32]* %local, i32 0, i32 0
   call void @baz_2(i32* %y, i32* %arraydecay) #3
   %1 = load i32, i32* %y, align 4
   %add = add nsw i32 %n, %1
   %arrayidx = getelementptr inbounds [2048 x i32], [2048 x i32]* %local, i32 0, i32 %add
   %2 = load i32, i32* %arrayidx, align 4
-  call void @llvm.lifetime.end(i64 8192, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 8192, i8* %0) #1
   ret i32 %2
 }
 
 declare void @baz_1(i32*) #2
 declare void @baz_2(i32*, i32*) #2
-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
 
 attributes #0 = { nounwind optsize "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" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { nounwind }

Modified: llvm/trunk/test/CodeGen/Mips/stackcoloring.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/stackcoloring.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Mips/stackcoloring.ll (original)
+++ llvm/trunk/test/CodeGen/Mips/stackcoloring.ll Mon Apr 10 15:18:21 2017
@@ -11,7 +11,7 @@ define i32 @foo1() {
 entry:
   %b = alloca [16 x i32], align 4
   %0 = bitcast [16 x i32]* %b to i8*
-  call void @llvm.lifetime.start(i64 64, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 64, i8* %0)
   %arraydecay = getelementptr inbounds [16 x i32], [16 x i32]* %b, i32 0, i32 0
   br label %for.body
 
@@ -28,12 +28,12 @@ for.body:
   br i1 %exitcond, label %for.end, label %for.body
 
 for.end:                                          ; preds = %for.body
-  call void @llvm.lifetime.end(i64 64, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 64, i8* %0)
   ret i32 %add
 }
 
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare i32 @foo2(i32, i32*)
 
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)

Modified: llvm/trunk/test/CodeGen/Mips/stchar.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/stchar.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Mips/stchar.ll (original)
+++ llvm/trunk/test/CodeGen/Mips/stchar.ll Mon Apr 10 15:18:21 2017
@@ -34,7 +34,7 @@ entry:
 ; 16_h: lh      ${{[0-9]+}}, [[offset2]](${{[0-9]+}})
 }
 
-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
 

Modified: llvm/trunk/test/CodeGen/NVPTX/bug22322.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/bug22322.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/NVPTX/bug22322.ll (original)
+++ llvm/trunk/test/CodeGen/NVPTX/bug22322.ll Mon Apr 10 15:18:21 2017
@@ -17,7 +17,7 @@ _ZL11compute_vecRK6float3jb.exit:
   %4 = add nsw i32 %2, %3
   %5 = zext i32 %4 to i64
   %6 = bitcast float* %ret_vec.sroa.8.i to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %6)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %6)
   %7 = and i32 %4, 15
   %8 = icmp eq i32 %7, 0
   %9 = select i1 %8, float 0.000000e+00, float -1.000000e+00
@@ -26,7 +26,7 @@ _ZL11compute_vecRK6float3jb.exit:
   %10 = fcmp olt float %9, 0.000000e+00
   %ret_vec.sroa.8.i.val = load float, float* %ret_vec.sroa.8.i, align 4
   %11 = select i1 %10, float 0.000000e+00, float %ret_vec.sroa.8.i.val
-  call void @llvm.lifetime.end(i64 4, i8* %6)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %6)
   %12 = getelementptr inbounds %class.float3, %class.float3* %dst, i64 %5, i32 0
   store float 0.000000e+00, float* %12, align 4
   %13 = getelementptr inbounds %class.float3, %class.float3* %dst, i64 %5, i32 1
@@ -46,10 +46,10 @@ declare i32 @llvm.nvvm.read.ptx.sreg.nti
 declare i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #2
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #2
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #2
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #2
 
 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "stack-protector-buffer-size"="8" "unsafe-fp-math"="true" "use-soft-float"="false" }
 attributes #1 = { nounwind readnone }

Modified: llvm/trunk/test/CodeGen/PowerPC/BreakableToken-reduced.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/BreakableToken-reduced.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/BreakableToken-reduced.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/BreakableToken-reduced.ll Mon Apr 10 15:18:21 2017
@@ -265,12 +265,12 @@ _ZNK4llvm9StringRef10startswithES0_.exit
 }
 
 ; Function Attrs: nounwind argmemonly
-declare void @llvm.lifetime.start(i64, i8* nocapture) #2
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #2
 
 declare void @_ZN5clang6format17WhitespaceManager24replaceWhitespaceInTokenERKNS0_11FormatTokenEjjN4llvm9StringRefES6_bjji(%"class.clang::format::WhitespaceManager"*, %"struct.clang::format::FormatToken"* dereferenceable(272), i32 zeroext, i32 zeroext, [2 x i64], [2 x i64], i1 zeroext, i32 zeroext, i32 zeroext, i32 signext) #3
 
 ; Function Attrs: nounwind argmemonly
-declare void @llvm.lifetime.end(i64, i8* nocapture) #2
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #2
 
 attributes #9 = { nounwind }
 

Modified: llvm/trunk/test/CodeGen/PowerPC/addi-licm.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/addi-licm.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/addi-licm.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/addi-licm.ll Mon Apr 10 15:18:21 2017
@@ -9,9 +9,9 @@ entry:
   %x = alloca [2048 x float], align 4
   %y = alloca [2048 x float], align 4
   %0 = bitcast [2048 x float]* %x to i8*
-  call void @llvm.lifetime.start(i64 8192, i8* %0) #2
+  call void @llvm.lifetime.start.p0i8(i64 8192, i8* %0) #2
   %1 = bitcast [2048 x float]* %y to i8*
-  call void @llvm.lifetime.start(i64 8192, i8* %1) #2
+  call void @llvm.lifetime.start.p0i8(i64 8192, i8* %1) #2
   br label %for.body.i
 
 ; CHECK-LABEL: @foo
@@ -50,12 +50,12 @@ loop.exit:
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #2
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #2
 
 declare void @bar(float*, float*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #2
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #2
 
 attributes #0 = { nounwind readonly }
 attributes #1 = { nounwind }

Modified: llvm/trunk/test/CodeGen/PowerPC/ctrloop-intrin.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/ctrloop-intrin.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/ctrloop-intrin.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/ctrloop-intrin.ll Mon Apr 10 15:18:21 2017
@@ -17,10 +17,10 @@ target triple = "powerpc64le--linux-gnu"
 @.str.11.98 = external hidden unnamed_addr constant [3 x i8], align 1
 
 ; 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
 
 ; Function Attrs: nounwind
 declare i8* @halide_string_to_string(i8*, i8*, i8*) #1
@@ -36,7 +36,7 @@ entry:
   %buf = alloca [512 x i8], align 1
   store double %arg, double* %arg.addr, align 8, !tbaa !4
   %0 = bitcast i64* %bits to i8*
-  call void @llvm.lifetime.start(i64 8, i8* %0) #0
+  call void @llvm.lifetime.start.p0i8(i64 8, i8* %0) #0
   store i64 0, i64* %bits, align 8, !tbaa !8
   %1 = bitcast double* %arg.addr to i8*
   %call = call i8* @memcpy(i8* %0, i8* %1, i64 8) #2
@@ -245,7 +245,7 @@ if.end.105:
   %integer_exponent.0 = phi i32 [ 0, %if.end.84 ], [ %sub70, %if.end.66 ]
   %fractional_part.2 = phi i64 [ %.fractional_part.0, %if.end.84 ], [ 0, %if.end.66 ]
   %7 = bitcast [512 x i8]* %buf to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %7) #0
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %7) #0
   %add.ptr = getelementptr inbounds [512 x i8], [512 x i8]* %buf, i64 0, i64 512
   %add.ptr106 = getelementptr inbounds [512 x i8], [512 x i8]* %buf, i64 0, i64 480
   %call109 = call i8* @halide_int64_to_string(i8* %add.ptr106, i8* %add.ptr, i64 %integer_part.2, i32 1) #3
@@ -272,7 +272,7 @@ for.cond.cleanup:
   %call142 = call i8* @halide_string_to_string(i8* %dst.addr.0, i8* %end, i8* %int_part_ptr.0.lcssa) #3
   %call143 = call i8* @halide_string_to_string(i8* %call142, i8* %end, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9.96, i64 0, i64 0)) #3
   %call144 = call i8* @halide_int64_to_string(i8* %call143, i8* %end, i64 %fractional_part.2, i32 6) #3
-  call void @llvm.lifetime.end(i64 512, i8* %9) #0
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %9) #0
   br label %cleanup.148
 
 for.cond.cleanup.115:                             ; preds = %for.body.116
@@ -315,7 +315,7 @@ if.end.138:
 cleanup.148:                                      ; preds = %for.cond.cleanup, %if.then.64, %if.end.59, %if.else.30, %if.then.28, %if.else.24, %if.then.22, %if.else.13, %if.then.11, %if.else, %if.then.6
   %retval.1 = phi i8* [ %call7, %if.then.6 ], [ %call8, %if.else ], [ %call12, %if.then.11 ], [ %call14, %if.else.13 ], [ %call23, %if.then.22 ], [ %call25, %if.else.24 ], [ %call29, %if.then.28 ], [ %call31, %if.else.30 ], [ %call65, %if.then.64 ], [ %call61, %if.end.59 ], [ %call144, %for.cond.cleanup ]
   %13 = bitcast i64* %bits to i8*
-  call void @llvm.lifetime.end(i64 8, i8* %13) #0
+  call void @llvm.lifetime.end.p0i8(i64 8, i8* %13) #0
   ret i8* %retval.1
 }
 

Modified: llvm/trunk/test/CodeGen/PowerPC/lsa.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/lsa.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/lsa.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/lsa.ll Mon Apr 10 15:18:21 2017
@@ -8,11 +8,11 @@ entry:
   %w = alloca [8200 x i32], align 4
   %q = alloca [8200 x i32], align 4
   %0 = bitcast [8200 x i32]* %v to i8*
-  call void @llvm.lifetime.start(i64 32800, i8* %0) #0
+  call void @llvm.lifetime.start.p0i8(i64 32800, i8* %0) #0
   %1 = bitcast [8200 x i32]* %w to i8*
-  call void @llvm.lifetime.start(i64 32800, i8* %1) #0
+  call void @llvm.lifetime.start.p0i8(i64 32800, i8* %1) #0
   %2 = bitcast [8200 x i32]* %q to i8*
-  call void @llvm.lifetime.start(i64 32800, i8* %2) #0
+  call void @llvm.lifetime.start.p0i8(i64 32800, i8* %2) #0
   %arraydecay = getelementptr inbounds [8200 x i32], [8200 x i32]* %q, i64 0, i64 0
   %arraydecay1 = getelementptr inbounds [8200 x i32], [8200 x i32]* %v, i64 0, i64 0
   %arraydecay2 = getelementptr inbounds [8200 x i32], [8200 x i32]* %w, i64 0, i64 0
@@ -28,16 +28,16 @@ entry:
 ; CHECK: blr
 
   %add = add nsw i32 %4, %3
-  call void @llvm.lifetime.end(i64 32800, i8* %2) #0
-  call void @llvm.lifetime.end(i64 32800, i8* %1) #0
-  call void @llvm.lifetime.end(i64 32800, i8* %0) #0
+  call void @llvm.lifetime.end.p0i8(i64 32800, i8* %2) #0
+  call void @llvm.lifetime.end.p0i8(i64 32800, i8* %1) #0
+  call void @llvm.lifetime.end.p0i8(i64 32800, i8* %0) #0
   ret i32 %add
 }
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #0
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0
 
 declare void @bar(i32*, i32*, i32*)
 
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0
 
 attributes #0 = { nounwind }

Modified: llvm/trunk/test/CodeGen/PowerPC/pr30451.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr30451.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/pr30451.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/pr30451.ll Mon Apr 10 15:18:21 2017
@@ -3,11 +3,11 @@ define i8 @atomic_min_i8() {
     top:
       %0 = alloca i8, align 2
       %1 = bitcast i8* %0 to i8*
-      call void @llvm.lifetime.start(i64 2, i8* %1)
+      call void @llvm.lifetime.start.p0i8(i64 2, i8* %1)
       store i8 -1, i8* %0, align 2
       %2 = atomicrmw min i8* %0, i8 0 acq_rel
       %3 = load atomic i8, i8* %0 acquire, align 8
-      call void @llvm.lifetime.end(i64 2, i8* %1)
+      call void @llvm.lifetime.end.p0i8(i64 2, i8* %1)
       ret i8 %3
 ; CHECK-LABEL: atomic_min_i8
 ; CHECK: lbarx [[DST:[0-9]+]],
@@ -19,11 +19,11 @@ define i16 @atomic_min_i16() {
     top:
       %0 = alloca i16, align 2
       %1 = bitcast i16* %0 to i8*
-      call void @llvm.lifetime.start(i64 2, i8* %1)
+      call void @llvm.lifetime.start.p0i8(i64 2, i8* %1)
       store i16 -1, i16* %0, align 2
       %2 = atomicrmw min i16* %0, i16 0 acq_rel
       %3 = load atomic i16, i16* %0 acquire, align 8
-      call void @llvm.lifetime.end(i64 2, i8* %1)
+      call void @llvm.lifetime.end.p0i8(i64 2, i8* %1)
       ret i16 %3
 ; CHECK-LABEL: atomic_min_i16
 ; CHECK: lharx [[DST:[0-9]+]],
@@ -36,11 +36,11 @@ define i8 @atomic_max_i8() {
     top:
       %0 = alloca i8, align 2
       %1 = bitcast i8* %0 to i8*
-      call void @llvm.lifetime.start(i64 2, i8* %1)
+      call void @llvm.lifetime.start.p0i8(i64 2, i8* %1)
       store i8 -1, i8* %0, align 2
       %2 = atomicrmw max i8* %0, i8 0 acq_rel
       %3 = load atomic i8, i8* %0 acquire, align 8
-      call void @llvm.lifetime.end(i64 2, i8* %1)
+      call void @llvm.lifetime.end.p0i8(i64 2, i8* %1)
       ret i8 %3
 ; CHECK-LABEL: atomic_max_i8
 ; CHECK: lbarx [[DST:[0-9]+]],
@@ -52,11 +52,11 @@ define i16 @atomic_max_i16() {
     top:
       %0 = alloca i16, align 2
       %1 = bitcast i16* %0 to i8*
-      call void @llvm.lifetime.start(i64 2, i8* %1)
+      call void @llvm.lifetime.start.p0i8(i64 2, i8* %1)
       store i16 -1, i16* %0, align 2
       %2 = atomicrmw max i16* %0, i16 0 acq_rel
       %3 = load atomic i16, i16* %0 acquire, align 8
-      call void @llvm.lifetime.end(i64 2, i8* %1)
+      call void @llvm.lifetime.end.p0i8(i64 2, i8* %1)
       ret i16 %3
 ; CHECK-LABEL: atomic_max_i16
 ; CHECK: lharx [[DST:[0-9]+]],
@@ -65,5 +65,5 @@ define i16 @atomic_max_i16() {
 ; CHECK-NEXT: ble 0
 }
 
-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*)

Modified: llvm/trunk/test/CodeGen/PowerPC/swaps-le-4.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/swaps-le-4.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/swaps-le-4.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/swaps-le-4.ll Mon Apr 10 15:18:21 2017
@@ -8,11 +8,11 @@ define void @bar() {
 entry:
   %x = alloca <2 x i64>, align 16
   %0 = bitcast <2 x i64>* %x to i8*
-  call void @llvm.lifetime.start(i64 16, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %0)
   %arrayidx = getelementptr inbounds <2 x i64>, <2 x i64>* %x, i64 0, i64 0
   store <2 x i64> <i64 0, i64 1>, <2 x i64>* %x, align 16
   call void @foo(i64* %arrayidx)
-  call void @llvm.lifetime.end(i64 16, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 16, i8* %0)
   ret void
 }
 
@@ -21,7 +21,7 @@ entry:
 ; CHECK: stxvd2x
 ; CHECK-NOT: xxswapd
 
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 declare void @foo(i64*)
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 

Modified: llvm/trunk/test/CodeGen/PowerPC/tail-dup-branch-to-fallthrough.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/tail-dup-branch-to-fallthrough.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/tail-dup-branch-to-fallthrough.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/tail-dup-branch-to-fallthrough.ll Mon Apr 10 15:18:21 2017
@@ -3,7 +3,7 @@ target datalayout = "E-m:e-i64:64-n32:64
 target triple = "powerpc64-unknown-linux-gnu"
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0
 
 declare void @f1()
 declare void @f2()
@@ -54,11 +54,11 @@ if.else:
   br label %dup2
 
 dup1:                                         ; preds = %sw.0, %sw.1
-  call void @llvm.lifetime.end(i64 8, i8* nonnull undef) #0
+  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull undef) #0
   unreachable
 
 dup2:                                         ; preds = %if.then, %if.else
-  call void @llvm.lifetime.end(i64 8, i8* nonnull undef) #0
+  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull undef) #0
   unreachable
 }
 

Modified: llvm/trunk/test/CodeGen/PowerPC/toc-load-sched-bug.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/toc-load-sched-bug.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/toc-load-sched-bug.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/toc-load-sched-bug.ll Mon Apr 10 15:18:21 2017
@@ -223,7 +223,7 @@ if.then:
   %10 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i2.i, i64 0, i32 0
   %11 = bitcast %"class.llvm::SMDiagnostic"* %ref.tmp to i8*
   call void @llvm.memset.p0i8.i64(i8* %11, i8 0, i64 16, i32 8, i1 false) #3
-  call void @llvm.lifetime.start(i64 1, i8* %10) #3
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %10) #3
   %tobool.i.i4.i = icmp eq i8* %4, null
   br i1 %tobool.i.i4.i, label %if.then.i.i6.i, label %if.end.i.i8.i
 
@@ -237,7 +237,7 @@ if.end.i.i8.i:
   br label %_ZNK4llvm9StringRefcvSsEv.exit9.i
 
 _ZNK4llvm9StringRefcvSsEv.exit9.i:                ; preds = %if.end.i.i8.i, %if.then.i.i6.i
-  call void @llvm.lifetime.end(i64 1, i8* %10) #3
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %10) #3
   %LineNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 3
   store i32 -1, i32* %LineNo.i, align 8, !tbaa !14
   %ColumnNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 4
@@ -246,7 +246,7 @@ _ZNK4llvm9StringRefcvSsEv.exit9.i:
   store i32 0, i32* %Kind.i, align 8, !tbaa !22
   %Message.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 6
   %12 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i.i, i64 0, i32 0
-  call void @llvm.lifetime.start(i64 1, i8* %12) #3
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %12) #3
   %tobool.i.i.i = icmp eq i8* %8, null
   br i1 %tobool.i.i.i, label %if.then.i.i.i, label %if.end.i.i.i
 
@@ -260,7 +260,7 @@ if.end.i.i.i:
   br label %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit
 
 _ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit: ; preds = %if.then.i.i.i, %if.end.i.i.i
-  call void @llvm.lifetime.end(i64 1, i8* %12) #3
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %12) #3
   %_M_p.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 7, i32 0, i32 0
   store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i, align 8, !tbaa !13
   %Ranges.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8
@@ -320,7 +320,7 @@ _ZN4llvm12SMDiagnosticaSEOS0_.exit:
   %call2.i.i42 = call dereferenceable(48) %"class.llvm::SmallVectorImpl.85"* @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(%"class.llvm::SmallVectorImpl.85"* %24, %"class.llvm::SmallVectorImpl.85"* dereferenceable(48) %25) #3
   call void @_ZN4llvm12SMDiagnosticD2Ev(%"class.llvm::SMDiagnostic"* %ref.tmp) #3
   %26 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i, i64 0, i32 0
-  call void @llvm.lifetime.start(i64 1, i8* %26) #3
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %26) #3
   %27 = bitcast i8* %arrayidx.i.i.i36 to %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"*
   %cmp.i.i.i = icmp eq i8* %arrayidx.i.i.i36, bitcast ([0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE to i8*)
   br i1 %cmp.i.i.i, label %_ZNSsD1Ev.exit, label %if.then.i.i.i45, !prof !28
@@ -332,11 +332,11 @@ if.then.i.i.i45:
 
 if.then.i.i.i.i:                                  ; preds = %if.then.i.i.i45
   %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast i32* %.atomicdst.i.i.i.i.i to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
   %29 = atomicrmw volatile add i32* %28, i32 -1 acq_rel
   store i32 %29, i32* %.atomicdst.i.i.i.i.i, align 4
   %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i = load volatile i32, i32* %.atomicdst.i.i.i.i.i, align 4
-  call void @llvm.lifetime.end(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
   br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i
 
 if.else.i.i.i.i:                                  ; preds = %if.then.i.i.i45
@@ -355,9 +355,9 @@ if.then4.i.i.i:
   br label %_ZNSsD1Ev.exit
 
 _ZNSsD1Ev.exit:                                   ; preds = %_ZN4llvm12SMDiagnosticaSEOS0_.exit, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i, %if.then4.i.i.i
-  call void @llvm.lifetime.end(i64 1, i8* %26) #3
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %26) #3
   %31 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i47, i64 0, i32 0
-  call void @llvm.lifetime.start(i64 1, i8* %31) #3
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %31) #3
   %_M_p.i.i.i.i48 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %ref.tmp5, i64 0, i32 0, i32 0
   %32 = load i8*, i8** %_M_p.i.i.i.i48, align 8, !tbaa !1
   %arrayidx.i.i.i49 = getelementptr inbounds i8, i8* %32, i64 -24
@@ -372,11 +372,11 @@ if.then.i.i.i52:
 
 if.then.i.i.i.i55:                                ; preds = %if.then.i.i.i52
   %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast i32* %.atomicdst.i.i.i.i.i46 to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
   %35 = atomicrmw volatile add i32* %34, i32 -1 acq_rel
   store i32 %35, i32* %.atomicdst.i.i.i.i.i46, align 4
   %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i54 = load volatile i32, i32* %.atomicdst.i.i.i.i.i46, align 4
-  call void @llvm.lifetime.end(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast)
   br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60
 
 if.else.i.i.i.i57:                                ; preds = %if.then.i.i.i52
@@ -395,7 +395,7 @@ if.then4.i.i.i61:
   br label %_ZNSsD1Ev.exit62
 
 _ZNSsD1Ev.exit62:                                 ; preds = %_ZNSsD1Ev.exit, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60, %if.then4.i.i.i61
-  call void @llvm.lifetime.end(i64 1, i8* %31) #3
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %31) #3
   br label %cleanup
 
 cond.false.i.i:                                   ; preds = %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit
@@ -438,10 +438,10 @@ _ZN4llvm7ErrorOrISt10unique_ptrINS_12Mem
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #3
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #3
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #3
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #3
 
 ; Function Attrs: noreturn nounwind
 declare void @__assert_fail(i8*, i8*, i32 zeroext, i8*) #4

Modified: llvm/trunk/test/CodeGen/SystemZ/stack-guard.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/SystemZ/stack-guard.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/SystemZ/stack-guard.ll (original)
+++ llvm/trunk/test/CodeGen/SystemZ/stack-guard.ll Mon Apr 10 15:18:21 2017
@@ -17,19 +17,19 @@ define i32 @test_stack_guard() #0 {
 entry:
   %a1 = alloca [256 x i32], align 4
   %0 = bitcast [256 x i32]* %a1 to i8*
-  call void @llvm.lifetime.start(i64 1024, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %0)
   %arraydecay = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i64 0, i64 0
   call void @foo3(i32* %arraydecay)
-  call void @llvm.lifetime.end(i64 1024, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %0)
   ret i32 0
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo3(i32*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { sspstrong }

Modified: llvm/trunk/test/CodeGen/Thumb/PR17309.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb/PR17309.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb/PR17309.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb/PR17309.ll Mon Apr 10 15:18:21 2017
@@ -11,9 +11,9 @@ define void @pass_C() #0 {
 entry:
   %c = alloca %struct.C, align 1
   %0 = getelementptr inbounds %struct.C, %struct.C* %c, i32 0, i32 0, i32 0
-  call void @llvm.lifetime.start(i64 1000, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 1000, i8* %0) #1
   call void @use_C(%struct.C* byval %c) #3
-  call void @llvm.lifetime.end(i64 1000, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 1000, i8* %0) #1
   ret void
 }
 
@@ -24,9 +24,9 @@ define void @pass_S() #0 {
 entry:
   %s = alloca %struct.S, align 2
   %0 = bitcast %struct.S* %s to i8*
-  call void @llvm.lifetime.start(i64 2000, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 2000, i8* %0) #1
   call void @use_S(%struct.S* byval %s) #3
-  call void @llvm.lifetime.end(i64 2000, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 2000, i8* %0) #1
   ret void
 }
 
@@ -37,9 +37,9 @@ define void @pass_I() #0 {
 entry:
   %i = alloca %struct.I, align 4
   %0 = bitcast %struct.I* %i to i8*
-  call void @llvm.lifetime.start(i64 4000, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 4000, i8* %0) #1
   call void @use_I(%struct.I* byval %i) #3
-  call void @llvm.lifetime.end(i64 4000, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 4000, i8* %0) #1
   ret void
 }
 
@@ -47,8 +47,8 @@ declare void @use_C(%struct.C* byval) #2
 declare void @use_S(%struct.S* byval) #2
 declare void @use_I(%struct.I* byval) #2
 
-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
 
 
 attributes #0 = { nounwind optsize "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: llvm/trunk/test/CodeGen/Thumb/stack-coloring-without-frame-ptr.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb/stack-coloring-without-frame-ptr.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb/stack-coloring-without-frame-ptr.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb/stack-coloring-without-frame-ptr.ll Mon Apr 10 15:18:21 2017
@@ -12,18 +12,18 @@ entry:
 
   %0 = bitcast %deque* %var3 to i8*
   %1 = bitcast %iterator* %var1 to i8*
-  call void @llvm.lifetime.start(i64 16, i8* %1) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %1) nounwind
   call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %0, i32 16, i32 4, i1 false)
-  call void @llvm.lifetime.end(i64 16, i8* %1) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 16, i8* %1) nounwind
 
   %2 = bitcast %insert_iterator* %var2 to i8*
-  call void @llvm.lifetime.start(i64 20, i8* %2) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 20, i8* %2) nounwind
 
   ret i32 0
 }
 
 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
 
-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

Modified: llvm/trunk/test/CodeGen/Thumb/stack_guard_remat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb/stack_guard_remat.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb/stack_guard_remat.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb/stack_guard_remat.ll Mon Apr 10 15:18:21 2017
@@ -27,20 +27,20 @@
 define i32 @test_stack_guard_remat() #0 {
   %a1 = alloca [256 x i32], align 4
   %1 = bitcast [256 x i32]* %a1 to i8*
-  call void @llvm.lifetime.start(i64 1024, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %1)
   %2 = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i32 0, i32 0
   call void @foo3(i32* %2) #3
   call void asm sideeffect "foo2", "~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{sp},~{lr}"()
-  call void @llvm.lifetime.end(i64 1024, i8* %1)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %1)
   ret i32 0
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo3(i32*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { nounwind ssp "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" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: llvm/trunk/test/CodeGen/Thumb2/ifcvt-rescan-bug-2016-08-22.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/ifcvt-rescan-bug-2016-08-22.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb2/ifcvt-rescan-bug-2016-08-22.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb2/ifcvt-rescan-bug-2016-08-22.ll Mon Apr 10 15:18:21 2017
@@ -3,7 +3,7 @@ target datalayout = "e-m:e-p:32:32-i64:6
 target triple = "thumbv7-unknown-linux-gnueabihf"
 
 ; Function Attrs: argmemonly 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 @_ZNSaIcEC2Ev() unnamed_addr #0 align 2
@@ -25,7 +25,7 @@ define hidden void @_ZN4llvm14DOTGraphTr
   br label %3
 
 ; <label>:2:                                      ; preds = %0
-  call void @llvm.lifetime.start(i64 1, i8* undef) #0
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* undef) #0
   call void @_ZNSaIcEC2Ev() #0
   br label %3
 

Modified: llvm/trunk/test/CodeGen/Thumb2/stack_guard_remat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/stack_guard_remat.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb2/stack_guard_remat.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb2/stack_guard_remat.ll Mon Apr 10 15:18:21 2017
@@ -24,20 +24,20 @@
 define i32 @test_stack_guard_remat() #0 {
   %a1 = alloca [256 x i32], align 4
   %1 = bitcast [256 x i32]* %a1 to i8*
-  call void @llvm.lifetime.start(i64 1024, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %1)
   %2 = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i32 0, i32 0
   call void @foo3(i32* %2) #3
   call void asm sideeffect "foo2", "~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{sp},~{lr}"()
-  call void @llvm.lifetime.end(i64 1024, i8* %1)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %1)
   ret i32 0
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo3(i32*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { nounwind ssp "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" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: llvm/trunk/test/CodeGen/X86/StackColoring-dbg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/StackColoring-dbg.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/StackColoring-dbg.ll (original)
+++ llvm/trunk/test/CodeGen/X86/StackColoring-dbg.ll Mon Apr 10 15:18:21 2017
@@ -15,16 +15,16 @@ entry:
   br label %for.body
 
 for.body:
-  call void @llvm.lifetime.end(i64 -1, i8* %0) nounwind
-  call void @llvm.lifetime.start(i64 -1, i8* %x.i) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %x.i) nounwind
   call void @llvm.dbg.declare(metadata i8* %x.i, metadata !22, metadata !DIExpression()) nounwind, !dbg !DILocation(scope: !2)
   br label %for.body
 }
 
 
-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
 
 !llvm.dbg.cu = !{!0}
 !llvm.module.flags = !{!23}

Modified: llvm/trunk/test/CodeGen/X86/StackColoring.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/StackColoring.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/StackColoring.ll (original)
+++ llvm/trunk/test/CodeGen/X86/StackColoring.ll Mon Apr 10 15:18:21 2017
@@ -15,14 +15,14 @@ entry:
   %a2 = alloca [16 x i8*], align 8
   %b = bitcast [17 x i8*]* %a to i8*
   %b2 = bitcast [16 x i8*]* %a2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b)
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
-  call void @llvm.lifetime.end(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b2)
   %t5 = add i32 %t1, %t2
   %t6 = add i32 %t3, %t4
   %t7 = add i32 %t5, %t6
@@ -40,22 +40,22 @@ entry:
   %a2 = alloca [16 x i8*], align 8
   %b = bitcast [17 x i8*]* %a to i8*
   %b2 = bitcast [16 x i8*]* %a2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b)
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
   br i1 %d, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
-  call void @llvm.lifetime.end(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b2)
   %t5 = add i32 %t1, %t2
   %t6 = add i32 %t3, %t4
   %t7 = add i32 %t5, %t6
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
   ret i32 %t7
 bb3:
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
   ret i32 0
 }
 
@@ -69,16 +69,16 @@ entry:
   %a2 = alloca [16 x i8*], align 8
   %b = bitcast [17 x i8*]* %a to i8*
   %b2 = bitcast [16 x i8*]* %a2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b)
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
   br i1 %d, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
-  call void @llvm.lifetime.end(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b2)
   %t5 = add i32 %t1, %t2
   %t6 = add i32 %t3, %t4
   %t7 = add i32 %t5, %t6
@@ -102,21 +102,21 @@ entry:
   %b2 = bitcast [13 x i8*]* %a2 to i8*
   %b3 = bitcast [12 x i8*]* %a3 to i8*
   %b4 = bitcast [11 x i8*]* %a4 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b4)
-  call void @llvm.lifetime.start(i64 -1, i8* %b1)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b4)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b1)
   %t1 = call i32 @foo(i32 %in, i8* %b1)
   %t2 = call i32 @foo(i32 %in, i8* %b1)
-  call void @llvm.lifetime.end(i64 -1, i8* %b1)
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b1)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t9 = call i32 @foo(i32 %in, i8* %b2)
   %t8 = call i32 @foo(i32 %in, i8* %b2)
-  call void @llvm.lifetime.end(i64 -1, i8* %b2)
-  call void @llvm.lifetime.start(i64 -1, i8* %b3)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b3)
   %t3 = call i32 @foo(i32 %in, i8* %b3)
   %t4 = call i32 @foo(i32 %in, i8* %b3)
-  call void @llvm.lifetime.end(i64 -1, i8* %b3)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b3)
   %t11 = call i32 @foo(i32 %in, i8* %b4)
-  call void @llvm.lifetime.end(i64 -1, i8* %b4)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b4)
   %t5 = add i32 %t1, %t2
   %t6 = add i32 %t3, %t4
   %t7 = add i32 %t5, %t6
@@ -137,23 +137,23 @@ entry:
   %b2 = bitcast [13 x i8*]* %a2 to i8*
   %b3 = bitcast [12 x i8*]* %a3 to i8*
   %b4 = bitcast [11 x i8*]* %a4 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b1)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b1)
   %t1 = call i32 @foo(i32 %in, i8* %b1)
   %t2 = call i32 @foo(i32 %in, i8* %b1)
-  call void @llvm.lifetime.end(i64 -1, i8* %b1)
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b1)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t9 = call i32 @foo(i32 %in, i8* %b2)
   %t8 = call i32 @foo(i32 %in, i8* %b2)
-  call void @llvm.lifetime.end(i64 -1, i8* %b2)
-  call void @llvm.lifetime.start(i64 -1, i8* %b3)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b3)
   %t3 = call i32 @foo(i32 %in, i8* %b3)
   %t4 = call i32 @foo(i32 %in, i8* %b3)
-  call void @llvm.lifetime.end(i64 -1, i8* %b3)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b3)
   br i1 undef, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.start(i64 -1, i8* %b4)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b4)
   %t11 = call i32 @foo(i32 %in, i8* %b4)
-  call void @llvm.lifetime.end(i64 -1, i8* %b4)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b4)
   %t5 = add i32 %t1, %t2
   %t6 = add i32 %t3, %t4
   %t7 = add i32 %t5, %t6
@@ -174,13 +174,13 @@ entry:
   %a2 = alloca [16 x i8*], align 8
   %b = bitcast [17 x i8*]* %a to i8*
   %b2 = bitcast [16 x i8*]* %a2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b)
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
   br i1 %d, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
   %t5 = add i32 %t1, %t2
@@ -200,13 +200,13 @@ entry:
   %a2 = alloca [16 x i8*], align 8
   %b = bitcast [17 x i8*]* %a to i8*
   %b2 = bitcast [16 x i8*]* %a2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b)
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
   br i1 %d, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
   %t5 = add i32 %t1, %t2
@@ -229,10 +229,10 @@ entry:
   %b2 = bitcast [16 x i8*]* %a2 to i8*
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
   br i1 %d, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
   %t5 = add i32 %t1, %t2
@@ -254,19 +254,19 @@ 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 @bar([100 x i32]* %A.i, [100 x i32]* %B.i) nounwind
-  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
   %2 = bitcast [100 x i32]* %A.i1 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %2) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %2) nounwind
   %3 = bitcast [100 x i32]* %B.i2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %3) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %3) nounwind
   call void @bar([100 x i32]* %A.i1, [100 x i32]* %B.i2) nounwind
-  call void @llvm.lifetime.end(i64 -1, i8* %2) nounwind
-  call void @llvm.lifetime.end(i64 -1, i8* %3) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %2) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %3) nounwind
   ret void
 }
 
@@ -281,7 +281,7 @@ entry:
   %b2 = bitcast [16 x i8*]* %a2 to i8*
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
   br i1 %d, label %bb0, label %bb1
 
 bb0:
@@ -294,13 +294,13 @@ bb1:
 
 bb2:
   %split = phi i8* [ %I1, %bb0 ], [ %I2, %bb1 ]
-  call void @llvm.lifetime.start(i64 -1, i8* %split)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %split)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
   %t5 = add i32 %t1, %t2
   %t6 = add i32 %t3, %t4
   %t7 = add i32 %t5, %t6
-  call void @llvm.lifetime.end(i64 -1, i8* %split)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %split)
   ret i32 %t7
 bb3:
   ret i32 0
@@ -318,21 +318,21 @@ 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 ; <---- start #1
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %0) nounwind ; <---- start #1
   %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 @bar([100 x i32]* %A.i, [100 x i32]* %B.i) nounwind
-  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
   %2 = bitcast [100 x i32]* %A.i1 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %2) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %2) nounwind
   %3 = bitcast [100 x i32]* %B.i2 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %3) nounwind
-  call void @llvm.lifetime.start(i64 -1, i8* %0) nounwind  ; <---- start #2
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %3) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %0) nounwind  ; <---- start #2
   call void @bar([100 x i32]* %A.i1, [100 x i32]* %B.i2) nounwind
-  call void @llvm.lifetime.end(i64 -1, i8* %2) nounwind
-  call void @llvm.lifetime.end(i64 -1, i8* %0) nounwind
-  call void @llvm.lifetime.end(i64 -1, i8* %3) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %2) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %0) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %3) nounwind
   ret void
 }
 
@@ -344,11 +344,11 @@ entry:
   %b2 = bitcast [16 x i8*]* %a2 to i8*
   %t1 = call i32 @foo(i32 %in, i8* %b)
   %t2 = call i32 @foo(i32 %in, i8* %b)
-  call void @llvm.lifetime.end(i64 -1, i8* %b)
-  call void @llvm.lifetime.start(i64 -1, i8* %b)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %b)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b)
   br i1 %d, label %bb2, label %bb3
 bb2:
-  call void @llvm.lifetime.start(i64 -1, i8* %b2)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %b2)
   %t3 = call i32 @foo(i32 %in, i8* %b2)
   %t4 = call i32 @foo(i32 %in, i8* %b2)
   %t5 = add i32 %t1, %t2
@@ -369,11 +369,11 @@ define void @myCall_pr15707() {
   %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)
   %result1 = call i32 @foo(i32 0, i8* %buf1)
   %result2 = call i32 @foo(i32 0, i8* %buf2)
   ret void
@@ -390,12 +390,12 @@ 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 @bar([100 x i32]* %A.i, [100 x i32]* %B.i) nounwind
-  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:
@@ -418,13 +418,13 @@ define i32 @shady_range(i32 %argc, i8**
   %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)
   %z3 = load i32, i32* %z2, align 16
   %r = call i32 @foo(i32 %z3, i8* %a8)
   %r2 = call i32 @foo(i32 %z3, i8* %b8)
-  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 9
 }
 
@@ -446,38 +446,38 @@ entry:
   %b4 = alloca [128 x i32], align 16
   %b5 = alloca [128 x i32], align 16
   %tmp = bitcast [128 x i32]* %b1 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp)
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp)
   %tmp1 = bitcast [128 x i32]* %b2 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp1)
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp1)
   %and = and i32 %x, 1
   %tobool = icmp eq i32 %and, 0
   br i1 %tobool, label %if.else, label %if.then
 
 if.then:                                          ; preds = %entry
   %tmp2 = bitcast [128 x i32]* %b3 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp2)
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp2)
   %a1 = getelementptr inbounds [128 x i32], [128 x i32]* %b1, i64 0, i64 0
   %a2 = getelementptr inbounds [128 x i32], [128 x i32]* %b3, i64 0, i64 0
   call void @initb(i32* %a1, i32* %a2, i32* null)
-  call void @llvm.lifetime.end(i64 512, i8* %tmp2)
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp2)
   br label %if.end
 
 if.else:                                          ; preds = %entry
   %tmp3 = bitcast [128 x i32]* %b4 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp3)
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp3)
   %tmp4 = bitcast [128 x i32]* %b5 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp4)
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp4)
   %a3 = getelementptr inbounds [128 x i32], [128 x i32]* %b2, i64 0, i64 0
   %a4 = getelementptr inbounds [128 x i32], [128 x i32]* %b4, i64 0, i64 0
   %a5 = getelementptr inbounds [128 x i32], [128 x i32]* %b5, i64 0, i64 0
   call void @initb(i32* %a3, i32* %a4, i32* %a5) #3
-  call void @llvm.lifetime.end(i64 512, i8* %tmp4)
-  call void @llvm.lifetime.end(i64 512, i8* %tmp3)
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp4)
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp3)
   br label %if.end
 
 if.end:                                           ; preds = %if.else, %if.then
-  call void @llvm.lifetime.end(i64 512, i8* %tmp1)
-  call void @llvm.lifetime.end(i64 512, i8* %tmp)
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp1)
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp)
   ret i32 0
 
 }
@@ -499,9 +499,9 @@ entry:
   %b2 = alloca [128 x i32], align 16
   %b3 = alloca [128 x i32], align 16
   %tmp = bitcast [128 x i32]* %b1 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp) #3
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp) #3
   %tmp1 = bitcast [128 x i32]* %b2 to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %tmp1) #3
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp1) #3
   %and = and i32 %x, 1
   %tobool = icmp eq i32 %and, 0
   br i1 %tobool, label %if.else, label %if.then
@@ -526,9 +526,9 @@ while.body.lr.ph:
 while.body:                                       ; preds = %while.body.lr.ph, %while.body
   %x.addr.06 = phi i32 [ %x, %while.body.lr.ph ], [ %dec, %while.body ]
   %dec = add nsw i32 %x.addr.06, -1
-  call void @llvm.lifetime.start(i64 512, i8* %tmp2) #3
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %tmp2) #3
   call void @inita(i32* %arraydecay3) #3
-  call void @llvm.lifetime.end(i64 512, i8* %tmp2) #3
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp2) #3
   %tobool2 = icmp eq i32 %dec, 0
   br i1 %tobool2, label %if.end.loopexit, label %while.body
 
@@ -536,8 +536,8 @@ if.end.loopexit:
   br label %if.end
 
 if.end:                                           ; preds = %if.end.loopexit, %if.else, %if.then
-  call void @llvm.lifetime.end(i64 512, i8* %tmp1) #3
-  call void @llvm.lifetime.end(i64 512, i8* %tmp) #3
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp1) #3
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %tmp) #3
   ret i32 0
 }
 
@@ -556,25 +556,25 @@ entry:
   %buffer.i = alloca [12 x i32], align 16
   %abc = alloca [12 x i32], align 16
   %tmp = bitcast [12 x i32]* %buffer.i to i8*
-  call void @llvm.lifetime.start(i64 48, i8* %tmp)
+  call void @llvm.lifetime.start.p0i8(i64 48, i8* %tmp)
   %idxprom.i = sext i32 %y to i64
   %arrayidx.i = getelementptr inbounds [12 x i32], [12 x i32]* %buffer.i, i64 0, i64 %idxprom.i
   call void @inita(i32* %arrayidx.i)
   %add.i = add nsw i32 %x, %y
-  call void @llvm.lifetime.end(i64 48, i8* %tmp)
+  call void @llvm.lifetime.end.p0i8(i64 48, i8* %tmp)
   %tobool = icmp eq i32 %y, 0
   br i1 %tobool, label %if.end, label %if.then
 
 if.then:                                          ; preds = %entry
   %tmp1 = bitcast [12 x i32]* %abc to i8*
-  call void @llvm.lifetime.start(i64 48, i8* %tmp1)
+  call void @llvm.lifetime.start.p0i8(i64 48, i8* %tmp1)
   %arrayidx = getelementptr inbounds [12 x i32], [12 x i32]* %abc, i64 0, i64 %idxprom.i
   call void @inita(i32* %arrayidx)
-  call void @llvm.lifetime.start(i64 48, i8* %tmp)
+  call void @llvm.lifetime.start.p0i8(i64 48, i8* %tmp)
   call void @inita(i32* %arrayidx.i)
   %add.i9 = add nsw i32 %add.i, %y
-  call void @llvm.lifetime.end(i64 48, i8* %tmp)
-  call void @llvm.lifetime.end(i64 48, i8* %tmp1)
+  call void @llvm.lifetime.end.p0i8(i64 48, i8* %tmp)
+  call void @llvm.lifetime.end.p0i8(i64 48, i8* %tmp1)
   br label %if.end
 
 if.end:                                           ; preds = %if.then, %entry
@@ -588,8 +588,8 @@ declare void @initb(i32*,i32*,i32*)
 
 declare void @bar([100 x i32]* , [100 x i32]*) nounwind
 
-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
 
 declare i32 @foo(i32, i8*)

Modified: llvm/trunk/test/CodeGen/X86/avx-vbroadcast.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx-vbroadcast.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/avx-vbroadcast.ll (original)
+++ llvm/trunk/test/CodeGen/X86/avx-vbroadcast.ll Mon Apr 10 15:18:21 2017
@@ -878,15 +878,15 @@ define float @broadcast_lifetime() nounw
   %3 = bitcast <4 x float>* %1 to i8*
   %4 = bitcast <4 x float>* %2 to i8*
 
-  call void @llvm.lifetime.start(i64 16, i8* %3)
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %3)
   call void @gfunc(<4 x float>* %1)
   %5 = load <4 x float>, <4 x float>* %1, align 16
-  call void @llvm.lifetime.end(i64 16, i8* %3)
+  call void @llvm.lifetime.end.p0i8(i64 16, i8* %3)
 
-  call void @llvm.lifetime.start(i64 16, i8* %4)
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %4)
   call void @gfunc(<4 x float>* %2)
   %6 = load <4 x float>, <4 x float>* %2, align 16
-  call void @llvm.lifetime.end(i64 16, i8* %4)
+  call void @llvm.lifetime.end.p0i8(i64 16, i8* %4)
 
   %7 = extractelement <4 x float> %5, i32 1
   %8 = extractelement <4 x float> %6, i32 1
@@ -895,5 +895,5 @@ define float @broadcast_lifetime() nounw
 }
 
 declare void @gfunc(<4 x float>*)
-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*)

Modified: llvm/trunk/test/CodeGen/X86/catchpad-lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/catchpad-lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/catchpad-lifetime.ll (original)
+++ llvm/trunk/test/CodeGen/X86/catchpad-lifetime.ll Mon Apr 10 15:18:21 2017
@@ -26,9 +26,9 @@ catch.pad:
   %cp = catchpad within %cs [i8* null, i32 0, i8** %alloca1]
   store volatile i8* null, i8** %alloca1
   %bc1 = bitcast i8** %alloca1 to i8*
-  call void @llvm.lifetime.end(i64 4, i8* nonnull %bc1)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %bc1)
   %bc2 = bitcast i8** %alloca2 to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %bc2)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %bc2)
   store volatile i8* null, i8** %alloca1
   unreachable
 
@@ -63,9 +63,9 @@ catch.pad:
   %cp = catchpad within %cs [i8* null, i32 0, i8** null]
   store volatile i8* null, i8** %alloca1
   %bc1 = bitcast i8** %alloca1 to i8*
-  call void @llvm.lifetime.end(i64 4, i8* nonnull %bc1)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %bc1)
   %bc2 = bitcast i8** %alloca2 to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %bc2)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %bc2)
   store volatile i8* null, i8** %alloca1
   unreachable
 
@@ -83,9 +83,9 @@ unreachable:
 
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #0
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #0
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #0
 
 attributes #0 = { argmemonly nounwind }

Modified: llvm/trunk/test/CodeGen/X86/catchpad-weight.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/catchpad-weight.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/catchpad-weight.ll (original)
+++ llvm/trunk/test/CodeGen/X86/catchpad-weight.ll Mon Apr 10 15:18:21 2017
@@ -26,7 +26,7 @@ define i32 @main() #0 personality i8* bi
 entry:
   %o = alloca %struct.HasDtor, align 1
   %0 = getelementptr inbounds %struct.HasDtor, %struct.HasDtor* %o, i64 0, i32 0
-  call void @llvm.lifetime.start(i64 1, i8* %0) #4
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %0) #4
   invoke void @"\01?may_throw@@YAXXZ"()
           to label %try.cont unwind label %catch.dispatch
 
@@ -39,7 +39,7 @@ catch.5:
 
 try.cont:                                         ; preds = %entry, %catch, %catch.3, %catch.5
   call void @"\01??1HasDtor@@QEAA at XZ"(%struct.HasDtor* nonnull %o) #4
-  call void @llvm.lifetime.end(i64 1, i8* %0) #4
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %0) #4
   ret i32 0
 
 catch.dispatch.1:                                 ; preds = %catch.dispatch
@@ -63,7 +63,7 @@ ehcleanup:
 }
 
 ; Function Attrs: nounwind argmemonly
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 
 declare void @"\01?may_throw@@YAXXZ"() #2
 
@@ -73,7 +73,7 @@ declare i32 @__CxxFrameHandler3(...)
 declare void @"\01??1HasDtor@@QEAA at XZ"(%struct.HasDtor*) #3
 
 ; Function Attrs: nounwind argmemonly
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 attributes #0 = { uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { nounwind argmemonly }

Modified: llvm/trunk/test/CodeGen/X86/crash.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/crash.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/crash.ll (original)
+++ llvm/trunk/test/CodeGen/X86/crash.ll Mon Apr 10 15:18:21 2017
@@ -314,9 +314,9 @@ declare %t14* @_ZN4llvm9MCContext16Creat
 
 declare void @_ZNSt6vectorIN4llvm11MachineMoveESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%t10*, %t21* byval align 4, %t13*)
 
-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
 
 ; PR10463
 ; Spilling a virtual register with <undef> uses.

Modified: llvm/trunk/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll (original)
+++ llvm/trunk/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll Mon Apr 10 15:18:21 2017
@@ -65,13 +65,13 @@ if.then:
 
 if.end:                                           ; preds = %entry, %if.then
   %0 = getelementptr inbounds %struct.AAA3, %struct.AAA3* %var1, i64 0, i32 0, i64 0, !dbg !56
-  call void @llvm.lifetime.start(i64 4, i8* %0) #4, !dbg !56
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #4, !dbg !56
   tail call void @llvm.dbg.value(metadata %struct.AAA3* %var1, i64 0, metadata !32, metadata !57), !dbg !58
   tail call void @llvm.dbg.value(metadata %struct.AAA3* %var1, i64 0, metadata !36, metadata !46), !dbg !59
   tail call void @llvm.dbg.value(metadata i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i64 0, i64 0), i64 0, metadata !38, metadata !46), !dbg !62
   call void @_Z3fooPcjPKc(i8* %0, i32 4, i8* nonnull getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i64 0, i64 0)), !dbg !63
   %1 = getelementptr inbounds %struct.AAA3, %struct.AAA3* %var2, i64 0, i32 0, i64 0, !dbg !65
-  call void @llvm.lifetime.start(i64 4, i8* %1) #4, !dbg !65
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %1) #4, !dbg !65
   call void @llvm.dbg.value(metadata %struct.AAA3* %var2, i64 0, metadata !33, metadata !57), !dbg !66
   call void @llvm.dbg.value(metadata %struct.AAA3* %var2, i64 0, metadata !36, metadata !46), !dbg !67
   call void @llvm.dbg.value(metadata i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i64 0, i64 0), i64 0, metadata !38, metadata !46), !dbg !69
@@ -96,18 +96,18 @@ if.end3:
   call void @llvm.dbg.value(metadata %struct.AAA3* %var1, i64 0, metadata !41, metadata !46), !dbg !82
   call void @llvm.dbg.value(metadata i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i64 0, i64 0), i64 0, metadata !42, metadata !46), !dbg !84
   call void @_Z3fooPcjPKc(i8* %0, i32 4, i8* nonnull getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i64 0, i64 0)), !dbg !85
-  call void @llvm.lifetime.end(i64 4, i8* %1) #4, !dbg !86
-  call void @llvm.lifetime.end(i64 4, i8* %0) #4, !dbg !87
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %1) #4, !dbg !86
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #4, !dbg !87
   ret void, !dbg !86
 }
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 
 declare i8* @_Z5i2stri(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
 
 declare void @_Z3fooPcjPKc(i8*, i32, i8*) #2
 

Modified: llvm/trunk/test/CodeGen/X86/dynamic-alloca-lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/dynamic-alloca-lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/dynamic-alloca-lifetime.ll (original)
+++ llvm/trunk/test/CodeGen/X86/dynamic-alloca-lifetime.ll Mon Apr 10 15:18:21 2017
@@ -10,10 +10,10 @@ target datalayout = "e-m:o-p:32:32-f64:3
 target triple = "i386-apple-macosx10.10.0"
 
 ; 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
 
 ; Function Attrs: ssp
 define void @foo(i1 %cond1, i1 %cond2) #1 {
@@ -30,11 +30,11 @@ end1:
 
 if.else130:                                       ; preds = %bb1
   %tmp = getelementptr inbounds [8192 x i8], [8192 x i8]* %bitmapBuffer, i32 0, i32 0
-  call void @llvm.lifetime.start(i64 8192, i8* %tmp) #0
-  call void @llvm.lifetime.end(i64 8192, i8* %tmp) #0
+  call void @llvm.lifetime.start.p0i8(i64 8192, i8* %tmp) #0
+  call void @llvm.lifetime.end.p0i8(i64 8192, i8* %tmp) #0
   %tmp25 = getelementptr inbounds [8192 x i8], [8192 x i8]* %bitmapBuffer229, i32 0, i32 0
-  call void @llvm.lifetime.start(i64 8192, i8* %tmp25) #0
-  call void @llvm.lifetime.end(i64 8192, i8* %tmp25) #0
+  call void @llvm.lifetime.start.p0i8(i64 8192, i8* %tmp25) #0
+  call void @llvm.lifetime.end.p0i8(i64 8192, i8* %tmp25) #0
   br label %end1
 }
 

Modified: llvm/trunk/test/CodeGen/X86/fast-isel-deadcode.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fast-isel-deadcode.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fast-isel-deadcode.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fast-isel-deadcode.ll Mon Apr 10 15:18:21 2017
@@ -83,7 +83,7 @@ entry:
   %tmp = alloca { <2 x float>, float }, align 8
   store i32 0, i32* %retval, align 4
   %0 = bitcast %struct.FVector* %v to i8*
-  call void @llvm.lifetime.start(i64 12, i8* %0) nounwind
+  call void @llvm.lifetime.start.p0i8(i64 12, i8* %0) nounwind
   %x.i = getelementptr inbounds %struct.FVector, %struct.FVector* %v, i64 0, i32 0
   store float 1.000000e+00, float* %x.i, align 4
   %y.i = getelementptr inbounds %struct.FVector, %struct.FVector* %v, i64 0, i32 1
@@ -136,12 +136,12 @@ func.exit:                         ; pre
   %5 = bitcast %struct.FVector* %ref.tmp to i8*
   call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* %5, i64 12, i32 4, i1 false)
   %6 = bitcast %struct.FVector* %v to i8*
-  call void @llvm.lifetime.end(i64 12, i8* %6) nounwind
+  call void @llvm.lifetime.end.p0i8(i64 12, i8* %6) nounwind
   ret i32 0
 }
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) argmemonly nounwind
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) argmemonly nounwind
 
 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) argmemonly nounwind
 
-declare void @llvm.lifetime.end(i64, i8* nocapture) argmemonly nounwind
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) argmemonly nounwind

Modified: llvm/trunk/test/CodeGen/X86/fast-isel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fast-isel.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fast-isel.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fast-isel.ll Mon Apr 10 15:18:21 2017
@@ -107,12 +107,12 @@ define void @crash_test1() nounwind ssp
   ret void
 }
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind
 
 define i64* @life() nounwind {
   %a1 = alloca i64*, align 8
   %a2 = bitcast i64** %a1 to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %a2) nounwind      
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %a2) nounwind      
   %a3 = load i64*, i64** %a1, align 8
   ret i64* %a3
 }

Modified: llvm/trunk/test/CodeGen/X86/load-slice.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/load-slice.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/load-slice.ll (original)
+++ llvm/trunk/test/CodeGen/X86/load-slice.ll Mon Apr 10 15:18:21 2017
@@ -73,10 +73,10 @@ entry:
 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #1
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 ; Check that we do not read outside of the chunk of bits of the original loads.
 ;

Modified: llvm/trunk/test/CodeGen/X86/local_stack_symbol_ordering.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/local_stack_symbol_ordering.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/local_stack_symbol_ordering.ll (original)
+++ llvm/trunk/test/CodeGen/X86/local_stack_symbol_ordering.ll Mon Apr 10 15:18:21 2017
@@ -115,21 +115,21 @@ entry:
   %d = alloca i32, align 4
   %aaa = alloca [1000 x i32], align 16
   %0 = bitcast i32* %f to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #1
   %1 = bitcast [30 x i32]* %a to i8*
-  call void @llvm.lifetime.start(i64 120, i8* %1) #1
+  call void @llvm.lifetime.start.p0i8(i64 120, i8* %1) #1
   %2 = bitcast [1000 x i32]* %aa to i8*
-  call void @llvm.lifetime.start(i64 4000, i8* %2) #1
+  call void @llvm.lifetime.start.p0i8(i64 4000, i8* %2) #1
   %3 = bitcast i32* %e to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %3) #1
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %3) #1
   %4 = bitcast [1000 x i32]* %cc to i8*
-  call void @llvm.lifetime.start(i64 4000, i8* %4) #1
+  call void @llvm.lifetime.start.p0i8(i64 4000, i8* %4) #1
   %5 = bitcast i32* %b to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %5) #1
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %5) #1
   %6 = bitcast i32* %d to i8*
-  call void @llvm.lifetime.start(i64 4, i8* %6) #1
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %6) #1
   %7 = bitcast [1000 x i32]* %aaa to i8*
-  call void @llvm.lifetime.start(i64 4000, i8* %7) #1
+  call void @llvm.lifetime.start.p0i8(i64 4000, i8* %7) #1
   %call = call i32 ([30 x i32]*, ...) bitcast (i32 (...)* @check_a to i32 ([30 x i32]*, ...)*)([30 x i32]* %a)
   %call1 = call i32 ([1000 x i32]*, ...) bitcast (i32 (...)* @bar1 to i32 ([1000 x i32]*, ...)*)([1000 x i32]* %aaa)
   call void asm sideeffect "", "~{esi},~{edi},~{ebp},~{ebx},~{rbx},~{r12},~{r13},~{r14},~{r15},~{rbp},~{dirflag},~{fpsr},~{flags}"() #1
@@ -156,19 +156,19 @@ entry:
   %call15 = call i32 (i32*, i32*, i32*, ...) bitcast (i32 (...)* @bar3 to i32 (i32*, i32*, i32*, ...)*)(i32* %d, i32* %e, i32* %f)
   call void asm sideeffect "", "~{esi},~{edi},~{ebp},~{ebx},~{rbx},~{r12},~{r13},~{r14},~{r15},~{rbp},~{dirflag},~{fpsr},~{flags}"() #1
   %call16 = call i32 ([30 x i32]*, ...) bitcast (i32 (...)* @bar1 to i32 ([30 x i32]*, ...)*)([30 x i32]* %a)
-  call void @llvm.lifetime.end(i64 4000, i8* %7) #1
-  call void @llvm.lifetime.end(i64 4, i8* %6) #1
-  call void @llvm.lifetime.end(i64 4, i8* %5) #1
-  call void @llvm.lifetime.end(i64 4000, i8* %4) #1
-  call void @llvm.lifetime.end(i64 4, i8* %3) #1
-  call void @llvm.lifetime.end(i64 4000, i8* %2) #1
-  call void @llvm.lifetime.end(i64 120, i8* %1) #1
-  call void @llvm.lifetime.end(i64 4, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 4000, i8* %7) #1
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %6) #1
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %5) #1
+  call void @llvm.lifetime.end.p0i8(i64 4000, i8* %4) #1
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %3) #1
+  call void @llvm.lifetime.end.p0i8(i64 4000, i8* %2) #1
+  call void @llvm.lifetime.end.p0i8(i64 120, i8* %1) #1
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0) #1
   ret void
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 
 declare i32 @check_a(...) #2
 declare i32 @bar1(...) #2
@@ -180,5 +180,5 @@ declare i32 @check_e(...) #2
 declare i32 @check_d(...) #2
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 

Modified: llvm/trunk/test/CodeGen/X86/machine-trace-metrics-crash.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/machine-trace-metrics-crash.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/machine-trace-metrics-crash.ll (original)
+++ llvm/trunk/test/CodeGen/X86/machine-trace-metrics-crash.ll Mon Apr 10 15:18:21 2017
@@ -31,7 +31,7 @@ if.end:
   %add.i = fadd fast float %add, %n0
   store float %add.i, float* undef, align 4
   %n1 = bitcast %struct.A* %i to i8*
-  call void @llvm.lifetime.start(i64 16, i8* %n1)
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %n1)
   %n2 = load <2 x float>, <2 x float>* undef, align 8
   %conv = uitofp i1 %tobool to float
   %bitcast = extractelement <2 x float> %n2, i32 0
@@ -45,7 +45,7 @@ if.end:
 
 declare void @bar(float)
 declare void @foo(%struct.A*)
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
 
 !llvm.dbg.cu = !{!0}

Modified: llvm/trunk/test/CodeGen/X86/misched-aa-colored.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/misched-aa-colored.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/misched-aa-colored.ll (original)
+++ llvm/trunk/test/CodeGen/X86/misched-aa-colored.ll Mon Apr 10 15:18:21 2017
@@ -143,10 +143,10 @@ declare { %"class.llvm::SDNode.10.610.97
 declare void @__assert_fail(i8*, i8*, i32, i8*) #0
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 ; Function Attrs: nounwind uwtable
 define hidden { %"class.llvm::SDNode.10.610.970.1930.2050.2290.4090"*, i32 } @_ZN4llvm16DAGTypeLegalizer18WidenVecRes_BinaryEPNS_6SDNodeE(%"class.llvm::DAGTypeLegalizer.117.717.1077.2037.2157.2397.4197"* %this, %"class.llvm::SDNode.10.610.970.1930.2050.2290.4090"* %N) #2 align 2 {
@@ -155,13 +155,13 @@ entry:
   %ref.tmp.i = alloca %"struct.std::pair.112.119.719.1079.2039.2159.2399.4199", align 8
   %Op.i = alloca %"class.llvm::SDValue.3.603.963.1923.2043.2283.4083", align 8
   %0 = bitcast %"struct.std::pair.112.119.719.1079.2039.2159.2399.4199"* %ref.tmp.i to i8*
-  call void @llvm.lifetime.start(i64 24, i8* %0) #1
+  call void @llvm.lifetime.start.p0i8(i64 24, i8* %0) #1
   %retval.sroa.0.0.idx.i36 = getelementptr inbounds %"struct.std::pair.112.119.719.1079.2039.2159.2399.4199", %"struct.std::pair.112.119.719.1079.2039.2159.2399.4199"* %ref.tmp.i, i64 0, i32 1, i32 0, i32 0
   %retval.sroa.0.0.copyload.i37 = load i32, i32* %retval.sroa.0.0.idx.i36, align 8
-  call void @llvm.lifetime.end(i64 24, i8* %0) #1
+  call void @llvm.lifetime.end.p0i8(i64 24, i8* %0) #1
   %agg.tmp8.sroa.2.0.copyload = load i32, i32* undef, align 8
   %1 = bitcast %"class.llvm::SDValue.3.603.963.1923.2043.2283.4083"* %Op.i to i8*
-  call void @llvm.lifetime.start(i64 16, i8* %1) #1
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %1) #1
   %2 = getelementptr %"class.llvm::SDValue.3.603.963.1923.2043.2283.4083", %"class.llvm::SDValue.3.603.963.1923.2043.2283.4083"* %Op.i, i64 0, i32 1
   store i32 %agg.tmp8.sroa.2.0.copyload, i32* %2, align 8
 

Modified: llvm/trunk/test/CodeGen/X86/stack-align.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stack-align.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stack-align.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stack-align.ll Mon Apr 10 15:18:21 2017
@@ -69,10 +69,10 @@ entry:
 define x86_stdcallcc void @test5(%struct.sixteen* byval nocapture readonly align 4 %s) #0 {
   %d.sroa.0 = alloca [16 x i8], align 1
   %1 = getelementptr inbounds [16 x i8], [16 x i8]* %d.sroa.0, i32 0, i32 0
-  call void @llvm.lifetime.start(i64 16, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %1)
   %2 = getelementptr inbounds %struct.sixteen, %struct.sixteen* %s, i32 0, i32 0, i32 0
   call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 16, i32 1, i1 true)
-  call void @llvm.lifetime.end(i64 16, i8* %1)
+  call void @llvm.lifetime.end.p0i8(i64 16, i8* %1)
   ret void
 ; CHECK-LABEL: test5:
 ; CHECK: and
@@ -82,10 +82,10 @@ define x86_stdcallcc void @test5(%struct
 ; CHECK-NEXT: movsd
 }
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) argmemonly nounwind
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) argmemonly nounwind
 
 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) argmemonly nounwind
 
-declare void @llvm.lifetime.end(i64, i8* nocapture) argmemonly nounwind
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) argmemonly nounwind
 
 attributes #0 = { nounwind alignstack=16 "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }

Modified: llvm/trunk/test/CodeGen/X86/stack-protector-weight.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stack-protector-weight.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stack-protector-weight.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stack-protector-weight.ll Mon Apr 10 15:18:21 2017
@@ -31,20 +31,20 @@ define i32 @test_branch_weights(i32 %n)
 entry:
   %a = alloca [128 x i32], align 16
   %0 = bitcast [128 x i32]* %a to i8*
-  call void @llvm.lifetime.start(i64 512, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 512, i8* %0)
   %arraydecay = getelementptr inbounds [128 x i32], [128 x i32]* %a, i64 0, i64 0
   call void @foo2(i32* %arraydecay)
   %idxprom = sext i32 %n to i64
   %arrayidx = getelementptr inbounds [128 x i32], [128 x i32]* %a, i64 0, i64 %idxprom
   %1 = load i32, i32* %arrayidx, align 4
-  call void @llvm.lifetime.end(i64 512, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 512, i8* %0)
   ret i32 %1
 }
 
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo2(i32*)
 
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { sspstrong "stack-protector-buffer-size"="8" }

Modified: llvm/trunk/test/CodeGen/X86/stack_guard_remat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stack_guard_remat.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stack_guard_remat.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stack_guard_remat.ll Mon Apr 10 15:18:21 2017
@@ -9,20 +9,20 @@ define i32 @test_stack_guard_remat() #0
 entry:
   %a1 = alloca [256 x i32], align 16
   %0 = bitcast [256 x i32]* %a1 to i8*
-  call void @llvm.lifetime.start(i64 1024, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %0)
   %arraydecay = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i64 0, i64 0
   call void @foo3(i32* %arraydecay)
   call void asm sideeffect "foo2", "~{r12},~{r13},~{r14},~{r15},~{ebx},~{esi},~{edi},~{dirflag},~{fpsr},~{flags}"()
-  call void @llvm.lifetime.end(i64 1024, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %0)
   ret i32 0
 }
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture)
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture)
 
 declare void @foo3(i32*)
 
 ; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture)
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture)
 
 attributes #0 = { nounwind ssp uwtable "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" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: llvm/trunk/test/CodeGen/X86/unused_stackslots.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/unused_stackslots.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/unused_stackslots.ll (original)
+++ llvm/trunk/test/CodeGen/X86/unused_stackslots.ll Mon Apr 10 15:18:21 2017
@@ -24,7 +24,7 @@ define i32 @fn() #0 {
 entry:
   %n = alloca [8 x [8 x i32]], align 16
   %tmp = bitcast [8 x [8 x i32]]* %n to i8*
-  call void @llvm.lifetime.start(i64 256, i8* %tmp) #3
+  call void @llvm.lifetime.start.p0i8(i64 256, i8* %tmp) #3
   %tmp1 = bitcast [8 x [8 x i32]]* %n to i8*
   %arraydecay.1 = getelementptr inbounds [8 x [8 x i32]], [8 x [8 x i32]]* %n, i64 0, i64 1, i64 0
   %tmp2 = bitcast i32* %arraydecay.1 to i8*
@@ -222,12 +222,12 @@ for.inc73:
 
 for.end75:                                        ; preds = %for.inc73
   %m.4.lcssa = phi i32 [ %m.4, %for.inc73 ]
-  call void @llvm.lifetime.end(i64 256, i8* %tmp) #3
+  call void @llvm.lifetime.end.p0i8(i64 256, i8* %tmp) #3
   ret i32 %m.4.lcssa
 }
 
 ; 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 @LumaPrediction4x4(i32, i32, i32, i32, i32, i16 signext, i16 signext) #2
 
@@ -237,7 +237,7 @@ declare i32 @distortion4x4(i32*) #2
 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #1
 
 ; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "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 = { argmemonly nounwind }

Modified: llvm/trunk/test/CodeGen/X86/unwindraise.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/unwindraise.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/unwindraise.ll (original)
+++ llvm/trunk/test/CodeGen/X86/unwindraise.ll Mon Apr 10 15:18:21 2017
@@ -123,7 +123,7 @@ while.end:
   store i64 %16, i64* %private_2, align 8
   call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2, i8* %3, i64 240, i32 8, i1 false)
   %17 = bitcast %struct._Unwind_FrameState* %fs.i to i8*
-  call void @llvm.lifetime.start(i64 -1, i8* %17)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %17)
   %personality.i = getelementptr inbounds %struct._Unwind_FrameState, %struct._Unwind_FrameState* %fs.i, i64 0, i32 6
   %retaddr_column.i22 = getelementptr inbounds %struct._Unwind_FrameState, %struct._Unwind_FrameState* %fs.i, i64 0, i32 9
   br label %while.body.i
@@ -211,7 +211,7 @@ uw_update_context.exit44:
   br label %while.body.i
 
 do.body19:                                        ; preds = %if.then3.i
-  call void @llvm.lifetime.end(i64 -1, i8* %17)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %17)
   %call20 = call fastcc i64 @uw_install_context_1(%struct._Unwind_Context* %this_context, %struct._Unwind_Context* %cur_context)
   %32 = load i8*, i8** %ra.i, align 8
   call void @llvm.eh.return.i64(i64 %call20, i8* %32)
@@ -242,6 +242,6 @@ declare void @llvm.eh.return.i64(i64, i8
 
 declare fastcc void @uw_update_context_1(%struct._Unwind_Context*, %struct._Unwind_FrameState* nocapture) uwtable
 
-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

Modified: llvm/trunk/test/CodeGen/X86/x32-va_start.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/x32-va_start.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/x32-va_start.ll (original)
+++ llvm/trunk/test/CodeGen/X86/x32-va_start.ll Mon Apr 10 15:18:21 2017
@@ -24,7 +24,7 @@ define i32 @foo(float %a, i8* nocapture
 entry:
   %ap = alloca [1 x %struct.__va_list_tag], align 16
   %0 = bitcast [1 x %struct.__va_list_tag]* %ap to i8*
-  call void @llvm.lifetime.start(i64 16, i8* %0) #2
+  call void @llvm.lifetime.start.p0i8(i64 16, i8* %0) #2
   call void @llvm.va_start(i8* %0)
 ; SSE: subl $72, %esp
 ; SSE: testb %al, %al
@@ -79,14 +79,14 @@ vaarg.end:
   %vaarg.addr = bitcast i8* %vaarg.addr.in to i32*
   %4 = load i32, i32* %vaarg.addr, align 4
   call void @llvm.va_end(i8* %0)
-  call void @llvm.lifetime.end(i64 16, i8* %0) #2
+  call void @llvm.lifetime.end.p0i8(i64 16, i8* %0) #2
   ret i32 %4
 ; SSE: movl ([[ADDR]]), %eax
 ; SSE: retq
 }
 
 ; Function Attrs: nounwind argmemonly
-declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind
 
 ; Function Attrs: nounwind
 declare void @llvm.va_start(i8*) nounwind
@@ -95,5 +95,5 @@ declare void @llvm.va_start(i8*) nounwin
 declare void @llvm.va_end(i8*) nounwind
 
 ; Function Attrs: nounwind argmemonly
-declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind
 

Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-throw.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-throw.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-throw.ll (original)
+++ llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-throw.ll Mon Apr 10 15:18:21 2017
@@ -23,7 +23,7 @@ entry:
   ; Poison memory in prologue: F1F1F1F1F8F3F3F3
   ; CHECK: store i64 -868082052615769615, i64* %{{[0-9]+}}
 
-  call void @llvm.lifetime.start(i64 4, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0)
   ; CHECK: store i8 4, i8* %{{[0-9]+}}
   ; CHECK-NEXT: @llvm.lifetime.start
 
@@ -37,7 +37,7 @@ lpad:
   %1 = landingpad { i8*, i32 }
           cleanup
   call void @_ZN3ABCD2Ev(%struct.ABC* nonnull %x)
-  call void @llvm.lifetime.end(i64 4, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0)
   ; CHECK: store i8 -8, i8* %{{[0-9]+}}
   ; CHECK-NEXT: @llvm.lifetime.end
 
@@ -77,7 +77,7 @@ entry:
   ; Poison memory in prologue: F1F1F1F1F8F304F2
   ; CHECK: store i64 -935355671561244175, i64* %{{[0-9]+}}
 
-  call void @llvm.lifetime.start(i64 4, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* %0)
   ; CHECK: store i8 4, i8* %{{[0-9]+}}
   ; CHECK-NEXT: @llvm.lifetime.start
 
@@ -90,7 +90,7 @@ entry:
 ehcleanup:
   %2 = cleanuppad within none []
   call void @"\01??1ABC@@QEAA at XZ"(%struct.ABC* nonnull %x) [ "funclet"(token %2) ]
-  call void @llvm.lifetime.end(i64 4, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %0)
   ; CHECK: store i8 -8, i8* %{{[0-9]+}}
   ; CHECK-NEXT: @llvm.lifetime.end
 
@@ -104,8 +104,8 @@ unreachable:
 
 
 declare i32 @__gxx_personality_v0(...)
-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 @__cxa_throw(i8*, i8*, i8*) local_unnamed_addr
 declare i8* @__cxa_allocate_exception(i64) local_unnamed_addr
 declare void @_ZN3ABCD2Ev(%struct.ABC* %this) unnamed_addr

Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll (original)
+++ llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll Mon Apr 10 15:18:21 2017
@@ -6,8 +6,8 @@
 
 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* 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
 
 define i32 @basic_test() sanitize_address {
   ; CHECK-LABEL: define i32 @basic_test()
@@ -19,14 +19,14 @@ entry:
   ; Memory is poisoned in prologue: F1F1F1F104F3F8F2
   ; CHECK-UAS: store i64 -866676825215864335, i64* %{{[0-9]+}}
 
-  call void @llvm.lifetime.start(i64 1, i8* %c)
+  call void @llvm.lifetime.start.p0i8(i64 1, i8* %c)
   ; Memory is unpoisoned at llvm.lifetime.start: 01
   ; CHECK-UAS: store i8 1, i8* %{{[0-9]+}}
 
   store volatile i32 0, i32* %retval
   store volatile i8 0, i8* %c, align 1
 
-  call void @llvm.lifetime.end(i64 1, i8* %c)
+  call void @llvm.lifetime.end.p0i8(i64 1, i8* %c)
   ; Memory is poisoned at llvm.lifetime.end: F8
   ; CHECK-UAS: store i8 -8, i8* %{{[0-9]+}}
 

Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime.ll (original)
+++ llvm/trunk/test/Instrumentation/AddressSanitizer/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -5,8 +5,8 @@
 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"
 target triple = "x86_64-unknown-linux-gnu"
 
-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
 
 define void @lifetime_no_size() sanitize_address {
   ; CHECK-LABEL: define void @lifetime_no_size()
@@ -17,7 +17,7 @@ entry:
   ; Poison memory in prologue: F1F1F1F104F3F3F3
   ; CHECK: store i64 -868083100587789839, i64* %{{[0-9]+}}
 
-  call void @llvm.lifetime.start(i64 -1, i8* %i.ptr)
+  call void @llvm.lifetime.start.p0i8(i64 -1, i8* %i.ptr)
   ; Check that lifetime with no size are ignored.
   ; CHECK-NOT: store
   ; CHECK: call void @llvm.lifetime.start
@@ -25,7 +25,7 @@ entry:
   store volatile i8 0, i8* %i.ptr
   ; CHECK: store volatile
 
-  call void @llvm.lifetime.end(i64 -1, i8* %i.ptr)
+  call void @llvm.lifetime.end.p0i8(i64 -1, i8* %i.ptr)
   ; Check that lifetime with no size are ignored.
   ; CHECK-NOT: store
   ; CHECK: call void @llvm.lifetime.end
@@ -48,19 +48,19 @@ define void @lifetime() sanitize_address
   ; CHECK: store i64 -868082052615769615, i64* %{{[0-9]+}}
 
   ; Memory is unpoisoned at llvm.lifetime.start
-  call void @llvm.lifetime.start(i64 3, i8* %i.ptr)
+  call void @llvm.lifetime.start.p0i8(i64 3, i8* %i.ptr)
   ; CHECK: store i8 4, i8* %{{[0-9]+}}
   ; CHECK-NEXT: llvm.lifetime.start
 
   store volatile i8 0, i8* %i.ptr
   ; CHECK: store volatile
 
-  call void @llvm.lifetime.end(i64 4, i8* %i.ptr)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %i.ptr)
   ; CHECK: store i8 -8, i8* %{{[0-9]+}}
   ; CHECK-NEXT: call void @llvm.lifetime.end
 
   ; Memory is poisoned at every call to llvm.lifetime.end
-  call void @llvm.lifetime.end(i64 2, i8* %i.ptr)
+  call void @llvm.lifetime.end.p0i8(i64 2, i8* %i.ptr)
   ; CHECK: store i8 -8, i8* %{{[0-9]+}}
   ; CHECK-NEXT: call void @llvm.lifetime.end
 
@@ -68,26 +68,26 @@ define void @lifetime() sanitize_address
   %arr = alloca [10 x i32], align 16
   %arr.ptr = bitcast [10 x i32]* %arr to i8*
 
-  call void @llvm.lifetime.start(i64 40, i8* %arr.ptr)
+  call void @llvm.lifetime.start.p0i8(i64 40, i8* %arr.ptr)
   ; CHECK-DEFAULT: call void @__asan_unpoison_stack_memory(i64 %{{[^ ]+}}, i64 40)
   ; CHECK-NO-DYNAMIC-NOT: call void @__asan_unpoison_stack_memory(i64 %{{[^ ]+}}, i64 40)
 
   store volatile i8 0, i8* %arr.ptr
   ; CHECK: store volatile
 
-  call void @llvm.lifetime.end(i64 40, i8* %arr.ptr)
+  call void @llvm.lifetime.end.p0i8(i64 40, i8* %arr.ptr)
   ; CHECK-DEFAULT: call void @__asan_poison_stack_memory(i64 %{{[^ ]+}}, i64 40)
   ; CHECK-NO-DYNAMIC-NOT: call void @__asan_poison_stack_memory(i64 %{{[^ ]+}}, i64 40)
 
   ; One more lifetime start/end for the same variable %i.
-  call void @llvm.lifetime.start(i64 2, i8* %i.ptr)
+  call void @llvm.lifetime.start.p0i8(i64 2, i8* %i.ptr)
   ; CHECK: store i8 4, i8* %{{[0-9]+}}
   ; CHECK-NEXT: llvm.lifetime.start
 
   store volatile i8 0, i8* %i.ptr
   ; CHECK: store volatile
 
-  call void @llvm.lifetime.end(i64 4, i8* %i.ptr)
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* %i.ptr)
   ; CHECK: store i8 -8, i8* %{{[0-9]+}}
   ; CHECK-NEXT: llvm.lifetime.end
 
@@ -108,7 +108,7 @@ entry:
   ; Poison memory in prologue: F1F1F1F1F8F3F3F3
   ; CHECK: store i64 -868082052615769615, i64* %{{[0-9]+}}
 
-  call void @llvm.lifetime.start(i64 8, i8* %i.ptr)
+  call void @llvm.lifetime.start.p0i8(i64 8, i8* %i.ptr)
   ; CHECK: store i8 0, i8* %{{[0-9]+}}
   ; CHECK-NEXT: llvm.lifetime.start
 
@@ -123,7 +123,7 @@ bb0:
 
 bb1:
   %i.phi = phi i8* [ %i.ptr, %entry ], [ %i.ptr2, %bb0 ]
-  call void @llvm.lifetime.end(i64 8, i8* %i.phi)
+  call void @llvm.lifetime.end.p0i8(i64 8, i8* %i.phi)
   ; CHECK: store i8 -8, i8* %{{[0-9]+}}
   ; CHECK-NEXT: llvm.lifetime.end
 
@@ -147,14 +147,14 @@ entry:
   ; CHECK: store i64 -868082074056920077, i64* %{{[0-9]+}}
 
   %0 = getelementptr inbounds [1024 x i8], [1024 x i8]* %x, i64 0, i64 0
-  call void @llvm.lifetime.start(i64 1024, i8* %0)
+  call void @llvm.lifetime.start.p0i8(i64 1024, i8* %0)
   ; CHECK: call void @__asan_set_shadow_00(i64 %{{[0-9]+}}, i64 128)
   ; CHECK-NEXT: call void @llvm.lifetime.start
 
   store i8* %0, i8** %d, align 8
   ; CHECK: store i8
 
-  call void @llvm.lifetime.end(i64 1024, i8* %0)
+  call void @llvm.lifetime.end.p0i8(i64 1024, i8* %0)
   ; CHECK: call void @__asan_set_shadow_f8(i64 %{{[0-9]+}}, i64 128)
   ; CHECK-NEXT: call void @llvm.lifetime.end
 
@@ -172,12 +172,12 @@ entry:
   store i64 %a, i64* %a.addr, align 8
 
   %0 = bitcast [0 x i8]* %b to i8*
-  call void @llvm.lifetime.start(i64 0, i8* %0) #2
+  call void @llvm.lifetime.start.p0i8(i64 0, i8* %0) #2
   ; CHECK: %{{[0-9]+}} = bitcast
   ; CHECK-NEXT: call void @llvm.lifetime.start
 
   %1 = bitcast [0 x i8]* %b to i8*
-  call void @llvm.lifetime.end(i64 0, i8* %1) #2
+  call void @llvm.lifetime.end.p0i8(i64 0, i8* %1) #2
   ; CHECK-NEXT: %{{[0-9]+}} = bitcast
   ; CHECK-NEXT: call void @llvm.lifetime.end
 

Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime-be.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime-be.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime-be.ll (original)
+++ llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime-be.ll Mon Apr 10 15:18:21 2017
@@ -91,7 +91,7 @@ entry:
   ; CHECK-NEXT: %zz = getelementptr inbounds
 
 
-  call void @llvm.lifetime.start(i64 650, i8* %xx)
+  call void @llvm.lifetime.start.p0i8(i64 650, i8* %xx)
   ; 0000...
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 4
   ; ENTRY-UAS-NEXT: call void @__asan_set_shadow_00(i64 [[OFFSET]], i64 81)
@@ -100,39 +100,39 @@ entry:
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i8]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] 2, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.start(i64 650, i8* %xx)
+  ; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 650, i8* %xx)
 
   call void @Foo(i8* %xx)
   ; CHECK-NEXT: call void @Foo(i8* %xx)
 
-  call void @llvm.lifetime.end(i64 650, i8* %xx)
+  call void @llvm.lifetime.end.p0i8(i64 650, i8* %xx)
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 4
   ; ENTRY-UAS-NEXT: call void @__asan_set_shadow_f8(i64 [[OFFSET]], i64 82)
 
-  ; CHECK-NEXT: call void @llvm.lifetime.end(i64 650, i8* %xx)
+  ; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 650, i8* %xx)
 
 
-  call void @llvm.lifetime.start(i64 13, i8* %yy)
+  call void @llvm.lifetime.start.p0i8(i64 13, i8* %yy)
   ; 0005
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 102
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i16]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] 5, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.start(i64 13, i8* %yy)
+  ; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 13, i8* %yy)
 
   call void @Foo(i8* %yy)
   ; CHECK-NEXT: call void @Foo(i8* %yy)
 
-  call void @llvm.lifetime.end(i64 13, i8* %yy)
+  call void @llvm.lifetime.end.p0i8(i64 13, i8* %yy)
   ; F8F8
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 102
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i16]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] -1800, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.end(i64 13, i8* %yy)
+  ; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 13, i8* %yy)
 
 
-  call void @llvm.lifetime.start(i64 40, i8* %zz)
+  call void @llvm.lifetime.start.p0i8(i64 40, i8* %zz)
   ; 00000000
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 106
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i32]]*
@@ -142,12 +142,12 @@ entry:
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i8]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] 0, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.start(i64 40, i8* %zz)
+  ; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 40, i8* %zz)
 
   call void @Foo(i8* %zz)
   ; CHECK-NEXT: call void @Foo(i8* %zz)
 
-  call void @llvm.lifetime.end(i64 40, i8* %zz)
+  call void @llvm.lifetime.end.p0i8(i64 40, i8* %zz)
   ; F8F8F8F8
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 106
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i32]]*
@@ -157,7 +157,7 @@ entry:
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i8]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] -8, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.end(i64 40, i8* %zz)
+  ; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 40, i8* %zz)
 
   ; CHECK-LABEL: <label>
 
@@ -209,8 +209,8 @@ entry:
   ; CHECK: 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)
 
 ; CHECK-ON: declare void @__asan_set_shadow_00(i64, i64)
 ; CHECK-ON: declare void @__asan_set_shadow_f1(i64, i64)

Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime.ll (original)
+++ llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime.ll Mon Apr 10 15:18:21 2017
@@ -91,7 +91,7 @@ entry:
   ; CHECK-NEXT: %zz = getelementptr inbounds
 
 
-  call void @llvm.lifetime.start(i64 650, i8* %xx)
+  call void @llvm.lifetime.start.p0i8(i64 650, i8* %xx)
   ; 0000...
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 4
   ; ENTRY-UAS-NEXT: call void @__asan_set_shadow_00(i64 [[OFFSET]], i64 81)
@@ -100,39 +100,39 @@ entry:
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i8]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] 2, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.start(i64 650, i8* %xx)
+  ; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 650, i8* %xx)
 
   call void @Foo(i8* %xx)
   ; CHECK-NEXT: call void @Foo(i8* %xx)
 
-  call void @llvm.lifetime.end(i64 650, i8* %xx)
+  call void @llvm.lifetime.end.p0i8(i64 650, i8* %xx)
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 4
   ; ENTRY-UAS-NEXT: call void @__asan_set_shadow_f8(i64 [[OFFSET]], i64 82)
 
-  ; CHECK-NEXT: call void @llvm.lifetime.end(i64 650, i8* %xx)
+  ; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 650, i8* %xx)
 
 
-  call void @llvm.lifetime.start(i64 13, i8* %yy)
+  call void @llvm.lifetime.start.p0i8(i64 13, i8* %yy)
   ; 0005
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 102
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i16]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] 1280, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.start(i64 13, i8* %yy)
+  ; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 13, i8* %yy)
 
   call void @Foo(i8* %yy)
   ; CHECK-NEXT: call void @Foo(i8* %yy)
 
-  call void @llvm.lifetime.end(i64 13, i8* %yy)
+  call void @llvm.lifetime.end.p0i8(i64 13, i8* %yy)
   ; F8F8
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 102
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i16]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] -1800, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.end(i64 13, i8* %yy)
+  ; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 13, i8* %yy)
 
 
-  call void @llvm.lifetime.start(i64 40, i8* %zz)
+  call void @llvm.lifetime.start.p0i8(i64 40, i8* %zz)
   ; 00000000
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 106
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i32]]*
@@ -142,12 +142,12 @@ entry:
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i8]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] 0, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.start(i64 40, i8* %zz)
+  ; CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 40, i8* %zz)
 
   call void @Foo(i8* %zz)
   ; CHECK-NEXT: call void @Foo(i8* %zz)
 
-  call void @llvm.lifetime.end(i64 40, i8* %zz)
+  call void @llvm.lifetime.end.p0i8(i64 40, i8* %zz)
   ; F8F8F8F8
   ; ENTRY-UAS-NEXT: [[OFFSET:%[0-9]+]] = add i64 [[SHADOW_BASE]], 106
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i32]]*
@@ -157,7 +157,7 @@ entry:
   ; ENTRY-UAS-NEXT: [[PTR:%[0-9]+]] = inttoptr i64 [[OFFSET]] to [[TYPE:i8]]*
   ; ENTRY-UAS-NEXT: store [[TYPE]] -8, [[TYPE]]* [[PTR]], align 1
 
-  ; CHECK-NEXT: call void @llvm.lifetime.end(i64 40, i8* %zz)
+  ; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 40, i8* %zz)
 
   ; CHECK-LABEL: <label>
 
@@ -209,8 +209,8 @@ entry:
   ; CHECK: 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)
 
 ; CHECK-ON: declare void @__asan_set_shadow_00(i64, i64)
 ; CHECK-ON: declare void @__asan_set_shadow_f1(i64, i64)

Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/stack_layout.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/stack_layout.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/AddressSanitizer/stack_layout.ll (original)
+++ llvm/trunk/test/Instrumentation/AddressSanitizer/stack_layout.ll Mon Apr 10 15:18:21 2017
@@ -9,8 +9,8 @@ target datalayout = "e-p:64:64:64-i1:8:8
 target triple = "x86_64-unknown-linux-gnu"
 
 declare void @Use(i8*)
-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
 
 ; CHECK: private unnamed_addr constant{{.*}}3 32 10 3 XXX 64 20 3 YYY 128 30 3 ZZZ\0
 ; CHECK: private unnamed_addr constant{{.*}}3 32 5 3 AAA 64 55 3 BBB 160 555 3 CCC\0
@@ -87,13 +87,13 @@ define void @Func5() sanitize_address #0
   %AAA = alloca i32, align 4  ; File is not the same as !11
   %BBB = alloca i32, align 4  ; File is the same as !11
   %BBB.ptr = bitcast i32* %BBB to i8*
-  call void @llvm.lifetime.start(i64 4, i8* nonnull %BBB.ptr), !dbg !12
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %BBB.ptr), !dbg !12
   store volatile i32 5, i32* %BBB, align 4
   %AAA.ptr = bitcast i32* %AAA to i8*
-  call void @llvm.lifetime.start(i64 4, i8* nonnull %AAA.ptr), !dbg !14
+  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %AAA.ptr), !dbg !14
   store volatile i32 3, i32* %AAA, align 4
-  call void @llvm.lifetime.end(i64 4, i8* nonnull %AAA.ptr), !dbg !17
-  call void @llvm.lifetime.end(i64 4, i8* nonnull %BBB.ptr), !dbg !18
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %AAA.ptr), !dbg !17
+  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %BBB.ptr), !dbg !18
   ret void
 }
 

Modified: llvm/trunk/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll (original)
+++ llvm/trunk/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll Mon Apr 10 15:18:21 2017
@@ -8,10 +8,10 @@ target triple = "aarch64-unknown-linux-g
 define i32 @foo(i32 %guard, ...) {
   %vl = alloca %struct.__va_list, align 8
   %1 = bitcast %struct.__va_list* %vl to i8*
-  call void @llvm.lifetime.start(i64 32, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 32, i8* %1)
   call void @llvm.va_start(i8* %1)
   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)
   ret i32 0
 }
 
@@ -46,10 +46,10 @@ define i32 @foo(i32 %guard, ...) {
 ; CHECK: [[STACK:%.*]] = getelementptr inbounds i8, i8* {{%.*}}, i32 192
 ; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* {{%.*}}, i8* [[STACK]], i64 {{%.*}}, i32 16, i1 false)
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 declare void @llvm.va_start(i8*) #2
 declare void @llvm.va_end(i8*) #2
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 define i32 @bar() {
   %1 = call i32 (i32, ...) @foo(i32 0, i32 1, i32 2, double 3.000000e+00, 

Modified: llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll (original)
+++ llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll Mon Apr 10 15:18:21 2017
@@ -6,10 +6,10 @@ target triple = "mips64--linux"
 define i32 @foo(i32 %guard, ...) {
   %vl = alloca i8*, align 8
   %1 = bitcast i8** %vl to i8*
-  call void @llvm.lifetime.start(i64 32, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 32, i8* %1)
   call void @llvm.va_start(i8* %1)
   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)
   ret i32 0
 }
 
@@ -23,10 +23,10 @@ define i32 @foo(i32 %guard, ...) {
 ; CHECK: [[STACK:%.*]] = bitcast {{.*}} @__msan_va_arg_tls to i8*
 ; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[C]], i8* [[STACK]], i64 [[B]], i32 8, i1 false)
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 declare void @llvm.va_start(i8*) #2
 declare void @llvm.va_end(i8*) #2
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 define i32 @bar() {
   %1 = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)

Modified: llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll (original)
+++ llvm/trunk/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll Mon Apr 10 15:18:21 2017
@@ -6,10 +6,10 @@ target triple = "mips64el--linux"
 define i32 @foo(i32 %guard, ...) {
   %vl = alloca i8*, align 8
   %1 = bitcast i8** %vl to i8*
-  call void @llvm.lifetime.start(i64 32, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 32, i8* %1)
   call void @llvm.va_start(i8* %1)
   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)
   ret i32 0
 }
 
@@ -23,10 +23,10 @@ define i32 @foo(i32 %guard, ...) {
 ; CHECK: [[STACK:%.*]] = bitcast {{.*}} @__msan_va_arg_tls to i8*
 ; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[C]], i8* [[STACK]], i64 [[B]], i32 8, i1 false)
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 declare void @llvm.va_start(i8*) #2
 declare void @llvm.va_end(i8*) #2
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 define i32 @bar() {
   %1 = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)

Modified: llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll (original)
+++ llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll Mon Apr 10 15:18:21 2017
@@ -6,10 +6,10 @@ target triple = "powerpc64--linux"
 define i32 @foo(i32 %guard, ...) {
   %vl = alloca i8*, align 8
   %1 = bitcast i8** %vl to i8*
-  call void @llvm.lifetime.start(i64 32, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 32, i8* %1)
   call void @llvm.va_start(i8* %1)
   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)
   ret i32 0
 }
 
@@ -23,10 +23,10 @@ define i32 @foo(i32 %guard, ...) {
 ; CHECK: [[STACK:%.*]] = bitcast {{.*}} @__msan_va_arg_tls to i8*
 ; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[C]], i8* [[STACK]], i64 [[B]], i32 8, i1 false)
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 declare void @llvm.va_start(i8*) #2
 declare void @llvm.va_end(i8*) #2
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 define i32 @bar() {
   %1 = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)

Modified: llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll (original)
+++ llvm/trunk/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll Mon Apr 10 15:18:21 2017
@@ -6,10 +6,10 @@ target triple = "powerpc64le--linux"
 define i32 @foo(i32 %guard, ...) {
   %vl = alloca i8*, align 8
   %1 = bitcast i8** %vl to i8*
-  call void @llvm.lifetime.start(i64 32, i8* %1)
+  call void @llvm.lifetime.start.p0i8(i64 32, i8* %1)
   call void @llvm.va_start(i8* %1)
   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)
   ret i32 0
 }
 
@@ -23,10 +23,10 @@ define i32 @foo(i32 %guard, ...) {
 ; CHECK: [[STACK:%.*]] = bitcast {{.*}} @__msan_va_arg_tls to i8*
 ; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[C]], i8* [[STACK]], i64 [[B]], i32 8, i1 false)
 
-declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #1
 declare void @llvm.va_start(i8*) #2
 declare void @llvm.va_end(i8*) #2
-declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1
 
 define i32 @bar() {
   %1 = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)

Modified: llvm/trunk/test/Transforms/AddDiscriminators/call.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/AddDiscriminators/call.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/AddDiscriminators/call.ll (original)
+++ llvm/trunk/test/Transforms/AddDiscriminators/call.ll Mon Apr 10 15:18:21 2017
@@ -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" }

Modified: llvm/trunk/test/Transforms/AtomicExpand/SPARC/libcalls.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/AtomicExpand/SPARC/libcalls.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/AtomicExpand/SPARC/libcalls.ll (original)
+++ llvm/trunk/test/Transforms/AtomicExpand/SPARC/libcalls.ll Mon Apr 10 15:18:21 2017
@@ -43,11 +43,11 @@ define i16 @test_exchange_i16(i16* %arg,
 ; 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
 ; 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,
 ; 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* %a
 ; 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* %ar
 ; 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* %
 ; 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
 ; 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

Modified: llvm/trunk/test/Transforms/BBVectorize/X86/wr-aliases.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/BBVectorize/X86/wr-aliases.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/BBVectorize/X86/wr-aliases.ll (original)
+++ llvm/trunk/test/Transforms/BBVectorize/X86/wr-aliases.ll Mon Apr 10 15:18:21 2017
@@ -14,7 +14,7 @@ declare fastcc void @_ZL12printQBezier7Q
 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:
   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
 }
 

Modified: llvm/trunk/test/Transforms/CodeGenPrepare/builtin-condition.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/CodeGenPrepare/builtin-condition.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/CodeGenPrepare/builtin-condition.ll (original)
+++ llvm/trunk/test/Transforms/CodeGenPrepare/builtin-condition.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/Coroutines/coro-split-dbg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Coroutines/coro-split-dbg.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Coroutines/coro-split-dbg.ll (original)
+++ llvm/trunk/test/Transforms/Coroutines/coro-split-dbg.ll Mon Apr 10 15:18:21 2017
@@ -43,7 +43,7 @@ coro_Suspend:
 }
 
 ; 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

Modified: llvm/trunk/test/Transforms/CorrelatedValuePropagation/alloca.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/CorrelatedValuePropagation/alloca.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/CorrelatedValuePropagation/alloca.ll (original)
+++ llvm/trunk/test/Transforms/CorrelatedValuePropagation/alloca.ll Mon Apr 10 15:18:21 2017
@@ -13,14 +13,14 @@ target triple = "x86_64-unknown-linux-gn
 @.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:
   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
 

Modified: llvm/trunk/test/Transforms/DeadStoreElimination/dominate.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/DeadStoreElimination/dominate.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/DeadStoreElimination/dominate.ll (original)
+++ llvm/trunk/test/Transforms/DeadStoreElimination/dominate.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/DeadStoreElimination/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/DeadStoreElimination/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/DeadStoreElimination/lifetime.ll (original)
+++ llvm/trunk/test/Transforms/DeadStoreElimination/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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
 }

Modified: llvm/trunk/test/Transforms/GVN/cond_br2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/cond_br2.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/GVN/cond_br2.ll (original)
+++ llvm/trunk/test/Transforms/GVN/cond_br2.ll Mon Apr 10 15:18:21 2017
@@ -18,7 +18,7 @@ define void @_Z4testv() #0 personality i
 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:
   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:
 }
 
 ; 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
 

Modified: llvm/trunk/test/Transforms/GVN/lifetime-simple.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/lifetime-simple.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/GVN/lifetime-simple.ll (original)
+++ llvm/trunk/test/Transforms/GVN/lifetime-simple.ll Mon Apr 10 15:18:21 2017
@@ -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)

Modified: llvm/trunk/test/Transforms/GVNHoist/pr29034.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVNHoist/pr29034.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/GVNHoist/pr29034.ll (original)
+++ llvm/trunk/test/Transforms/GVNHoist/pr29034.ll Mon Apr 10 15:18:21 2017
@@ -38,7 +38,7 @@ define void @music_task(i8* nocapture re
 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:
   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, ...)

Modified: llvm/trunk/test/Transforms/IndVarSimplify/exit_value_test2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/IndVarSimplify/exit_value_test2.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/IndVarSimplify/exit_value_test2.ll (original)
+++ llvm/trunk/test/Transforms/IndVarSimplify/exit_value_test2.ll Mon Apr 10 15:18:21 2017
@@ -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:
   %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
 }

Modified: llvm/trunk/test/Transforms/Inline/alloca-bonus.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Inline/alloca-bonus.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Inline/alloca-bonus.ll (original)
+++ llvm/trunk/test/Transforms/Inline/alloca-bonus.ll Mon Apr 10 15:18:21 2017
@@ -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:

Modified: llvm/trunk/test/Transforms/Inline/crash-lifetime-marker.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Inline/crash-lifetime-marker.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Inline/crash-lifetime-marker.ll (original)
+++ llvm/trunk/test/Transforms/Inline/crash-lifetime-marker.ll Mon Apr 10 15:18:21 2017
@@ -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)

Modified: llvm/trunk/test/Transforms/Inline/lifetime-no-datalayout.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Inline/lifetime-no-datalayout.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Inline/lifetime-no-datalayout.ll (original)
+++ llvm/trunk/test/Transforms/Inline/lifetime-no-datalayout.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/Inline/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Inline/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Inline/lifetime.ll (original)
+++ llvm/trunk/test/Transforms/Inline/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/InstCombine/builtin-object-size-offset.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/builtin-object-size-offset.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/builtin-object-size-offset.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/builtin-object-size-offset.ll Mon Apr 10 15:18:21 2017
@@ -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:

Modified: llvm/trunk/test/Transforms/InstCombine/builtin-object-size-ptr.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/builtin-object-size-ptr.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/builtin-object-size-ptr.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/builtin-object-size-ptr.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/InstCombine/compare-alloca.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/compare-alloca.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/compare-alloca.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/compare-alloca.ll Mon Apr 10 15:18:21 2017
@@ -72,15 +72,15 @@ define i1 @alloca_argument_compare_escap
   ; 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

Modified: llvm/trunk/test/Transforms/InstCombine/deadcode.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/deadcode.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/deadcode.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/deadcode.ll Mon Apr 10 15:18:21 2017
@@ -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
 }
 

Modified: llvm/trunk/test/Transforms/InstCombine/lifetime-asan.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/lifetime-asan.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/lifetime-asan.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/lifetime-asan.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/InstCombine/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/lifetime.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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:

Modified: llvm/trunk/test/Transforms/InstCombine/malloc-free-delete.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/malloc-free-delete.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/malloc-free-delete.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/malloc-free-delete.ll Mon Apr 10 15:18:21 2017
@@ -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)

Modified: llvm/trunk/test/Transforms/InstCombine/memcpy-from-global.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/memcpy-from-global.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/memcpy-from-global.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/memcpy-from-global.ll Mon Apr 10 15:18:21 2017
@@ -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(

Modified: llvm/trunk/test/Transforms/InstCombine/vararg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/vararg.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/vararg.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/vararg.ll Mon Apr 10 15:18:21 2017
@@ -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
 }
 

Modified: llvm/trunk/test/Transforms/LoopVectorize/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/LoopVectorize/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/LoopVectorize/lifetime.ll (original)
+++ llvm/trunk/test/Transforms/LoopVectorize/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll (original)
+++ llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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
 }

Modified: llvm/trunk/test/Transforms/MemCpyOpt/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/MemCpyOpt/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/MemCpyOpt/lifetime.ll (original)
+++ llvm/trunk/test/Transforms/MemCpyOpt/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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
 }
 

Modified: llvm/trunk/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll (original)
+++ llvm/trunk/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll Mon Apr 10 15:18:21 2017
@@ -7,11 +7,11 @@ define void @foo([8 x i64]* noalias noca
 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 noca
 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

Modified: llvm/trunk/test/Transforms/MemCpyOpt/memcpy-undef.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/MemCpyOpt/memcpy-undef.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/MemCpyOpt/memcpy-undef.ll (original)
+++ llvm/trunk/test/Transforms/MemCpyOpt/memcpy-undef.ll Mon Apr 10 15:18:21 2017
@@ -22,7 +22,7 @@ define i32 @test1(%struct.foo* nocapture
 }
 
 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 noca
 }
 
 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 noca
 
 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

Modified: llvm/trunk/test/Transforms/MemCpyOpt/pr29105.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/MemCpyOpt/pr29105.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/MemCpyOpt/pr29105.ll (original)
+++ llvm/trunk/test/Transforms/MemCpyOpt/pr29105.ll Mon Apr 10 15:18:21 2017
@@ -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
 

Modified: llvm/trunk/test/Transforms/NewGVN/cond_br2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/NewGVN/cond_br2.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/NewGVN/cond_br2.ll (original)
+++ llvm/trunk/test/Transforms/NewGVN/cond_br2.ll Mon Apr 10 15:18:21 2017
@@ -19,7 +19,7 @@ define void @_Z4testv() #0 personality i
 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:
   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:
 }
 
 ; 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
 

Modified: llvm/trunk/test/Transforms/NewGVN/lifetime-simple.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/NewGVN/lifetime-simple.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/NewGVN/lifetime-simple.ll (original)
+++ llvm/trunk/test/Transforms/NewGVN/lifetime-simple.ll Mon Apr 10 15:18:21 2017
@@ -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)

Modified: llvm/trunk/test/Transforms/SROA/basictest.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SROA/basictest.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SROA/basictest.ll (original)
+++ llvm/trunk/test/Transforms/SROA/basictest.ll Mon Apr 10 15:18:21 2017
@@ -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* %out
 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
 }

Modified: llvm/trunk/test/Transforms/SROA/pr26972.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SROA/pr26972.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SROA/pr26972.ll (original)
+++ llvm/trunk/test/Transforms/SROA/pr26972.ll Mon Apr 10 15:18:21 2017
@@ -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)

Modified: llvm/trunk/test/Transforms/SROA/vector-lifetime-intrinsic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SROA/vector-lifetime-intrinsic.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SROA/vector-lifetime-intrinsic.ll (original)
+++ llvm/trunk/test/Transforms/SROA/vector-lifetime-intrinsic.ll Mon Apr 10 15:18:21 2017
@@ -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
 }

Modified: llvm/trunk/test/Transforms/SafeStack/X86/call.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SafeStack/X86/call.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SafeStack/X86/call.ll (original)
+++ llvm/trunk/test/Transforms/SafeStack/X86/call.ll Mon Apr 10 15:18:21 2017
@@ -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 re
 
 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

Modified: llvm/trunk/test/Transforms/SafeStack/X86/coloring-ssp.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SafeStack/X86/coloring-ssp.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SafeStack/X86/coloring-ssp.ll (original)
+++ llvm/trunk/test/Transforms/SafeStack/X86/coloring-ssp.ll Mon Apr 10 15:18:21 2017
@@ -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*)

Modified: llvm/trunk/test/Transforms/SafeStack/X86/coloring.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SafeStack/X86/coloring.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SafeStack/X86/coloring.ll (original)
+++ llvm/trunk/test/Transforms/SafeStack/X86/coloring.ll Mon Apr 10 15:18:21 2017
@@ -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*)

Modified: llvm/trunk/test/Transforms/SafeStack/X86/coloring2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SafeStack/X86/coloring2.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SafeStack/X86/coloring2.ll (original)
+++ llvm/trunk/test/Transforms/SafeStack/X86/coloring2.ll Mon Apr 10 15:18:21 2017
@@ -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:
 
 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:
 
 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*)

Modified: llvm/trunk/test/Transforms/SafeStack/X86/debug-loc2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SafeStack/X86/debug-loc2.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SafeStack/X86/debug-loc2.ll (original)
+++ llvm/trunk/test/Transforms/SafeStack/X86/debug-loc2.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/SafeStack/X86/layout-frag.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SafeStack/X86/layout-frag.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SafeStack/X86/layout-frag.ll (original)
+++ llvm/trunk/test/Transforms/SafeStack/X86/layout-frag.ll Mon Apr 10 15:18:21 2017
@@ -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*)

Modified: llvm/trunk/test/Transforms/SampleProfile/remarks.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/remarks.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SampleProfile/remarks.ll (original)
+++ llvm/trunk/test/Transforms/SampleProfile/remarks.ll Mon Apr 10 15:18:21 2017
@@ -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:
 
 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:
 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,
 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 {

Modified: llvm/trunk/test/Transforms/SimplifyCFG/critedge-assume.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/critedge-assume.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SimplifyCFG/critedge-assume.ll (original)
+++ llvm/trunk/test/Transforms/SimplifyCFG/critedge-assume.ll Mon Apr 10 15:18:21 2017
@@ -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)
 

Modified: llvm/trunk/test/Transforms/SimplifyCFG/empty-cleanuppad.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/empty-cleanuppad.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SimplifyCFG/empty-cleanuppad.ll (original)
+++ llvm/trunk/test/Transforms/SimplifyCFG/empty-cleanuppad.ll Mon Apr 10 15:18:21 2017
@@ -413,14 +413,14 @@ return:
 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 at 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)

Modified: llvm/trunk/test/Transforms/SimplifyCFG/lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/lifetime.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SimplifyCFG/lifetime.ll (original)
+++ llvm/trunk/test/Transforms/SimplifyCFG/lifetime.ll Mon Apr 10 15:18:21 2017
@@ -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

Modified: llvm/trunk/test/Transforms/Util/MemorySSA/lifetime-simple.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Util/MemorySSA/lifetime-simple.ll?rev=299876&r1=299875&r2=299876&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Util/MemorySSA/lifetime-simple.ll (original)
+++ llvm/trunk/test/Transforms/Util/MemorySSA/lifetime-simple.ll Mon Apr 10 15:18:21 2017
@@ -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)




More information about the llvm-commits mailing list