diff options
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/GVN.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp index 43e850c65e..cf82ebc027 100644 --- a/lib/Transforms/Scalar/GVN.cpp +++ b/lib/Transforms/Scalar/GVN.cpp @@ -1670,14 +1670,9 @@ bool GVN::processInstruction(Instruction *I, return Changed; } - uint32_t NextNum = VN.getNextUnusedValueNumber(); - unsigned Num = VN.lookup_or_add(I); - // For conditions branches, we can perform simple conditional propagation on // the condition value itself. if (BranchInst *BI = dyn_cast<BranchInst>(I)) { - insert_table(Num, I, I->getParent()); - if (!BI->isConditional() || isa<Constant>(BI->getCondition())) return false; @@ -1699,6 +1694,9 @@ bool GVN::processInstruction(Instruction *I, return false; } + uint32_t NextNum = VN.getNextUnusedValueNumber(); + unsigned Num = VN.lookup_or_add(I); + // Allocations are always uniquely numbered, so we can save time and memory // by fast failing them. if (isa<AllocaInst>(I) || isa<TerminatorInst>(I) || isa<PHINode>(I)) { |