Changes in directory llvm/test/Regression/CodeGen/X86:
2005-12-03-IndirectTailCall.ll added (r1.1) --- Log message: new testcase, for PR672: http://llvm.cs.uiuc.edu/PR672 --- Diffs of the changes: (+24 -0) 2005-12-03-IndirectTailCall.ll | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+) Index: llvm/test/Regression/CodeGen/X86/2005-12-03-IndirectTailCall.ll diff -c /dev/null llvm/test/Regression/CodeGen/X86/2005-12-03-IndirectTailCall.ll:1.1 *** /dev/null Sun Dec 4 00:03:35 2005 --- llvm/test/Regression/CodeGen/X86/2005-12-03-IndirectTailCall.ll Sun Dec 4 00:03:25 2005 *************** *** 0 **** --- 1,24 ---- + ; RUN: llvm-as < %s | llc -march=x86 -enable-x86-fastcc | grep 'jmp \*%ecx' + declare int %putchar(int) + + int %main(){ + %f = cast int (int, int*, int)* %check_tail to int* + %res = tail call fastcc int %check_tail( int 10, int* %f,int 10) + ret int %res + } + + fastcc int %check_tail(int %x, int* %f, int %g) { + %tmp1 = setgt int %x, 0 + br bool %tmp1, label %if-then, label %if-else + + if-then: + %fun_ptr = cast int* %f to int(int, int*, int)* + %arg1 = add int %x, -1 + call int %putchar(int 90) + %res = tail call fastcc int %fun_ptr( int %arg1, int * %f, int %g) + ret int %res + + if-else: + ret int %x + } + _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits