Change these tests to use function attributes rather than special llc
[oota-llvm.git] / test / CodeGen / X86 / 2009-01-29-LocalRegAllocBug.ll
1 ; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin9.6 -regalloc=local -disable-fp-elim
2 ; rdar://6538384
3
4         %struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
5         %struct.Lit = type { i32 }
6         %struct.StreamBuffer = type { %struct.FILE*, [1048576 x i8], i32, i32 }
7         %struct.__sFILEX = type opaque
8         %struct.__sbuf = type { i8*, i32 }
9
10 declare fastcc i32 @_Z8parseIntI12StreamBufferEiRT_(%struct.StreamBuffer*)
11
12 declare i8* @llvm.eh.exception() nounwind
13
14 define i32 @main(i32 %argc, i8** nocapture %argv) noreturn {
15 entry:
16         %0 = invoke fastcc i32 @_Z8parseIntI12StreamBufferEiRT_(%struct.StreamBuffer* null)
17                         to label %bb1.i16.i.i unwind label %lpad.i.i            ; <i32> [#uses=0]
18
19 bb1.i16.i.i:            ; preds = %entry
20         br i1 false, label %bb.i.i.i.i, label %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i
21
22 bb.i.i.i.i:             ; preds = %bb1.i16.i.i
23         br label %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i
24
25 _ZN3vecI3LitE4pushERKS0_.exit.i.i.i:            ; preds = %bb.i.i.i.i, %bb1.i16.i.i
26         %lits.i.i.0.0 = phi %struct.Lit* [ null, %bb1.i16.i.i ], [ null, %bb.i.i.i.i ]          ; <%struct.Lit*> [#uses=1]
27         %1 = invoke fastcc i32 @_Z8parseIntI12StreamBufferEiRT_(%struct.StreamBuffer* null)
28                         to label %.noexc21.i.i unwind label %lpad.i.i           ; <i32> [#uses=0]
29
30 .noexc21.i.i:           ; preds = %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i
31         unreachable
32
33 lpad.i.i:               ; preds = %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i, %entry
34         %lits.i.i.0.3 = phi %struct.Lit* [ %lits.i.i.0.0, %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i ], [ null, %entry ]              ; <%struct.Lit*> [#uses=1]
35         %eh_ptr.i.i = call i8* @llvm.eh.exception()             ; <i8*> [#uses=0]
36         free %struct.Lit* %lits.i.i.0.3
37         unreachable
38 }