; RUN: opt -passes=instcombine -S < %s | FileCheck %s
; RUN: opt -debugify-each -passes=instcombine -S < %s | FileCheck %s

; These are both direct calls, but make sure instcombine leaves the casts
; alone.

define i32 @call_thunk(i32 %x, i32 %y) {
  %r = call i32 @inc_first_arg_thunk(i32 %x, i32 %y)
  ret i32 %r
}

; CHECK-LABEL: define i32 @call_thunk(i32 %x, i32 %y)
; CHECK:   %r = call i32 @inc_first_arg_thunk(i32 %x, i32 %y)
; CHECK:   ret i32 %r

define internal void @inc_first_arg_thunk(i32 %arg1, ...) #0 {
entry:
  %inc = add i32 %arg1, 1
  musttail call void (i32, ...) @plus(i32 %inc, ...)
  ret void
}

; CHECK-LABEL: define internal void @inc_first_arg_thunk(i32 %arg1, ...) #0
; CHECK:   %inc = add i32 %arg1, 1
; CHECK:   musttail call void (i32, ...) @plus(i32 %inc, ...)
; CHECK:   ret void

define internal i32 @plus(i32 %x, i32 %y) {
  %r = add i32 %x, %y
  ret i32 %r
}

attributes #0 = { "thunk" }
