; ModuleID = 'foo__clone.bc'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386-pc-linux-gnu"

define internal void @foo__clone({ float*, float*, float* }*) nounwind {
newFuncRoot:
  %gep_a = getelementptr { float*, float*, float* }* %0, i32 0, i32 0
  %loadgep_a = load float** %gep_a
  %gep_c = getelementptr { float*, float*, float* }* %0, i32 0, i32 1
  %loadgep_c = load float** %gep_c
  %gep_b = getelementptr { float*, float*, float* }* %0, i32 0, i32 2
  %loadgep_b = load float** %gep_b
  br label %1

.exitStub:                                        ; preds = %1
  ret void

; <label>:1                                       ; preds = %newFuncRoot
  %scevgep = getelementptr float* %loadgep_a, i32 0
  %scevgep1 = getelementptr float* %loadgep_c, i32 0
  %scevgep2 = getelementptr float* %loadgep_b, i32 0
  %2 = load float* %scevgep2, align 4, !tbaa !0
  %3 = load float* %scevgep1, align 4, !tbaa !0
  %4 = fadd float %2, %3
  %5 = load float* %scevgep, align 4, !tbaa !0
  %6 = fadd float %4, %5
  %7 = fadd float %6, %3
  store float %7, float* %scevgep, align 4, !tbaa !0
  br label %.exitStub
}

!0 = metadata !{metadata !"float", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA", null}