Constant folding here is pointless, because InstructionSimplify
authorDuncan Sands <baldrick@free.fr>
Tue, 23 Nov 2010 20:24:21 +0000 (20:24 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 23 Nov 2010 20:24:21 +0000 (20:24 +0000)
(which does constant folding and more) is called a few lines
later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120042 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopUnswitch.cpp

index 2eaeb438e06f25d0cf24437490153edd0e4e4d1d..20d7019c218e9d4a155063e088831eccb4a62b6c 100644 (file)
@@ -32,7 +32,6 @@
 #include "llvm/DerivedTypes.h"
 #include "llvm/Function.h"
 #include "llvm/Instructions.h"
-#include "llvm/Analysis/ConstantFolding.h"
 #include "llvm/Analysis/InlineCost.h"
 #include "llvm/Analysis/InstructionSimplify.h"
 #include "llvm/Analysis/LoopInfo.h"
@@ -969,13 +968,7 @@ void LoopUnswitch::SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L) {
   while (!Worklist.empty()) {
     Instruction *I = Worklist.back();
     Worklist.pop_back();
-    
-    // Simple constant folding.
-    if (Constant *C = ConstantFoldInstruction(I)) {
-      ReplaceUsesOfWith(I, C, Worklist, L, LPM);
-      continue;
-    }
-    
+
     // Simple DCE.
     if (isInstructionTriviallyDead(I)) {
       DEBUG(dbgs() << "Remove dead instruction '" << *I);