[x86] Fix disassembly of callw instruction
[oota-llvm.git] / test / Transforms / GVN / rle-nonlocal.ll
index 1618d05efb5f6b68d5b9cae2f669d3b7912bb243..8229aaa14247f79f593b43780b6957898afff402 100644 (file)
@@ -1,8 +1,9 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {DEAD =}
+; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
 
-define i32 @main(i32** %p) {
+define i32 @main(i32** %p, i32 %x, i32 %y) {
 block1:
-       br i1 true, label %block2, label %block3
+    %cmp = icmp eq i32 %x, %y
+       br i1 %cmp , label %block2, label %block3
 
 block2:
  %a = load i32** %p
@@ -13,7 +14,12 @@ block3:
   br label %block4
 
 block4:
+; CHECK-NOT: %existingPHI = phi
+; CHECK: %DEAD = phi
+  %existingPHI = phi i32* [ %a, %block2 ], [ %b, %block3 ] 
   %DEAD = load i32** %p
   %c = load i32* %DEAD
-  ret i32 %c
+  %d = load i32* %existingPHI
+  %e = add i32 %c, %d
+  ret i32 %e
 }