Enable SCEV based code generation by default
authorTobias Grosser <tobias@grosser.es>
Sun, 16 Nov 2014 22:50:23 +0000 (22:50 +0000)
committerTobias Grosser <tobias@grosser.es>
Sun, 16 Nov 2014 22:50:23 +0000 (22:50 +0000)
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.

llvm-svn: 222113

polly/lib/CodeGen/BlockGenerators.cpp

index 8788151..e483cae 100644 (file)
@@ -42,7 +42,7 @@ static cl::opt<bool> Aligned("enable-polly-aligned",
 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;