Teach local register allocator to deal with landing pad MBB's.
[oota-llvm.git] / test / CodeGen / X86 / 2008-05-28-LocalRegAllocBug.ll
1 ; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin -regalloc=local
2
3 @_ZTVN10Evaluation10GridOutputILi3EEE = external constant [5 x i32 (...)*]              ; <[5 x i32 (...)*]*> [#uses=1]
4
5 declare i8* @llvm.eh.exception() nounwind 
6
7 declare i8* @_Znwm(i32)
8
9 declare i8* @__cxa_begin_catch(i8*) nounwind 
10
11 define i32 @main(i32 %argc, i8** %argv) {
12 entry:
13         br i1 false, label %bb37, label %bb34
14
15 bb34:           ; preds = %entry
16         ret i32 1
17
18 bb37:           ; preds = %entry
19         %tmp12.i.i.i.i.i66 = invoke i8* @_Znwm( i32 12 )
20                         to label %tmp12.i.i.i.i.i.noexc65 unwind label %lpad243         ; <i8*> [#uses=0]
21
22 tmp12.i.i.i.i.i.noexc65:                ; preds = %bb37
23         unreachable
24
25 lpad243:                ; preds = %bb37
26         %eh_ptr244 = call i8* @llvm.eh.exception( )             ; <i8*> [#uses=1]
27         store i32 (...)** getelementptr ([5 x i32 (...)*]* @_ZTVN10Evaluation10GridOutputILi3EEE, i32 0, i32 2), i32 (...)*** null, align 8
28         %tmp133 = call i8* @__cxa_begin_catch( i8* %eh_ptr244 ) nounwind                ; <i8*> [#uses=0]
29         unreachable
30 }