2010-10-26 06:17:05 +08:00
|
|
|
; RUN: llc -mtriple=i386-apple-darwin11 -O2 < %s | FileCheck %s
|
|
|
|
|
|
|
|
%struct.I = type { i32 (...)** }
|
|
|
|
define x86_stdcallcc void @bar(%struct.I* nocapture %this) ssp align 2 {
|
2013-07-14 14:24:09 +08:00
|
|
|
; CHECK-LABEL: bar:
|
2010-10-26 06:17:05 +08:00
|
|
|
; CHECK-NOT: jmp
|
2014-01-08 20:58:07 +08:00
|
|
|
; CHECK: retl $4
|
2010-10-26 06:17:05 +08:00
|
|
|
entry:
|
|
|
|
tail call void @foo()
|
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
2013-11-22 23:18:28 +08:00
|
|
|
define x86_thiscallcc void @test2(%struct.I* %this, i32 %a) {
|
|
|
|
; CHECK-LABEL: test2:
|
|
|
|
; CHECK: calll _foo
|
2014-01-08 20:58:07 +08:00
|
|
|
; CHECK: retl $4
|
2013-11-22 23:18:28 +08:00
|
|
|
tail call void @foo()
|
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
2010-10-26 06:17:05 +08:00
|
|
|
declare void @foo()
|