; RUN: opt < %s -basic-aa -dse -enable-dse-partial-store-merging=false -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"

; Ensure that the dead store is deleted in this case.  It is wholely
; overwritten by the second store.
define void @test1(i32 *%V) {
        %V2 = bitcast i32* %V to i8*            ; <i8*> [#uses=1]
        store i8 0, i8* %V2
        store i32 1234567, i32* %V
        ret void
; CHECK-LABEL: @test1(
; CHECK-NEXT: store i32 1234567
}

; Note that we could do better by merging the two stores into one.
define void @test2(i32* %P) {
; CHECK-LABEL: @test2(
  store i32 0, i32* %P
; CHECK: store i32
  %Q = bitcast i32* %P to i16*
  store i16 1, i16* %Q
; CHECK: store i16
  ret void
}


define i32 @test3(double %__x) {
; CHECK-LABEL: @test3(
; CHECK: store double
  %__u = alloca { [3 x i32] }
  %tmp.1 = bitcast { [3 x i32] }* %__u to double*
  store double %__x, double* %tmp.1
  %tmp.4 = getelementptr { [3 x i32] }, { [3 x i32] }* %__u, i32 0, i32 0, i32 1
  %tmp.5 = load i32, i32* %tmp.4
  %tmp.6 = icmp slt i32 %tmp.5, 0
  %tmp.7 = zext i1 %tmp.6 to i32
  ret i32 %tmp.7
}

; PR6043
define void @test4(i8* %P) {
; CHECK-LABEL: @test4(
; CHECK-NEXT: bitcast
; CHECK-NEXT: store double

  store i8 19, i8* %P  ;; dead
  %A = getelementptr i8, i8* %P, i32 3

  store i8 42, i8* %A  ;; dead

  %Q = bitcast i8* %P to double*
  store double 0.0, double* %Q
  ret void
}

; PR8657
declare void @test5a(i32*)
define void @test5(i32 %i) nounwind ssp {
  %A = alloca i32
  %B = bitcast i32* %A to i8*
  %C = getelementptr i8, i8* %B, i32 %i
  store i8 10, i8* %C        ;; Dead store to variable index.
  store i32 20, i32* %A

  call void @test5a(i32* %A)
  ret void
; CHECK-LABEL: @test5(
; CHECK-NEXT: alloca
; CHECK-NEXT: store i32 20
; CHECK-NEXT: call void @test5a
}

declare void @test5a_as1(i32*)
define void @test5_addrspacecast(i32 %i) nounwind ssp {
  %A = alloca i32
  %B = addrspacecast i32* %A to i8 addrspace(1)*
  %C = getelementptr i8, i8 addrspace(1)* %B, i32 %i
  store i8 10, i8 addrspace(1)* %C        ;; Dead store to variable index.
  store i32 20, i32* %A

  call void @test5a(i32* %A)
  ret void
; CHECK-LABEL: @test5_addrspacecast(
; CHECK-NEXT: alloca
; CHECK-NEXT: store i32 20
; CHECK-NEXT: call void @test5a
}
