# RUN: llc -mtriple=i686-windows --run-pass="x86-cf-opt" %s -o - | FileCheck %s

# PR34903
--- |
  target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
  target triple = "i686--windows-msvc"

  %struct.s = type { i64 }

  declare void @good(i32, i32, i32, i32)

  declare void @struct(%struct.s* byval(%struct.s), i32, i32, i32)

  ; Function Attrs: optsize
  define void @test9() #0 {
  entry:
    %p = alloca i32, align 4
    %q = alloca i32, align 4
    %s = alloca %struct.s, align 4
    call void @good(i32 1, i32 2, i32 3, i32 4)
    %pv = ptrtoint i32* %p to i32
    %qv = ptrtoint i32* %q to i32
    call void @struct(%struct.s* byval(%struct.s) %s, i32 6, i32 %qv, i32 %pv)
    ret void
  }

  ; Function Attrs: nounwind
  declare void @llvm.stackprotector(i8*, i8**) #1

  attributes #0 = { optsize }
  attributes #1 = { nounwind }

...
---
# CHECK-LABEL: test9
# CHECK:      ADJCALLSTACKDOWN32 16, 0, 16, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
# CHECK-NEXT: PUSH32i8 4, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32i8 3, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32i8 2, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32i8 1, implicit-def $esp, implicit $esp
# CHECK-NEXT: CALLpcrel32 @good, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp
# CHECK-NEXT: ADJCALLSTACKUP32 16, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
# CHECK-NEXT: ADJCALLSTACKDOWN32 20, 0, 20, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
# CHECK-NEXT: %1:gr32 = MOV32rm %stack.2.s, 1, $noreg, 0, $noreg :: (load (s32) from %stack.2.s, align 8)
# CHECK-NEXT: %2:gr32 = MOV32rm %stack.2.s, 1, $noreg, 4, $noreg :: (load (s32) from %stack.2.s + 4)
# CHECK-NEXT: %4:gr32 = LEA32r %stack.0.p, 1, $noreg, 0, $noreg
# CHECK-NEXT: %5:gr32 = LEA32r %stack.1.q, 1, $noreg, 0, $noreg
# CHECK-NEXT: PUSH32r %4, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32r %5, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32i8 6, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32r %2, implicit-def $esp, implicit $esp
# CHECK-NEXT: PUSH32r %1, implicit-def $esp, implicit $esp
# CHECK-NEXT: CALLpcrel32 @struct, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp
# CHECK-NEXT: ADJCALLSTACKUP32 20, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
# CHECK-NEXT: RET 0
name:            test9
alignment:       1
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: gr32, preferred-register: '' }
  - { id: 1, class: gr32, preferred-register: '' }
  - { id: 2, class: gr32, preferred-register: '' }
  - { id: 3, class: gr32, preferred-register: '' }
  - { id: 4, class: gr32, preferred-register: '' }
  - { id: 5, class: gr32, preferred-register: '' }
liveins:
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    8
  adjustsStack:    false
  hasCalls:        true
  stackProtector:  ''
  maxCallFrameSize: 4294967295
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
  - { id: 0, name: p, type: default, offset: 0, size: 4, alignment: 4,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      debug-info-variable: '', debug-info-expression: '',
      debug-info-location: '' }
  - { id: 1, name: q, type: default, offset: 0, size: 4, alignment: 4,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      debug-info-variable: '', debug-info-expression: '',
      debug-info-location: '' }
  - { id: 2, name: s, type: default, offset: 0, size: 8, alignment: 8,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      debug-info-variable: '', debug-info-expression: '',
      debug-info-location: '' }
constants:
body:             |
  bb.0.entry:
    ADJCALLSTACKDOWN32 16, 0, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
    %0 = COPY $esp
    MOV32mi %0, 1, $noreg, 12, $noreg, 4 :: (store (s32) into stack + 12)
    MOV32mi %0, 1, $noreg, 8, $noreg, 3 :: (store (s32) into stack + 8)
    MOV32mi %0, 1, $noreg, 4, $noreg, 2 :: (store (s32) into stack + 4)
    MOV32mi %0, 1, $noreg, 0, $noreg, 1 :: (store (s32) into stack)
    CALLpcrel32 @good, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp
    ADJCALLSTACKUP32 16, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
    ADJCALLSTACKDOWN32 20, 0, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
    %1 = MOV32rm %stack.2.s, 1, $noreg, 0, $noreg :: (load (s32) from %stack.2.s, align 8)
    %2 = MOV32rm %stack.2.s, 1, $noreg, 4, $noreg :: (load (s32) from %stack.2.s + 4)
    %3 = COPY $esp
    MOV32mr %3, 1, $noreg, 4, $noreg, killed %2 :: (store (s32))
    MOV32mr %3, 1, $noreg, 0, $noreg, killed %1 :: (store (s32))
    %4 = LEA32r %stack.0.p, 1, $noreg, 0, $noreg
    MOV32mr %3, 1, $noreg, 16, $noreg, killed %4 :: (store (s32) into stack + 16)
    %5 = LEA32r %stack.1.q, 1, $noreg, 0, $noreg
    MOV32mr %3, 1, $noreg, 12, $noreg, killed %5 :: (store (s32) into stack + 12)
    MOV32mi %3, 1, $noreg, 8, $noreg, 6 :: (store (s32) into stack + 8)
    CALLpcrel32 @struct, csr_32, implicit $esp, implicit $ssp, implicit-def $esp, implicit-def $ssp,
    ADJCALLSTACKUP32 20, 0, implicit-def dead $esp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $esp, implicit $ssp
    RET 0

...
