Better fix for this testcase. Update it to the new EH scheme entirely.
authorBill Wendling <isanbard@gmail.com>
Fri, 2 Sep 2011 21:27:08 +0000 (21:27 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 2 Sep 2011 21:27:08 +0000 (21:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139039 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Mips/eh.ll

index 36b6bacfb512be77aae82b830eea80ce47038286..756163ad6707b5e4ee1719c9ce5c43a51ced3a0e 100644 (file)
@@ -30,12 +30,14 @@ entry:
 lpad:                                             ; preds = %entry
 ; CHECK-EL:  # %lpad
 ; CHECK-EL:  lw  $gp
-; CHECK-EL:  beq $3
+; CHECK-EL:  beq $5
 
-  %exn = tail call i8* @llvm.eh.exception() nounwind
-  %eh.selector = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* bitcast (i8** @_ZTId to i8*)) nounwind
+  %exn.val = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+           catch i8* bitcast (i8** @_ZTId to i8*)
+  %exn = extractvalue { i8*, i32 } %exn.val, 0
+  %sel = extractvalue { i8*, i32 } %exn.val, 1
   %1 = tail call i32 @llvm.eh.typeid.for(i8* bitcast (i8** @_ZTId to i8*)) nounwind
-  %2 = icmp eq i32 %eh.selector, %1
+  %2 = icmp eq i32 %sel, %1
   br i1 %2, label %catch, label %eh.resume
 
 catch:                                            ; preds = %lpad
@@ -48,8 +50,7 @@ catch:                                            ; preds = %lpad
   ret void
 
 eh.resume:                                        ; preds = %lpad
-  tail call void @llvm.eh.resume(i8* %exn, i32 %eh.selector) noreturn
-  unreachable
+  resume { i8*, i32 } %exn.val
 
 unreachable:                                      ; preds = %entry
   unreachable