[polly] r230790 - Do some preparation even with scalar and phi modeling enabled

Johannes Doerfert doerfert at cs.uni-saarland.de
Fri Feb 27 12:38:51 PST 2015


Author: jdoerfert
Date: Fri Feb 27 14:38:51 2015
New Revision: 230790

URL: http://llvm.org/viewvc/llvm-project?rev=230790&view=rev
Log:
Do some preparation even with scalar and phi modeling enabled

Modified:
    polly/trunk/lib/Transform/CodePreparation.cpp
    polly/trunk/lib/Transform/IndependentBlocks.cpp

Modified: polly/trunk/lib/Transform/CodePreparation.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Transform/CodePreparation.cpp?rev=230790&r1=230789&r2=230790&view=diff
==============================================================================
--- polly/trunk/lib/Transform/CodePreparation.cpp (original)
+++ polly/trunk/lib/Transform/CodePreparation.cpp Fri Feb 27 14:38:51 2015
@@ -201,15 +201,13 @@ void CodePreparation::getAnalysisUsage(A
 }
 
 bool CodePreparation::runOnFunction(Function &F) {
-  if (PollyModelPHINodes)
-    return false;
-
   LI = &getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
   SE = &getAnalysis<ScalarEvolution>();
 
   splitEntryBlockForAlloca(&F.getEntryBlock(), this);
 
-  eliminatePHINodes(F);
+  if (!PollyModelPHINodes)
+    eliminatePHINodes(F);
 
   return false;
 }

Modified: polly/trunk/lib/Transform/IndependentBlocks.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Transform/IndependentBlocks.cpp?rev=230790&r1=230789&r2=230790&view=diff
==============================================================================
--- polly/trunk/lib/Transform/IndependentBlocks.cpp (original)
+++ polly/trunk/lib/Transform/IndependentBlocks.cpp Fri Feb 27 14:38:51 2015
@@ -515,8 +515,6 @@ void IndependentBlocks::getAnalysisUsage
 }
 
 bool IndependentBlocks::runOnFunction(llvm::Function &F) {
-  if (DisableIntraScopScalarToArray && PollyModelPHINodes)
-    return false;
 
   bool Changed = false;
 
@@ -533,14 +531,16 @@ bool IndependentBlocks::runOnFunction(ll
     Changed |= createIndependentBlocks(R);
     Changed |= eliminateDeadCode(R);
     // This may change the RegionTree.
-    Changed |= splitExitBlock(const_cast<Region *>(R));
+    if (!DisableIntraScopScalarToArray || !PollyModelPHINodes)
+      Changed |= splitExitBlock(const_cast<Region *>(R));
   }
 
   DEBUG(dbgs() << "Before Scalar to Array------->\n");
   DEBUG(F.dump());
 
-  for (const Region *R : *SD)
-    Changed |= translateScalarToArray(R);
+  if (!DisableIntraScopScalarToArray || !PollyModelPHINodes)
+    for (const Region *R : *SD)
+      Changed |= translateScalarToArray(R);
 
   DEBUG(dbgs() << "After Independent Blocks------------->\n");
   DEBUG(F.dump());





More information about the llvm-commits mailing list