This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / 2009-01-29-LocalRegAllocBug.ll
blob35fac0c02a1e32ee847eb99620a90b604281e54e
1 ; RUN: llc < %s -mtriple=i386-apple-darwin9.6 -regalloc=fast -disable-fp-elim
2 ; rdar://6538384
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 }
10 declare fastcc i32 @_Z8parseIntI12StreamBufferEiRT_(%struct.StreamBuffer*)
12 declare i8* @llvm.eh.exception() nounwind
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]
19 bb1.i16.i.i:            ; preds = %entry
20         br i1 false, label %bb.i.i.i.i, label %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i
22 bb.i.i.i.i:             ; preds = %bb1.i16.i.i
23         br label %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i
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]
30 .noexc21.i.i:           ; preds = %_ZN3vecI3LitE4pushERKS0_.exit.i.i.i
31         unreachable
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