Home | History | Annotate | Download | only in SROA
      1 ; RUN: opt -sroa -S < %s | FileCheck %s
      2 
      3 target datalayout = "e-p:64:32-i64:32-v32:32-n32-S64"
      4 
      5 ; Function Attrs: nounwind
      6 declare void @llvm.lifetime.start(i64, i8* nocapture) #0
      7 
      8 ; Function Attrs: nounwind
      9 declare void @llvm.lifetime.end(i64, i8* nocapture) #0
     10 
     11 ; CHECK: @wombat
     12 ; CHECK-NOT: alloca
     13 ; CHECK: ret void
     14 define void @wombat(<4 x float> %arg1) {
     15 bb:
     16   %tmp = alloca <4 x float>, align 16
     17   %tmp8 = bitcast <4 x float>* %tmp to i8*
     18   call void @llvm.lifetime.start(i64 16, i8* %tmp8)
     19   store <4 x float> %arg1, <4 x float>* %tmp, align 16
     20   %tmp17 = bitcast <4 x float>* %tmp to <3 x float>*
     21   %tmp18 = load <3 x float>, <3 x float>* %tmp17
     22   %tmp20 = bitcast <4 x float>* %tmp to i8*
     23   call void @llvm.lifetime.end(i64 16, i8* %tmp20)
     24   call void @wombat3(<3 x float> %tmp18)
     25   ret void
     26 }
     27 
     28 ; Function Attrs: nounwind
     29 declare void @wombat3(<3 x float>) #0
     30 
     31 attributes #0 = { nounwind }
     32