~ubuntu-branches/ubuntu/maverick/clamav/maverick-updates

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/tailcallfp2.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-12-17 12:30:20 UTC
  • mfrom: (97.1.1 maverick-proposed)
  • Revision ID: james.westby@ubuntu.com-20101217123020-o02fhyzykv5z98ri
Tags: 0.96.5+dfsg-1ubuntu1.10.10.1
* Microversion update for Maverick (LP: #691414)
  - Improved database login times
  - Expanded use of new bytecode signatures
  - Other bugfixes/improvements

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
; RUN: llc < %s -march=x86 -tailcallopt | grep {jmp} | grep {\\*%eax}
2
 
 
3
 
declare i32 @putchar(i32)
4
 
 
5
 
define fastcc i32 @checktail(i32 %x, i32* %f, i32 %g) nounwind {
6
 
        %tmp1 = icmp sgt i32 %x, 0
7
 
        br i1 %tmp1, label %if-then, label %if-else
8
 
 
9
 
if-then:
10
 
        %fun_ptr = bitcast i32* %f to i32(i32, i32*, i32)* 
11
 
        %arg1    = add i32 %x, -1
12
 
        call i32 @putchar(i32 90)       
13
 
        %res = tail call fastcc i32 %fun_ptr( i32 %arg1, i32 * %f, i32 %g)
14
 
        ret i32 %res
15
 
 
16
 
if-else:
17
 
        ret i32  %x
18
 
}
19
 
 
20
 
 
21
 
define i32 @main() nounwind { 
22
 
 %f   = bitcast i32 (i32, i32*, i32)* @checktail to i32*
23
 
 %res = tail call fastcc i32 @checktail( i32 10, i32* %f,i32 10)
24
 
 ret i32 %res
25
 
}