InstCombine: Don't transform a signed icmp of two GEPs into a signed compare of the...
[oota-llvm.git] / test / Transforms / InstCombine / 2003-10-29-CallSiteResolve.ll
index 07b6dd2db3b5263fa686ccf1faa08c6a2210eb86..56493e2e5e320408a2f238f5eadbbb651ed94f54 100644 (file)
@@ -1,11 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | 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
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
+        ret float* null
 }
+
+declare i32 @__gxx_personality_v0(...)