don't invalidate PN, rewrite of this code is in progress anyway.
llvm-svn: 86639
diff --git a/llvm/lib/Transforms/Scalar/JumpThreading.cpp b/llvm/lib/Transforms/Scalar/JumpThreading.cpp
index 46d40ef..7a7f407 100644
--- a/llvm/lib/Transforms/Scalar/JumpThreading.cpp
+++ b/llvm/lib/Transforms/Scalar/JumpThreading.cpp
@@ -223,10 +223,11 @@
U = PNV;
// See if we can simplify it.
- if (Value *V = SimplifyInstruction(User, TD)) {
- User->replaceAllUsesWith(V);
- User->eraseFromParent();
- }
+ if (User != PN)
+ if (Value *V = SimplifyInstruction(User, TD)) {
+ User->replaceAllUsesWith(V);
+ User->eraseFromParent();
+ }
}
PN->replaceAllUsesWith(PNV);