Update tests to new EH model. Add landingpad instructions to landing pads.
authorBill Wendling <isanbard@gmail.com>
Mon, 29 Aug 2011 20:39:23 +0000 (20:39 +0000)
committerBill Wendling <isanbard@gmail.com>
Mon, 29 Aug 2011 20:39:23 +0000 (20:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138759 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/SimplifyCFG/2003-08-05-InvokeCrash.ll
test/Transforms/SimplifyCFG/2003-08-05-MishandleInvoke.ll
test/Transforms/SimplifyCFG/2005-10-02-InvokeSimplify.ll
test/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll
test/Transforms/SimplifyCFG/2009-06-15-InvokeCrash.ll

index c019931c07e756a8948c2cc2ab05d90921ce9333..7551e8fb747c78a0e7e57cd236cbe955b0d244eb 100644 (file)
@@ -8,6 +8,9 @@ define i32 @test() {
 Ret:           ; preds = %0
        ret i32 %A
 Ret2:          ; preds = %0
+        %val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                 catch i8* null
        ret i32 undef
 }
 
+declare i32 @__gxx_personality_v0(...)
index 15cd7730449ee3bd6be7a7f5d93c261cf0d8b3ae..bc61a75561d3691ae1fa0724fa9965ec63e6f7e1 100644 (file)
@@ -6,7 +6,10 @@ define i32 @test() {
        invoke i32 @test( )
                        to label %Ret unwind label %Ret         ; <i32>:1 [#uses=0]
 Ret:           ; preds = %0, %0
+        %val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                 catch i8* null
        %A = add i32 0, 1               ; <i32> [#uses=1]
        ret i32 %A
 }
 
+declare i32 @__gxx_personality_v0(...)
index 778aa3b1f7b439ece1b7a9c393ce84da3a0160d9..2ecdc95259cc79372b077c77a0faef7f932ad6c5 100644 (file)
@@ -4,6 +4,8 @@ define i1 @foo() {
        %X = invoke i1 @foo( )
                        to label %N unwind label %F             ; <i1> [#uses=1]
 F:             ; preds = %0
+        %val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                 catch i8* null
        ret i1 false
 N:             ; preds = %0
        br i1 %X, label %A, label %B
@@ -13,3 +15,4 @@ B:            ; preds = %N
        ret i1 true
 }
 
+declare i32 @__gxx_personality_v0(...)
index dba41c9b111fdc958007048e1997433421cbd44b..d63318d1c32bdd5fb6c48d95e7de6a15f62f2f4e 100644 (file)
@@ -275,12 +275,16 @@ invcont153:               ; preds = %invcont151
        invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
                        to label %cleanup171 unwind label %cleanup173
 cleanup168:            ; preds = %invcont151, %invcont148, %invcont146
+        %val168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
                        to label %cleanup173 unwind label %cleanup173
 cleanup171:            ; preds = %invcont153
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
                        to label %finally170 unwind label %cleanup192
 cleanup173:            ; preds = %cleanup168, %cleanup168, %invcont153, %invcont144
+        %val173 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
                        to label %cleanup192 unwind label %cleanup192
 finally170:            ; preds = %cleanup171
@@ -300,12 +304,16 @@ cleanup185:               ; preds = %invcont181
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
                        to label %cleanup190 unwind label %cleanup192
 cleanup187:            ; preds = %invcont181, %invcont179, %invcont177
+        %val187 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
                        to label %cleanup192 unwind label %cleanup192
 cleanup190:            ; preds = %cleanup185
        invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
                        to label %cond_next194 unwind label %cleanup329
 cleanup192:            ; preds = %cleanup187, %cleanup187, %cleanup185, %finally170, %cleanup173, %cleanup173, %cleanup171, %invcont141, %invcont124, %invcont122, %invcont120, %invcont118, %invcont117, %invcont114, %invcont111
+        %val192 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
                        to label %cleanup329 unwind label %cleanup329
 cond_next194:          ; preds = %cleanup190, %invcont83
@@ -450,6 +458,8 @@ cleanup328:         ; preds = %invcont
        call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        ret void
 cleanup329:            ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true277, %cond_true266, %cond_next258, %cond_next244, %cond_next225, %cond_true220, %invcont210, %cond_next208, %cond_false204, %cond_true200, %cond_next194, %cleanup192, %cleanup192, %cleanup190, %invcont106, %invcont104, %invcont103, %invcont100, %invcont98, %invcont94, %cond_false, %invcont83, %invcont79, %invcont57, %invcont51, %invcont45, %cond_next42, %invcont37, %cond_true35, %invcont29, %invcont25, %cond_true24, %cond_next, %entry
+        %val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                 cleanup
        call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        unwind
 }
@@ -553,3 +563,5 @@ declare i32 @_ZNK8QPrinter12printerStateEv(%struct.QPrinter*)
 declare i1 @_ZN8QPrinter7newPageEv(%struct.QPrinter*)
 
 declare void @_ZN8QPainterD1Ev(%struct.QPainter*)
+
+declare i32 @__gxx_personality_v0(...)
index f99cbe1c8b83d62352faa1cefc4d94f6b200dcf5..39cf3bb6d9b03d7736b71b5d40af9b995c919245 100644 (file)
@@ -277,12 +277,16 @@ invcont153:               ; preds = %invcont151
        invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
                        to label %cleanup171 unwind label %cleanup173
 cleanup168:            ; preds = %invcont151, %invcont148, %invcont146
+        %val168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
                        to label %cleanup173 unwind label %cleanup173
 cleanup171:            ; preds = %invcont153
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
                        to label %finally170 unwind label %cleanup192
 cleanup173:            ; preds = %cleanup168, %cleanup168, %invcont153, %invcont144
+        %val173 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
                        to label %cleanup192 unwind label %cleanup192
 finally170:            ; preds = %cleanup171
@@ -302,12 +306,16 @@ cleanup185:               ; preds = %invcont181
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
                        to label %cleanup190 unwind label %cleanup192
 cleanup187:            ; preds = %invcont181, %invcont179, %invcont177
+        %val187 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
                        to label %cleanup192 unwind label %cleanup192
 cleanup190:            ; preds = %cleanup185
        invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
                        to label %cond_next194 unwind label %cleanup329
 cleanup192:            ; preds = %cleanup187, %cleanup187, %cleanup185, %finally170, %cleanup173, %cleanup173, %cleanup171, %invcont141, %invcont124, %invcont122, %invcont120, %invcont118, %invcont117, %invcont114, %invcont111
+        %val192 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
                        to label %cleanup329 unwind label %cleanup329
 cond_next194:          ; preds = %cleanup190, %invcont83
@@ -452,6 +460,8 @@ cleanup328:         ; preds = %invcont
        call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        ret void
 cleanup329:            ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true277, %cond_true266, %cond_next258, %cond_next244, %cond_next225, %cond_true220, %invcont210, %cond_next208, %cond_false204, %cond_true200, %cond_next194, %cleanup192, %cleanup192, %cleanup190, %invcont106, %invcont104, %invcont103, %invcont100, %invcont98, %invcont94, %cond_false, %invcont83, %invcont79, %invcont57, %invcont51, %invcont45, %cond_next42, %invcont37, %cond_true35, %invcont29, %invcont25, %cond_true24, %cond_next, %entry
+        %val329 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+                    cleanup
        call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        unwind
 }
@@ -555,3 +565,5 @@ declare i32 @_ZNK8QPrinter12printerStateEv(%struct.QPrinter*)
 declare i1 @_ZN8QPrinter7newPageEv(%struct.QPrinter*)
 
 declare void @_ZN8QPainterD1Ev(%struct.QPainter*)
+
+declare i32 @__gxx_personality_v0(...)