blob: 215d00946dd1430d0356e0b36219e616e999a76b [file] [log] [blame]
Dan Gohman3510e112009-11-13 18:49:38 +00001; RUN: llc < %s -march=x86 -tailcallopt | grep TAILCALL | count 3
Arnold Schwaighofere2d6bbb2007-10-11 19:40:01 +00002define fastcc i32 @tailcallee(i32 %a1, i32 %a2, i32 %a3, i32 %a4) {
3entry:
4 ret i32 %a3
5}
6
7define fastcc i32 @tailcaller(i32 %in1, i32 %in2) {
8entry:
9 %tmp11 = tail call fastcc i32 @tailcallee( i32 %in1, i32 %in2, i32 %in1, i32 %in2 ) ; <i32> [#uses=1]
10 ret i32 %tmp11
11}
Dan Gohman3510e112009-11-13 18:49:38 +000012
13declare fastcc i8* @alias_callee()
14
15define fastcc noalias i8* @noalias_caller() nounwind {
16 %p = tail call fastcc i8* @alias_callee()
17 ret i8* %p
18}
19
20declare fastcc noalias i8* @noalias_callee()
21
22define fastcc i8* @alias_caller() nounwind {
23 %p = tail call fastcc noalias i8* @noalias_callee()
24 ret i8* %p
25}