Update more tests to the new EH scheme.
authorBill Wendling <isanbard@gmail.com>
Wed, 31 Aug 2011 21:39:05 +0000 (21:39 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 31 Aug 2011 21:39:05 +0000 (21:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138903 91177308-0d34-0410-b5e6-96231b3b80d8

17 files changed:
test/CodeGen/X86/2007-05-07-InvokeSRet.ll
test/CodeGen/X86/2008-04-17-CoalescerBug.ll
test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll
test/CodeGen/X86/2009-03-13-PHIElimBug.ll
test/CodeGen/X86/2009-03-16-PHIElimInLPad.ll
test/CodeGen/X86/2009-09-10-LoadFoldingBug.ll
test/CodeGen/X86/2009-11-25-ImpDefBug.ll
test/CodeGen/X86/2010-04-06-SSEDomainFixCrash.ll
test/CodeGen/X86/asm-label2.ll
test/CodeGen/X86/fast-isel-cmp-branch.ll
test/CodeGen/X86/fast-isel-gep.ll
test/CodeGen/X86/personality.ll
test/CodeGen/X86/pr3522.ll
test/CodeGen/X86/scev-interchange.ll
test/CodeGen/X86/split-eh-lpad-edges.ll
test/Transforms/LoopSimplify/2007-10-28-InvokeCrash.ll
test/Transforms/Mem2Reg/crash.ll

index 22e2750a500692dcce9ca72430b311cd73368350..deb39998a3ab901e7766a498853c917bffeef4d1 100644 (file)
@@ -11,5 +11,9 @@ entry:
                        to label %return unwind label %return
 
 return:                ; preds = %entry, %entry
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        ret void
 }
+
+declare i32 @__gxx_personality_v0(...)
index 77720aa67d1c72c45c5e65efc945249ba9bae364..859041eb81ff1b3eec22159f91462636a3539a3d 100644 (file)
@@ -151,8 +151,12 @@ bb7819:            ; preds = %bb3314
 bb7834:                ; preds = %bb7806, %invcont5831
        br label %bb3261
 lpad:          ; preds = %bb7806, %bb5968, %invcont5814, %bb440.i8663, %bb155.i8541, %bb5657, %bb3306
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        ret void
 lpad8185:              ; preds = %invcont5831
+        %exn8185 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        ret void
 }
 
@@ -169,3 +173,5 @@ declare %struct.wxStringBase* @_ZN12wxStringBase6appendEmw(%struct.wxStringBase*
 declare %struct.wxStringBase* @_ZN12wxStringBaseaSEPKw(%struct.wxStringBase*, i32*)
 
 declare void @_ZN8wxString6FormatEPKwz(%struct.wxString* noalias sret , i32*, ...)
+
+declare i32 @__gxx_personality_v0(...)
index 94c95d40c65e8af3b96ae1f82777bdbc85b93970..0d11546889ac3a3f19d35645944bd04a93db7d56 100644 (file)
@@ -23,8 +23,12 @@ tmp12.i.i.i.i.i.noexc65:             ; preds = %bb37
        unreachable
 
 lpad243:               ; preds = %bb37
-       %eh_ptr244 = call i8* @llvm.eh.exception( )             ; <i8*> [#uses=1]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
+       %eh_ptr244 = extractvalue { i8*, i32 } %exn, 0
        store i32 (...)** getelementptr ([5 x i32 (...)*]* @_ZTVN10Evaluation10GridOutputILi3EEE, i32 0, i32 2), i32 (...)*** null, align 8
        %tmp133 = call i8* @__cxa_begin_catch( i8* %eh_ptr244 ) nounwind                ; <i8*> [#uses=0]
        unreachable
 }
+
+declare i32 @__gxx_personality_v0(...)
index 45fc26994c6970e49cf8af4763ec0ded0fcaa7ec..e14c30a27449dddb0dfb6845dcd8a1d3f46b4977 100644 (file)
@@ -24,9 +24,13 @@ cont2:               ; preds = %cont
 
 lpad:          ; preds = %cont, %entry
        %y = phi i32 [ %a, %entry ], [ %aa, %cont ]             ; <i32> [#uses=1]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        ret i32 %y
 }
 
 ; CHECK: call{{.*}}f
 ; CHECK: movl %eax, %esi
 ; CHECK: call{{.*}}g
+
+declare i32 @__gxx_personality_v0(...)
index b13d33eb3fd918ca8276514f5ee155596d8cdb24..f8c7a151b2c9d37d3caf6a00b78c2cbce121b2f1 100644 (file)
@@ -17,8 +17,12 @@ cont2:               ; preds = %cont
 
 lpad:          ; preds = %cont, %entry
        %v = phi i32 [ %x, %entry ], [ %a, %cont ]              ; <i32> [#uses=1]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        ret i32 %v
 }
 
 ; CHECK: lpad
 ; CHECK-NEXT: Ltmp
+
+declare i32 @__gxx_personality_v0(...)
index 7b5e871246c1f95b315183477b477d8d1d545576..5483b73ecc8c6193076c146d6dfba15b7dfdd154 100644 (file)
@@ -34,6 +34,8 @@ invcont2:                                         ; preds = %invcont1
   ret i32 0
 
 lpad:                                             ; preds = %invcont1, %invcont, %entry
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   %8 = call i32 @vm_deallocate(i32 undef, i64 0, i64 %0) ; <i32> [#uses=0]
   unreachable
 }
@@ -45,3 +47,5 @@ declare i8* @pluginInstance(i8*, i32)
 declare zeroext i8 @invoke(i8*, i32, i8*, i64, i32, i64*, i32*)
 
 declare void @booleanAndDataReply(i32, i32, i32, i32, i64, i32)
+
+declare i32 @__gxx_personality_v0(...)
index 7606c0e1acc97fd385edad2f3709bf97251bc2cf..396638fb1dbddfefd421c90b3128406ed3c0a3a4 100644 (file)
@@ -46,6 +46,8 @@ bb1.i5:                                           ; preds = %bb.i1
 
 lpad:                                             ; preds = %bb1.i.fragment.cl, %bb1.i.fragment, %bb5
   %.SV10.phi807 = phi i8* [ undef, %bb1.i.fragment.cl ], [ undef, %bb1.i.fragment ], [ undef, %bb5 ] ; <i8*> [#uses=1]
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   %1 = load i8* %.SV10.phi807, align 8            ; <i8> [#uses=0]
   br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp
 
@@ -114,3 +116,5 @@ meshBB81.bbcl.disp:                               ; preds = %meshBB81.cl141, %me
     i8 51, label %meshBB81.cl141
   ]
 }
+
+declare i32 @__gxx_personality_v0(...)
index ef1798d1ae43cee6d5c31ea7b7be49ebcb96a418..864ebf120f6f62b02745a1a7f1be22503d9dc521 100644 (file)
@@ -60,5 +60,9 @@ bb92:                                             ; preds = %entry
   unreachable
 
 lpad159:                                          ; preds = %bb58
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   unreachable
 }
+
+declare i32 @__gxx_personality_v0(...)
index 0b5de3403f3827edeb3047c4cadbb835078fd4f2..8715aa98ba5ec7fce45f0994fd3e7c679e9b69f7 100644 (file)
@@ -16,7 +16,11 @@ invoke.cont:                                      ; preds = %entry
   ret void
 
 lpad:                                             ; preds = %entry
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   unreachable
 }
 
 declare void @_zed() ssp align 2
+
+declare i32 @__gxx_personality_v0(...)
index 12312e8a581c432ebfc80ad54b91d6da045811f7..6e408f896663885d93851408b96530587ecbd790 100644 (file)
@@ -26,5 +26,9 @@ true:
 return:
   ret void
 unw:
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   unreachable
 }
+
+declare i32 @__gxx_personality_v0(...)
index 05196a8aba7e9159aea9b5181509af3dad03dead..91d1f5d1518cb740754474d6155a2c6f83da1a36 100644 (file)
@@ -104,6 +104,8 @@ invoke.cont16:                                    ; preds = %if.then14
   unreachable
 
 lpad:                                             ; preds = %if.end19, %if.then14, %if.end, %entry
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   unreachable
 }
 declare i8* @_ZNK18G__FastAllocString4dataEv() nounwind
@@ -134,3 +136,4 @@ F:
   ret i32 4
 }
 
+declare i32 @__gxx_personality_v0(...)
index d3d8e3f14af33713fca71cbdebc644985a2a300b..635648dc1cb7c577416073933ede1c8afd62fb25 100644 (file)
@@ -8,6 +8,8 @@ entry:
           to label %return unwind label %unwind
 
 unwind:                                           ; preds = %entry
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   br i1 false, label %eh_then, label %cleanup20
 
 eh_then:                                          ; preds = %unwind
@@ -15,7 +17,9 @@ eh_then:                                          ; preds = %unwind
           to label %return unwind label %unwind10
 
 unwind10:                                         ; preds = %eh_then
-  %upgraded.eh_select13 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* null, i8* bitcast (void ()* @__gxx_personality_v0 to i8*), i32 1)
+  %exn10 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            filter
+  %upgraded.eh_select13 = extractvalue { i8*, i32 } %exn10, 1
   %upgraded.eh_select131 = sext i32 %upgraded.eh_select13 to i64
   %tmp18 = icmp slt i64 %upgraded.eh_select131, 0
   br i1 %tmp18, label %filter, label %cleanup20
@@ -39,6 +43,8 @@ declare void @__cxa_end_catch()
 
 declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
 
+declare i32 @__gxx_personality_v0(...)
+
 ; X64:      zPLR
 ; X64:      .byte 155
 ; X64-NEXT: .long      ___gxx_personality_v0@GOTPCREL+4
index da1623721d1cad39d3c2e25536dd073def02a9eb..112253038b7970ec59988b4a1005faaa20369036 100644 (file)
@@ -21,6 +21,8 @@ return:               ; preds = %lpad
        ret void
 
 lpad:          ; preds = %entry
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        %2 = icmp eq i8 %1, 90          ; <i1> [#uses=1]
        br i1 %2, label %return, label %bb22
 }
@@ -28,3 +30,5 @@ lpad:         ; preds = %entry
 declare void @__gnat_rcheck_12(i8*, i32) noreturn
 
 declare i32 @report__ident_int(i32)
+
+declare i32 @__gxx_personality_v0(...)
index 81c919f8dfffa5f214308414dadad4f1e73c1073..71a4d21a9b95f5e529e90053ab298b9b72c4c041 100644 (file)
@@ -149,6 +149,8 @@ bb71.i:             ; preds = %bb.i.i.i262.i, %bb66.i
                        to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i            ; <i8*> [#uses=0]
 
 lpad.i.i.i.i.i.i:              ; preds = %bb71.i
+        %exn.i.i.i.i.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 _ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i:           ; preds = %bb71.i
@@ -162,6 +164,8 @@ _ZNSt6vectorIjSaIjEED1Ev.exit.i.i:          ; preds = %_ZNSt12_Vector_baseIjSaIjEEC2EmRK
                        to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i unwind label %lpad.i.i.i.i8.i.i         ; <i8*> [#uses=0]
 
 lpad.i.i.i.i8.i.i:             ; preds = %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i
+        %exn.i.i.i.i8.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        invoke void @_Unwind_Resume(i8* undef)
                        to label %.noexc.i9.i.i unwind label %lpad.i19.i.i
 
@@ -179,6 +183,8 @@ bb50.i.i.i:         ; preds = %bb.i.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEEC2Em
                        to label %bb83.i unwind label %lpad188.i
 
 lpad.i19.i.i:          ; preds = %lpad.i.i.i.i8.i.i
+        %exn.i19.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 bb83.i:                ; preds = %bb50.i.i.i
@@ -192,6 +198,8 @@ invcont84.i:                ; preds = %bb83.i
                        to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i unwind label %lpad.i.i.i.i315.i             ; <i8*> [#uses=0]
 
 lpad.i.i.i.i315.i:             ; preds = %invcont84.i
+        %exn.i.i.i.i315.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        invoke void @_Unwind_Resume(i8* undef)
                        to label %.noexc.i316.i unwind label %lpad.i352.i
 
@@ -209,6 +217,8 @@ bb50.i.i:           ; preds = %bb.i.i.i.i.i.i.i.i320.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmR
                        to label %invcont86.i unwind label %lpad200.i
 
 lpad.i352.i:           ; preds = %lpad.i.i.i.i315.i
+        %exn.i352.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 invcont86.i:           ; preds = %bb50.i.i
@@ -232,6 +242,8 @@ invcont101.i:               ; preds = %bb100.i
                        to label %_ZN10FullMatrixIdEC1Ejj.exit.i.i unwind label %lpad.i.i.i.i.i
 
 lpad.i.i.i.i.i:                ; preds = %invcont101.i
+        %exn.i.i.i.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 _ZN10FullMatrixIdEC1Ejj.exit.i.i:              ; preds = %invcont101.i
@@ -239,6 +251,8 @@ _ZN10FullMatrixIdEC1Ejj.exit.i.i:           ; preds = %invcont101.i
                        to label %_ZN10FullMatrixIdEC1Ejj.exit28.i.i unwind label %lpad.i.i.i27.i.i
 
 lpad.i.i.i27.i.i:              ; preds = %_ZN10FullMatrixIdEC1Ejj.exit.i.i
+        %exn.i.i.i27.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        invoke void @_Unwind_Resume(i8* undef)
                        to label %.noexc.i.i unwind label %lpad.i.i
 
@@ -258,6 +272,8 @@ bb.i.i.i297.i.i:            ; preds = %bb58.i.i
        unreachable
 
 lpad.i.i:              ; preds = %lpad.i.i.i27.i.i
+        %exn.i.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 bb.i191.i:             ; preds = %.noexc232.i, %bb58.i.i
@@ -296,43 +312,71 @@ bb29.loopexit.i.i:                ; preds = %.noexc232.i
        br label %bb9.i216.i
 
 lpad.i:                ; preds = %entry
+        %exn.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad120.i:             ; preds = %invcont.i
+        %exn120.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad124.i:             ; preds = %invcont1.i
+        %exn124.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad128.i:             ; preds = %invcont3.i
+        %exn128.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad132.i:             ; preds = %invcont4.i
+        %exn132.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad136.i:             ; preds = %invcont6.i
+        %exn136.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad140.i:             ; preds = %bb21.i, %invcont7.i
+        %exn140.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad144.i:             ; preds = %bb10.i168.i, %invcont9.i
+        %exn144.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad148.i:             ; preds = %invcont10.i
+        %exn148.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad188.i:             ; preds = %bb50.i.i.i
+        %exn188.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad196.i:             ; preds = %bb.i191.i
+        %exn196 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad200.i:             ; preds = %bb50.i.i
+        %exn200.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 
 lpad204.i:             ; preds = %invcont86.i
+        %exn204.i = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 }
 
 declare fastcc void @_ZN11Polynomials19LagrangeEquidistant23generate_complete_basisEj(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* noalias nocapture sret, i32)
+
+declare i32 @__gxx_personality_v0(...)
index fd40a7f7037895ed4983dfb8d7ba7113fba0f528..756a3ddc86bb34046428662955ba2f566b28105e 100644 (file)
@@ -28,7 +28,11 @@ invcont27:           ; preds = %invcont26
 
 lpad:          ; preds = %invcont26, %invcont, %entry
        %pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ]             ; <%struct.NSAutoreleasePool*> [#uses=0]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 }
 
 declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...)
+
+declare i32 @__gxx_personality_v0(...)
index e7d0f8470ec96699de729c94ee49d345899908fe..87b3274729a1de1250091723675c7c393f561f44 100644 (file)
@@ -605,6 +605,8 @@ Unwind20.fragment:          ; preds = %bb_main
        br label %UnifiedUnreachableBlock
 
 meshBB:                ; preds = %nofilter.fragment, %bb_main
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        br label %bb_main
 
 meshBB.unwinddest:             ; No predecessors!
@@ -779,6 +781,8 @@ meshBB324:          ; preds = %bb_main
        br label %bb_main
 
 meshBB325:             ; preds = %entry.fragment.fragment, %bb_main
+        %exn325 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                    cleanup
        br label %bb_main
 
 meshBB325.unwinddest:          ; No predecessors!
@@ -890,3 +894,5 @@ UnifiedUnreachableBlock:            ; preds = %Unwind20.fragment, %filter87, %filter75, %f
 UnifiedReturnBlock:            ; preds = %invcont70.normaldest, %invcont15.normaldest
        ret void
 }
+
+declare i32 @__gxx_personality_v0(...)
index 655549f79402cb8735d205403451523c9143376f..59e2c0b3108dfb9440e25db49d0f3f7913ce5811 100644 (file)
@@ -18,10 +18,13 @@ bb15:
   ret i32 %B
 
 lpad86:
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+           cleanup
   br label %bb15
   
 }
 
+declare i32 @__gxx_personality_v0(...)
 
 
 define i32 @test2() {