From af7292b8f8f7e676178046e038120ee8afb0cd8b Mon Sep 17 00:00:00 2001 From: Eduard Burtescu Date: Tue, 30 Aug 2016 02:44:14 +0300 Subject: [PATCH] GH #49: Run GVN again after InstCombine. --- lib/Transforms/IPO/PassManagerBuilder.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp index 0b319f6a488b..102b8cc83e7d 100644 --- a/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -379,6 +379,8 @@ void PassManagerBuilder::addFunctionSimplificationPasses( // Run instcombine after redundancy elimination to exploit opportunities // opened up by them. addInstructionCombiningPass(MPM); + if (OptLevel > 1) + MPM.add(createGVNPass(DisableGVNLoadPRE)); // Remove redundancies addExtensionsToPM(EP_Peephole, MPM); MPM.add(createJumpThreadingPass()); // Thread jumps MPM.add(createCorrelatedValuePropagationPass());