; RUN: opt < %s -scalarrepl -S | FileCheck %s

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"
target triple = "i386-pc-linux-gnu"


; PR3466
; Off end of array, don't transform.
define i32 @test1() {
; CHECK: @test1
; CHECK-NOT: = alloca
	%X = alloca [4 x i32]
	%Y = getelementptr [4 x i32]* %X, i64 0, i64 6		; <i32*> [#uses=2]
	store i32 0, i32* %Y
	%Z = load i32* %Y		; <i32> [#uses=1]
	ret i32 %Z
}


; Off end of array, don't transform.
define i32 @test2() nounwind {
entry:
; CHECK: @test2
; CHECK-NOT: = alloca
        %yx2.i = alloca float, align 4          ; <float*> [#uses=1]            
        %yx26.i = bitcast float* %yx2.i to i64*         ; <i64*> [#uses=1]      
        %0 = load i64* %yx26.i, align 8         ; <i64> [#uses=0]               
        unreachable
}

%base = type { i32, [0 x i8] }
%padded = type { %base, [1 x i32] }

; PR5436
define void @test3() {
entry:
; CHECK: @test3
; CHECK-NOT: = alloca
; CHECK: store i64
  %var_1 = alloca %padded, align 8                ; <%padded*> [#uses=3]
  %0 = getelementptr inbounds %padded* %var_1, i32 0, i32 0 ; <%base*> [#uses=2]
  
  %p2 = getelementptr inbounds %base* %0, i32 0, i32 1, i32 0 ; <i8*> [#uses=1]
  store i8 72, i8* %p2, align 1
  
  ; 72 -> a[0].

  %callret = call %padded *@test3f() ; <i32> [#uses=2]
  %callretcast = bitcast %padded* %callret to i8*                     ; <i8*> [#uses=1]
  %var_11 = bitcast %padded* %var_1 to i8*        ; <i8*> [#uses=1]
  call void @llvm.memcpy.i32(i8* %callretcast, i8* %var_11, i32 8, i32 4)
  ret void
}

declare void @llvm.memcpy.i32(i8* nocapture, i8* nocapture, i32, i32) nounwind

declare %padded* @test3f()
