[llvm-commits] [llvm] r133339 - /llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll

Nick Lewycky nicholas at mxc.ca
Sat Jun 18 00:23:26 PDT 2011


Author: nicholas
Date: Sat Jun 18 02:23:25 2011
New Revision: 133339

URL: http://llvm.org/viewvc/llvm-project?rev=133339&view=rev
Log:
Add test for r133251.

Added:
    llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll

Added: llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll?rev=133339&view=auto
==============================================================================
--- llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll (added)
+++ llvm/trunk/test/Transforms/Mem2Reg/ignore-lifetime.ll Sat Jun 18 02:23:25 2011
@@ -0,0 +1,26 @@
+; 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)
+
+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)
+  store i32 1, i32* %A
+  call void @llvm.lifetime.end(i64 2, i8* %B)
+  ret void
+}
+
+define void @test2() {
+; CHECK: test2
+; CHECK-NOT: alloca
+  %A = alloca {i8, i16}
+  %B = getelementptr {i8, i16}* %A, i32 0, i32 0
+  call void @llvm.lifetime.start(i64 2, i8* %B)
+  store {i8, i16} zeroinitializer, {i8, i16}* %A
+  call void @llvm.lifetime.end(i64 2, i8* %B)
+  ret void
+}





More information about the llvm-commits mailing list