; RUN: llc -mcpu=generic -mtriple=i386-apple-darwin -tailcallopt < %s | FileCheck %s
; Check that lowered argumens do not overwrite the return address before it is moved.
; Bug 6225
;
; If a call is a fastcc tail call and tail call optimization is enabled, the
; caller frame is replaced by the callee frame. This can require that arguments are 
; placed on the former return address stack slot. Special care needs to be taken
; taken that the return address is moved / or stored in a register before
; lowering of arguments potentially overwrites the value.
;
; Move return address (76(%esp)) to a temporary register (%ebp)
; CHECK: movl 76(%esp), [[REGISTER:%[a-z]+]]
; Overwrite return addresss
; CHECK: movl [[EBX:%[a-z]+]], 76(%esp)
; Move return address from temporary register (%ebp) to new stack location (60(%esp))
; CHECK: movl [[REGISTER]], 60(%esp)

%tupl_p = type [9 x i32]*

declare fastcc void @l297(i32 %r10, i32 %r9, i32 %r8, i32 %r7, i32 %r6, i32 %r5, i32 %r3, i32 %r2) noreturn nounwind
declare fastcc void @l298(i32 %r10, i32 %r9, i32 %r4) noreturn nounwind

define fastcc void @l186(%tupl_p %r1) noreturn nounwind {
entry:
  %ptr1 = getelementptr %tupl_p %r1, i32 0, i32 0
  %r2 = load i32* %ptr1
  %ptr3 = getelementptr %tupl_p %r1, i32 0, i32 1
  %r3 = load i32* %ptr3
  %ptr5 = getelementptr %tupl_p %r1, i32 0, i32 2
  %r4 = load i32* %ptr5
  %ptr7 = getelementptr %tupl_p %r1, i32 0, i32 3
  %r5 = load i32* %ptr7
  %ptr9 = getelementptr %tupl_p %r1, i32 0, i32 4
  %r6 = load i32* %ptr9
  %ptr11 = getelementptr %tupl_p %r1, i32 0, i32 5
  %r7 = load i32* %ptr11
  %ptr13 = getelementptr %tupl_p %r1, i32 0, i32 6
  %r8 = load i32* %ptr13
  %ptr15 = getelementptr %tupl_p %r1, i32 0, i32 7
  %r9 = load i32* %ptr15
  %ptr17 = getelementptr %tupl_p %r1, i32 0, i32 8
  %r10 = load i32* %ptr17
  %cond = icmp eq i32 %r10, 3
  br i1 %cond, label %true, label %false

true:
  tail call fastcc void @l297(i32 %r10, i32 %r9, i32 %r8, i32 %r7, i32 %r6, i32 %r5, i32 %r3, i32 %r2) noreturn nounwind
  ret void

false:
  tail call fastcc void @l298(i32 %r10, i32 %r9, i32 %r4) noreturn nounwind
  ret void
}


