[polly] r222113 - Enable SCEV based code generation by default

Tobias Grosser tobias at grosser.es
Sun Nov 16 14:50:23 PST 2014


Author: grosser
Date: Sun Nov 16 16:50:23 2014
New Revision: 222113

URL: http://llvm.org/viewvc/llvm-project?rev=222113&view=rev
Log:
Enable SCEV based code generation by default

SCEV based code generation allows Polly to detect and generate code for loops
that do not have an explicit induction variable, but only virtual induction
variables given by SCEV.

Being able to do so has two main benefits:

  - We can detect more scops by default
  - We require less canonicalization before Polly, which means we get closer
    to our goal of not touching the IR before analyzing its properties.
    Specifically, we do not need to run -polly-indvars to introduce explicit
    canonical induction variables.

This switch became possible as both the isl code generation and -polly-parallel
are LNT error free with SCEV based code generation and the isl ast generator.

Modified:
    polly/trunk/lib/CodeGen/BlockGenerators.cpp

Modified: polly/trunk/lib/CodeGen/BlockGenerators.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/BlockGenerators.cpp?rev=222113&r1=222112&r2=222113&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/BlockGenerators.cpp (original)
+++ polly/trunk/lib/CodeGen/BlockGenerators.cpp Sun Nov 16 16:50:23 2014
@@ -42,7 +42,7 @@ static cl::opt<bool> Aligned("enable-pol
 static cl::opt<bool, true>
     SCEVCodegenF("polly-codegen-scev",
                  cl::desc("Use SCEV based code generation."), cl::Hidden,
-                 cl::location(SCEVCodegen), cl::init(false), cl::ZeroOrMore,
+                 cl::location(SCEVCodegen), cl::init(true), cl::ZeroOrMore,
                  cl::cat(PollyCategory));
 
 bool polly::SCEVCodegen;





More information about the llvm-commits mailing list