# 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 4 from %stack.2.s, align 8)
# CHECK-NEXT: %2:gr32 = MOV32rm %stack.2.s, 1, $noreg, 4, $noreg :: (load 4 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 4 into stack + 12)
    MOV32mi %0, 1, $noreg, 8, $noreg, 3 :: (store 4 into stack + 8)
    MOV32mi %0, 1, $noreg, 4, $noreg, 2 :: (store 4 into stack + 4)
    MOV32mi %0, 1, $noreg, 0, $noreg, 1 :: (store 4 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 4 from %stack.2.s, align 8)
    %2 = MOV32rm %stack.2.s, 1, $noreg, 4, $noreg :: (load 4 from %stack.2.s + 4)
    %3 = COPY $esp
    MOV32mr %3, 1, $noreg, 4, $noreg, killed %2 :: (store 4)
    MOV32mr %3, 1, $noreg, 0, $noreg, killed %1 :: (store 4)
    %4 = LEA32r %stack.0.p, 1, $noreg, 0, $noreg
    MOV32mr %3, 1, $noreg, 16, $noreg, killed %4 :: (store 4 into stack + 16)
    %5 = LEA32r %stack.1.q, 1, $noreg, 0, $noreg
    MOV32mr %3, 1, $noreg, 12, $noreg, killed %5 :: (store 4 into stack + 12)
    MOV32mi %3, 1, $noreg, 8, $noreg, 6 :: (store 4 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

...
