[NFC] Fix typo in comment.
[oota-llvm.git] / test / Verifier / invoke.ll
index 06f40f00527a68eb386b518fe6d3223b93e95457..e80cfcf830b131818cf369fb12837c1bb72614d3 100644 (file)
@@ -19,7 +19,6 @@ L2:           ; preds = %0
        br label %L
 L:             ; preds = %L2, %L1, %L1
 ; CHECK: The unwind destination does not have a landingpad instruction
-; CHECK: Instruction does not dominate all uses
        ret i32 %A
 }
 
@@ -34,9 +33,12 @@ define void @f1() {
 entry:
 ; OK
   invoke void @llvm.donothing()
-  to label %cont unwind label %cont
+  to label %conta unwind label %contb
 
-cont:
+conta:
+  ret void
+
+contb:
   %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
           filter [0 x i8*] zeroinitializer
   ret void
@@ -44,7 +46,7 @@ cont:
 
 define i8 @f2() {
 entry:
-; CHECK: Cannot invoke an intrinsinc other than donothing
+; CHECK: Cannot invoke an intrinsinc other than donothing or patchpoint
   invoke void @llvm.trap()
   to label %cont unwind label %lpad
 
@@ -63,3 +65,15 @@ entry:
   %call = call i32 @fn(i8 (i8, i8)* @llvm.expect.i8)
   ret i32 %call
 }
+
+define void @f4() {
+entry:
+  invoke void @llvm.donothing()
+  to label %cont unwind label %cont
+
+cont:
+; CHECK: Block containing LandingPadInst must be jumped to only by the unwind edge of an invoke.
+  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+          filter [0 x i8*] zeroinitializer
+  ret void
+}