[RS4GC] Fix crash in the case that a live variable has a constant base.
[oota-llvm.git] / test / Transforms / ADCE / 2005-02-17-PHI-Invoke-Crash.ll
index 991e876a25b77faa16ef9883ca30909bf67cf50d..068ad2bc1d8659e3d468bab040d2b7904e0e59e6 100644 (file)
@@ -6,7 +6,7 @@ declare void @_ZN10QByteArray6resizeEi()
 
 declare void @q_atomic_decrement()
 
-define void @_ZNK10QByteArray13leftJustifiedEicb() {
+define void @_ZNK10QByteArray13leftJustifiedEicb() personality i32 (...)* @__gxx_personality_v0 {
 entry:
         invoke void @strlen( )
                         to label %tmp.3.i.noexc unwind label %invoke_catch.0
@@ -15,17 +15,21 @@ tmp.3.i.noexc:          ; preds = %entry
         br i1 false, label %then.0, label %else.0
 
 invoke_catch.0:         ; preds = %entry
+        %exn.0 = landingpad {i8*, i32}
+                 cleanup
         invoke void @q_atomic_decrement( )
                         to label %tmp.1.i.i183.noexc unwind label %terminate
 
 tmp.1.i.i183.noexc:             ; preds = %invoke_catch.0
-        unwind
+        ret void
 
 then.0:         ; preds = %tmp.3.i.noexc
         invoke void @_ZN10QByteArray6resizeEi( )
                         to label %invoke_cont.1 unwind label %invoke_catch.1
 
 invoke_catch.1:         ; preds = %then.0
+        %exn.1 = landingpad {i8*, i32}
+                 cleanup
         invoke void @q_atomic_decrement( )
                         to label %tmp.1.i.i162.noexc unwind label %terminate
 
@@ -40,6 +44,9 @@ else.0:         ; preds = %tmp.3.i.noexc
 
 terminate:              ; preds = %invoke_catch.1, %invoke_catch.0
         %dbg.0.1 = phi {  }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ]               ; <{  }*> [#uses=0]
+        %exn = landingpad {i8*, i32}
+                 cleanup
         unreachable
 }
 
+declare i32 @__gxx_personality_v0(...)