-; RUN: llvm-as < %s | opt -instcombine -disable-output
+; RUN: opt < %s -instcombine -disable-output
-declare int* %bar()
+declare i32* @bar()
-float* %foo() {
- %tmp.11 = invoke float* cast (int* ()* %bar to float* ()*)()
- to label %invoke_cont except label %invoke_cont
+define float* @foo() {
+ %tmp.11 = invoke float* bitcast (i32* ()* @bar to float* ()*)( )
+ to label %invoke_cont unwind label %X ; <float*> [#uses=1]
-invoke_cont:
- ret float *%tmp.11
+invoke_cont: ; preds = %0
+ ret float* %tmp.11
+
+X: ; preds = %0
+ ret float* null
}
+