blob: dbde868e511142d100ac62142a8967763aa71834 [file] [log] [blame]
Reid Klecknerf9b67b82019-10-07 22:28:58 +00001; RUN: llc < %s -mtriple=i686-unknown-linux | FileCheck %s
2%struct.s = type {i32, i32, i32, i32, i32, i32, i32, i32,
3 i32, i32, i32, i32, i32, i32, i32, i32,
4 i32, i32, i32, i32, i32, i32, i32, i32 }
5
6define tailcc i32 @tailcallee(%struct.s* byval %a) nounwind {
7entry:
8 %tmp2 = getelementptr %struct.s, %struct.s* %a, i32 0, i32 0
9 %tmp3 = load i32, i32* %tmp2
10 ret i32 %tmp3
11; CHECK: tailcallee
12; CHECK: movl 4(%esp), %eax
13}
14
15define tailcc i32 @tailcaller(%struct.s* byval %a) nounwind {
16entry:
17 %tmp4 = tail call tailcc i32 @tailcallee(%struct.s* byval %a )
18 ret i32 %tmp4
19; CHECK: tailcaller
20; CHECK: jmp tailcallee
21}