summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2014-11-30 14:33:31 +0000
committerTobias Grosser <tobias@grosser.es>2014-11-30 14:33:31 +0000
commit683b8e44627b7c64d623e29a5dd607df8f29f512 (patch)
treece42511e12fc059dd20cab974edeacb209de54aa
parent65b2b03fa4ca6b15cce8b871e40d7bc9139ab9f4 (diff)
downloadbcm5719-llvm-683b8e44627b7c64d623e29a5dd607df8f29f512.tar.gz
bcm5719-llvm-683b8e44627b7c64d623e29a5dd607df8f29f512.zip
Remove -polly-codegen-scev option and related code
SCEV based code generation has been the default for two weeks after having been tested for a long time. We now drop the support the non-scev-based code generation. llvm-svn: 222978
-rw-r--r--polly/include/polly/Canonicalization.h3
-rw-r--r--polly/include/polly/CodeGen/BlockGenerators.h2
-rw-r--r--polly/include/polly/ScopDetectionDiagnostic.h47
-rw-r--r--polly/include/polly/ScopInfo.h9
-rw-r--r--polly/lib/Analysis/ScopDetection.cpp15
-rw-r--r--polly/lib/Analysis/ScopDetectionDiagnostic.cpp37
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp16
-rw-r--r--polly/lib/CodeGen/BlockGenerators.cpp29
-rw-r--r--polly/lib/CodeGen/CodeGeneration.cpp10
-rw-r--r--polly/lib/CodeGen/IslCodeGeneration.cpp9
-rw-r--r--polly/lib/Support/RegisterPasses.cpp3
-rw-r--r--polly/lib/Transform/Canonicalization.cpp7
-rw-r--r--polly/lib/Transform/CodePreparation.cpp35
-rw-r--r--polly/test/Cloog/CodeGen/loop_with_condition_nested.ll1
-rw-r--r--polly/test/Cloog/CodeGen/simple_vec_call_2.ll30
-rw-r--r--polly/test/Cloog/CodeGen/simple_vec_ptr_ptr_ty.ll15
-rw-r--r--polly/test/Cloog/CodeGen/vector_load_from_bitcast.ll37
-rw-r--r--polly/test/CodePreparation/if_condition.ll2
-rw-r--r--polly/test/Dependences/reduction_privatization_deps_3.ll2
-rw-r--r--polly/test/IndependentBlocks/inter_bb_scalar_dep.ll4
-rw-r--r--polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll4
-rw-r--r--polly/test/IndependentBlocks/intra_bb_scalar_dep.ll4
-rw-r--r--polly/test/IndependentBlocks/phi_outside_scop.ll2
-rw-r--r--polly/test/IndependentBlocks/scalar_to_array.ll4
-rw-r--r--polly/test/IndependentBlocks/scev-invalidated.ll2
-rw-r--r--polly/test/Isl/CodeGen/20130221.ll2
-rw-r--r--polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll3
-rw-r--r--polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll27
-rw-r--r--polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll2
-rw-r--r--polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll4
-rw-r--r--polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll4
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll2
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll8
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll2
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll2
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll2
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll2
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll4
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/single_loop.ll4
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll2
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll4
-rw-r--r--polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll3
-rw-r--r--polly/test/Isl/CodeGen/alignment.ll2
-rw-r--r--polly/test/Isl/CodeGen/annotated_alias_scopes.ll6
-rw-r--r--polly/test/Isl/CodeGen/loop_with_condition_nested.ll3
-rw-r--r--polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll2
-rw-r--r--polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll2
-rw-r--r--polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll2
-rw-r--r--polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll15
-rw-r--r--polly/test/Isl/CodeGen/simple_vec_call_2.ll30
-rw-r--r--polly/test/Isl/CodeGen/simple_vec_cast.ll14
-rw-r--r--polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll16
-rw-r--r--polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll2
-rw-r--r--polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll2
-rw-r--r--polly/test/Isl/CodeGen/two-scops-in-row.ll4
-rw-r--r--polly/test/Isl/single_loop_param_less_equal.ll3
-rw-r--r--polly/test/Isl/single_loop_param_less_than.ll3
-rw-r--r--polly/test/ScopDetect/base_pointer.ll2
-rw-r--r--polly/test/ScopDetect/cross_loop_non_single_exit.ll2
-rw-r--r--polly/test/ScopDetect/cross_loop_non_single_exit_2.ll2
-rw-r--r--polly/test/ScopDetect/indvars.ll2
-rw-r--r--polly/test/ScopDetect/invalidate_scalar_evolution.ll6
-rw-r--r--polly/test/ScopDetect/parametric-multiply-in-scev.ll2
-rw-r--r--polly/test/ScopDetect/remove_all_children.ll2
-rw-r--r--polly/test/ScopDetect/sequential_loops.ll2
-rw-r--r--polly/test/ScopDetect/simple_loop.ll2
-rw-r--r--polly/test/ScopDetect/simple_loop_non_single_entry.ll2
-rw-r--r--polly/test/ScopDetect/simple_loop_non_single_exit.ll2
-rw-r--r--polly/test/ScopDetect/simple_loop_non_single_exit_2.ll2
-rw-r--r--polly/test/ScopDetect/simple_loop_two_phi_nodes.ll6
-rw-r--r--polly/test/ScopDetect/simple_loop_with_param.ll6
-rw-r--r--polly/test/ScopDetect/simple_loop_with_param_2.ll2
-rw-r--r--polly/test/ScopDetect/simple_non_single_entry.ll2
-rw-r--r--polly/test/ScopInfo/aliasing_dead_access.ll2
-rw-r--r--polly/test/ScopInfo/delinearize-together-all-data-refs.ll2
-rw-r--r--polly/test/ScopInfo/multi-scop.ll4
-rw-r--r--polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll2
-rw-r--r--polly/test/ScopInfo/multidim_nested_start_integer.ll2
-rw-r--r--polly/test/ScopInfo/multidim_nested_start_share_parameter.ll2
-rw-r--r--polly/test/TempScop/inter_bb_scalar_dep.ll2
-rw-r--r--polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll2
-rw-r--r--polly/test/TempScop/intra_bb_scalar_dep.ll2
-rw-r--r--polly/test/TempScop/scalar_to_array.ll2
83 files changed, 124 insertions, 454 deletions
diff --git a/polly/include/polly/Canonicalization.h b/polly/include/polly/Canonicalization.h
index b32931cb7ee..c69bf1376ce 100644
--- a/polly/include/polly/Canonicalization.h
+++ b/polly/include/polly/Canonicalization.h
@@ -21,8 +21,7 @@ namespace polly {
/// into a canonical form that simplifies the analysis and optimization passes
/// of Polly. The set of optimization passes scheduled here is probably not yet
/// optimal. TODO: Optimize the set of canonicalization passes.
-void registerCanonicalicationPasses(llvm::PassManagerBase &PM,
- bool SCEVCodegen = false);
+void registerCanonicalicationPasses(llvm::PassManagerBase &PM);
}
#endif
diff --git a/polly/include/polly/CodeGen/BlockGenerators.h b/polly/include/polly/CodeGen/BlockGenerators.h
index d8f21d53d9a..cb56898d2c2 100644
--- a/polly/include/polly/CodeGen/BlockGenerators.h
+++ b/polly/include/polly/CodeGen/BlockGenerators.h
@@ -33,8 +33,6 @@ class ScalarEvolution;
}
namespace polly {
-extern bool SCEVCodegen;
-
using namespace llvm;
class ScopStmt;
class MemoryAccess;
diff --git a/polly/include/polly/ScopDetectionDiagnostic.h b/polly/include/polly/ScopDetectionDiagnostic.h
index db91d2a3712..c8e88b10810 100644
--- a/polly/include/polly/ScopDetectionDiagnostic.h
+++ b/polly/include/polly/ScopDetectionDiagnostic.h
@@ -93,7 +93,6 @@ enum RejectReasonKind {
rrkIndVar,
rrkPhiNodeRefInRegion,
rrkNonCanonicalPhiNode,
- rrkLoopHeader,
rrkLastIndVar,
rrkIndEdge,
@@ -574,52 +573,6 @@ public:
};
//===----------------------------------------------------------------------===//
-/// @brief Captures a non canonical phi node.
-class ReportNonCanonicalPhiNode : public ReportIndVar {
- //===--------------------------------------------------------------------===//
-
- // The offending instruction.
- Instruction *Inst;
-
-public:
- ReportNonCanonicalPhiNode(Instruction *Inst);
-
- /// @name LLVM-RTTI interface
- //@{
- static bool classof(const RejectReason *RR);
- //@}
-
- /// @name RejectReason interface
- //@{
- virtual std::string getMessage() const override;
- virtual const DebugLoc &getDebugLoc() const override;
- //@}
-};
-
-//===----------------------------------------------------------------------===//
-/// @brief Captures a non canonical induction variable in the loop header.
-class ReportLoopHeader : public ReportIndVar {
- //===--------------------------------------------------------------------===//
-
- // The offending loop.
- Loop *L;
-
-public:
- ReportLoopHeader(Loop *L);
-
- /// @name LLVM-RTTI interface
- //@{
- static bool classof(const RejectReason *RR);
- //@}
-
- /// @name RejectReason interface
- //@{
- virtual std::string getMessage() const override;
- virtual const DebugLoc &getDebugLoc() const override;
- //@}
-};
-
-//===----------------------------------------------------------------------===//
/// @brief Captures a region with invalid entering edges.
class ReportIndEdge : public RejectReason {
//===--------------------------------------------------------------------===//
diff --git a/polly/include/polly/ScopInfo.h b/polly/include/polly/ScopInfo.h
index 9341edf6b20..431a1cec2d7 100644
--- a/polly/include/polly/ScopInfo.h
+++ b/polly/include/polly/ScopInfo.h
@@ -426,10 +426,6 @@ class ScopStmt {
/// The BasicBlock represented by this statement.
BasicBlock *BB;
- /// @brief The loop induction variables surrounding the statement.
- ///
- /// This information is only needed for final code generation.
- std::vector<PHINode *> IVS;
std::vector<Loop *> NestLoops;
std::string BaseName;
@@ -562,11 +558,6 @@ public:
const Scop *getParent() const { return &Parent; }
const char *getBaseName() const;
- /// @brief Get the induction variable for a dimension.
- ///
- /// @param Dimension The dimension of the induction variable
- /// @return The induction variable at a certain dimension.
- const PHINode *getInductionVariableForDimension(unsigned Dimension) const;
/// @brief Restrict the domain of the statement.
///
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp
index a7801b087c5..d0b28564da8 100644
--- a/polly/lib/Analysis/ScopDetection.cpp
+++ b/polly/lib/Analysis/ScopDetection.cpp
@@ -577,12 +577,7 @@ bool ScopDetection::isValidInstruction(Instruction &Inst,
DetectionContext &Context) const {
if (PHINode *PN = dyn_cast<PHINode>(&Inst))
if (!canSynthesize(PN, LI, SE, &Context.CurRegion)) {
- if (SCEVCodegen)
- return invalid<ReportPhiNodeRefInRegion>(Context, /*Assert=*/true,
- &Inst);
- else
- return invalid<ReportNonCanonicalPhiNode>(Context, /*Assert=*/true,
- &Inst);
+ return invalid<ReportPhiNodeRefInRegion>(Context, /*Assert=*/true, &Inst);
}
// We only check the call instruction but not invoke instruction.
@@ -609,14 +604,6 @@ bool ScopDetection::isValidInstruction(Instruction &Inst,
}
bool ScopDetection::isValidLoop(Loop *L, DetectionContext &Context) const {
- if (!SCEVCodegen) {
- // If code generation is not in scev based mode, we need to ensure that
- // each loop has a canonical induction variable.
- PHINode *IndVar = L->getCanonicalInductionVariable();
- if (!IndVar)
- return invalid<ReportLoopHeader>(Context, /*Assert=*/true, L);
- }
-
// Is the loop count affine?
const SCEV *LoopCount = SE->getBackedgeTakenCount(L);
if (!isAffineExpr(&Context.CurRegion, LoopCount, *SE))
diff --git a/polly/lib/Analysis/ScopDetectionDiagnostic.cpp b/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
index 34e7ef7a622..6e869cf3e60 100644
--- a/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
+++ b/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
@@ -351,43 +351,6 @@ bool ReportPhiNodeRefInRegion::classof(const RejectReason *RR) {
}
//===----------------------------------------------------------------------===//
-// ReportNonCanonicalPhiNode.
-
-ReportNonCanonicalPhiNode::ReportNonCanonicalPhiNode(Instruction *Inst)
- : ReportIndVar(rrkNonCanonicalPhiNode), Inst(Inst) {}
-
-std::string ReportNonCanonicalPhiNode::getMessage() const {
- return "Non canonical PHI node: " + *Inst;
-}
-
-const DebugLoc &ReportNonCanonicalPhiNode::getDebugLoc() const {
- return Inst->getDebugLoc();
-}
-
-bool ReportNonCanonicalPhiNode::classof(const RejectReason *RR) {
- return RR->getKind() == rrkNonCanonicalPhiNode;
-}
-
-//===----------------------------------------------------------------------===//
-// ReportLoopHeader.
-
-ReportLoopHeader::ReportLoopHeader(Loop *L)
- : ReportIndVar(rrkLoopHeader), L(L) {}
-
-std::string ReportLoopHeader::getMessage() const {
- return ("No canonical IV at loop header: " + L->getHeader()->getName()).str();
-}
-
-const DebugLoc &ReportLoopHeader::getDebugLoc() const {
- BasicBlock *BB = L->getHeader();
- return BB->getTerminator()->getDebugLoc();
-}
-
-bool ReportLoopHeader::classof(const RejectReason *RR) {
- return RR->getKind() == rrkLoopHeader;
-}
-
-//===----------------------------------------------------------------------===//
// ReportIndEdge.
ReportIndEdge::ReportIndEdge(BasicBlock *BB)
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 23a52814ab4..1b85804909f 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -17,7 +17,6 @@
//
//===----------------------------------------------------------------------===//
-#include "polly/CodeGen/BlockGenerators.h"
#include "polly/LinkAllPasses.h"
#include "polly/ScopInfo.h"
#include "polly/Options.h"
@@ -905,16 +904,10 @@ void ScopStmt::deriveAssumptions() {
ScopStmt::ScopStmt(Scop &parent, TempScop &tempScop, const Region &CurRegion,
BasicBlock &bb, SmallVectorImpl<Loop *> &Nest,
SmallVectorImpl<unsigned> &Scatter)
- : Parent(parent), BB(&bb), IVS(Nest.size()), NestLoops(Nest.size()) {
+ : Parent(parent), BB(&bb), NestLoops(Nest.size()) {
// Setup the induction variables.
- for (unsigned i = 0, e = Nest.size(); i < e; ++i) {
- if (!SCEVCodegen) {
- PHINode *PN = Nest[i]->getCanonicalInductionVariable();
- assert(PN && "Non canonical IV in Scop!");
- IVS[i] = PN;
- }
+ for (unsigned i = 0, e = Nest.size(); i < e; ++i)
NestLoops[i] = Nest[i];
- }
BaseName = getIslCompatibleName("Stmt_", &bb, "");
@@ -1076,11 +1069,6 @@ unsigned ScopStmt::getNumScattering() const {
const char *ScopStmt::getBaseName() const { return BaseName.c_str(); }
-const PHINode *
-ScopStmt::getInductionVariableForDimension(unsigned Dimension) const {
- return IVS[Dimension];
-}
-
const Loop *ScopStmt::getLoopForDimension(unsigned Dimension) const {
return NestLoops[Dimension];
}
diff --git a/polly/lib/CodeGen/BlockGenerators.cpp b/polly/lib/CodeGen/BlockGenerators.cpp
index e483cae5347..4c0762ca69d 100644
--- a/polly/lib/CodeGen/BlockGenerators.cpp
+++ b/polly/lib/CodeGen/BlockGenerators.cpp
@@ -39,30 +39,17 @@ static cl::opt<bool> Aligned("enable-polly-aligned",
cl::Hidden, cl::init(false), cl::ZeroOrMore,
cl::cat(PollyCategory));
-static cl::opt<bool, true>
- SCEVCodegenF("polly-codegen-scev",
- cl::desc("Use SCEV based code generation."), cl::Hidden,
- cl::location(SCEVCodegen), cl::init(true), cl::ZeroOrMore,
- cl::cat(PollyCategory));
-
-bool polly::SCEVCodegen;
-
bool polly::canSynthesize(const Instruction *I, const llvm::LoopInfo *LI,
ScalarEvolution *SE, const Region *R) {
- if (SCEVCodegen) {
- if (!I || !SE->isSCEVable(I->getType()))
- return false;
-
- if (const SCEV *Scev = SE->getSCEV(const_cast<Instruction *>(I)))
- if (!isa<SCEVCouldNotCompute>(Scev))
- if (!hasScalarDepsInsideRegion(Scev, R))
- return true;
-
+ if (!I || !SE->isSCEVable(I->getType()))
return false;
- }
- Loop *L = LI->getLoopFor(I->getParent());
- return L && I == L->getCanonicalInductionVariable() && R->contains(L);
+ if (const SCEV *Scev = SE->getSCEV(const_cast<Instruction *>(I)))
+ if (!isa<SCEVCouldNotCompute>(Scev))
+ if (!hasScalarDepsInsideRegion(Scev, R))
+ return true;
+
+ return false;
}
BlockGenerator::BlockGenerator(PollyIRBuilder &B, ScopStmt &Stmt, Pass *P,
@@ -91,7 +78,7 @@ Value *BlockGenerator::getNewValue(const Value *Old, ValueMapT &BBMap,
if (Value *New = BBMap.lookup(Old))
return New;
- if (SCEVCodegen && SE.isSCEVable(Old->getType()))
+ if (SE.isSCEVable(Old->getType()))
if (const SCEV *Scev = SE.getSCEVAtScope(const_cast<Value *>(Old), L)) {
if (!isa<SCEVCouldNotCompute>(Scev)) {
const SCEV *NewScev = apply(Scev, LTS, SE);
diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp
index d1b1709cafe..91da58c2fec 100644
--- a/polly/lib/CodeGen/CodeGeneration.cpp
+++ b/polly/lib/CodeGen/CodeGeneration.cpp
@@ -412,16 +412,6 @@ void ClastStmtCodeGen::codegen(const clast_assignment *A, ScopStmt *Stmt,
if (VLTS)
(*VLTS)[VectorDim][Stmt->getLoopForDimension(Dim)] = URHS;
LoopToScev[Stmt->getLoopForDimension(Dim)] = URHS;
-
- const PHINode *PN = Stmt->getInductionVariableForDimension(Dim);
- if (PN) {
- RHS = Builder.CreateTruncOrBitCast(RHS, PN->getType());
-
- if (VectorVMap)
- (*VectorVMap)[VectorDim][PN] = RHS;
-
- ValueMap[PN] = RHS;
- }
}
void ClastStmtCodeGen::codegenSubstitutions(const clast_stmt *Assignment,
diff --git a/polly/lib/CodeGen/IslCodeGeneration.cpp b/polly/lib/CodeGen/IslCodeGeneration.cpp
index 5308da3c921..34043782e9b 100644
--- a/polly/lib/CodeGen/IslCodeGeneration.cpp
+++ b/polly/lib/CodeGen/IslCodeGeneration.cpp
@@ -751,15 +751,6 @@ void IslNodeBuilder::createSubstitutions(isl_ast_expr *Expr, ScopStmt *Stmt,
V = ExprBuilder.create(SubExpr);
ScalarEvolution *SE = Stmt->getParent()->getSE();
LTS[Stmt->getLoopForDimension(i)] = SE->getUnknown(V);
-
- // CreateIntCast can introduce trunc expressions. This is correct, as the
- // result will always fit into the type of the original induction variable
- // (because we calculate a value of the original induction variable).
- const Value *OldIV = Stmt->getInductionVariableForDimension(i);
- if (OldIV) {
- V = Builder.CreateIntCast(V, OldIV->getType(), true);
- VMap[OldIV] = V;
- }
}
// Add the current ValueMap to our per-statement value map.
diff --git a/polly/lib/Support/RegisterPasses.cpp b/polly/lib/Support/RegisterPasses.cpp
index 733920fce41..d40da37d04e 100644
--- a/polly/lib/Support/RegisterPasses.cpp
+++ b/polly/lib/Support/RegisterPasses.cpp
@@ -21,7 +21,6 @@
#include "polly/RegisterPasses.h"
#include "polly/Canonicalization.h"
-#include "polly/CodeGen/BlockGenerators.h"
#include "polly/CodeGen/Cloog.h"
#include "polly/CodeGen/CodeGeneration.h"
#include "polly/Dependences.h"
@@ -195,7 +194,7 @@ void initializePollyPasses(PassRegistry &Registry) {
/// code generator. For the moment, the CLooG code generator is enabled by
/// default.
static void registerPollyPasses(llvm::PassManagerBase &PM) {
- registerCanonicalicationPasses(PM, SCEVCodegen);
+ registerCanonicalicationPasses(PM);
PM.add(polly::createScopInfoPass());
diff --git a/polly/lib/Transform/Canonicalization.cpp b/polly/lib/Transform/Canonicalization.cpp
index 0dc772850fb..40903c6b936 100644
--- a/polly/lib/Transform/Canonicalization.cpp
+++ b/polly/lib/Transform/Canonicalization.cpp
@@ -20,8 +20,7 @@
using namespace llvm;
using namespace polly;
-void polly::registerCanonicalicationPasses(llvm::PassManagerBase &PM,
- bool SCEVCodegen) {
+void polly::registerCanonicalicationPasses(llvm::PassManagerBase &PM) {
PM.add(llvm::createPromoteMemoryToRegisterPass());
PM.add(llvm::createInstructionCombiningPass());
PM.add(llvm::createCFGSimplificationPass());
@@ -30,10 +29,6 @@ void polly::registerCanonicalicationPasses(llvm::PassManagerBase &PM,
PM.add(llvm::createReassociatePass());
PM.add(llvm::createLoopRotatePass());
PM.add(llvm::createInstructionCombiningPass());
-
- if (!SCEVCodegen)
- PM.add(polly::createIndVarSimplifyPass());
-
PM.add(polly::createCodePreparationPass());
}
diff --git a/polly/lib/Transform/CodePreparation.cpp b/polly/lib/Transform/CodePreparation.cpp
index 4dc55563573..67e111bb0bd 100644
--- a/polly/lib/Transform/CodePreparation.cpp
+++ b/polly/lib/Transform/CodePreparation.cpp
@@ -9,20 +9,9 @@
//
// The Polly code preparation pass is executed before SCoP detection. Its only
// use is to translate all PHI nodes that can not be expressed by the code
-// generator into explicit memory dependences. Depending of the code generation
-// strategy different PHI nodes are translated:
+// generator into explicit memory dependences.
//
-// - indvars based code generation:
-//
-// The indvars based code generation requires explicit canonical induction
-// variables. Such variables are generated before scop detection and
-// also before the code preparation pass. All PHI nodes that are not canonical
-// induction variables are not supported by the indvars based code generation
-// and are consequently translated into explicit memory accesses.
-//
-// - scev based code generation:
-//
-// The scev based code generation can code generate all PHI nodes that do not
+// Polly's code generation can code generate all PHI nodes that do not
// reference parameters within the scop. As the code preparation pass is run
// before scop detection, we can not check this condition, because without
// a detected scop, we do not know SCEVUnknowns that appear in the SCEV of
@@ -128,21 +117,11 @@ bool CodePreparation::eliminatePHINodes(Function &F) {
for (BasicBlock::iterator II = BI->begin(), IE = BI->getFirstNonPHI();
II != IE; ++II) {
PHINode *PN = cast<PHINode>(II);
- if (SCEVCodegen) {
- if (SE->isSCEVable(PN->getType())) {
- const SCEV *S = SE->getSCEV(PN);
- if (!isa<SCEVUnknown>(S) && !isa<SCEVCouldNotCompute>(S)) {
- PNtoPreserve.push_back(PN);
- continue;
- }
- }
- } else {
- if (Loop *L = LI->getLoopFor(BI)) {
- // Induction variables will be preserved.
- if (L->getCanonicalInductionVariable() == PN) {
- PNtoPreserve.push_back(PN);
- continue;
- }
+ if (SE->isSCEVable(PN->getType())) {
+ const SCEV *S = SE->getSCEV(PN);
+ if (!isa<SCEVUnknown>(S) && !isa<SCEVCouldNotCompute>(S)) {
+ PNtoPreserve.push_back(PN);
+ continue;
}
}
diff --git a/polly/test/Cloog/CodeGen/loop_with_condition_nested.ll b/polly/test/Cloog/CodeGen/loop_with_condition_nested.ll
index 98640a92c90..e47a859fa85 100644
--- a/polly/test/Cloog/CodeGen/loop_with_condition_nested.ll
+++ b/polly/test/Cloog/CodeGen/loop_with_condition_nested.ll
@@ -1,5 +1,4 @@
; RUN: opt %loadPolly -basicaa -polly-cloog -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen -polly-codegen-scev=false -loops -analyze < %s | FileCheck %s -check-prefix=LOOPS
;#include <string.h>
;#define N 1024
diff --git a/polly/test/Cloog/CodeGen/simple_vec_call_2.ll b/polly/test/Cloog/CodeGen/simple_vec_call_2.ll
index a5bf14dd4f8..aa5acbd4859 100644
--- a/polly/test/Cloog/CodeGen/simple_vec_call_2.ll
+++ b/polly/test/Cloog/CodeGen/simple_vec_call_2.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-codegen %vector-opt -polly-codegen-scev=false -dce -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen %vector-opt -polly-codegen-scev=true -dce -S < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -basicaa -polly-codegen %vector-opt -dce -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
@@ -26,7 +25,6 @@ return:
ret void
}
-; CHECK: %p_scevgep = getelementptr [1024 x float**]* @B, i64 0, i64 0
; CHECK: %value_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8
; CHECK: %value_p_splat = shufflevector <1 x float> %value_p_splat_one, <1 x float> %value_p_splat_one, <4 x i32> zeroinitializer
; CHECK: %0 = extractelement <4 x float> %value_p_splat, i32 0
@@ -38,26 +36,8 @@ return:
; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]]
; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]]
; CHECK: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0
-; CHECK: %5 = insertelement <4 x float**> %4, float** %p_result4, i32 1
-; CHECK: %6 = insertelement <4 x float**> %5, float** %p_result5, i32 2
-; CHECK: %7 = insertelement <4 x float**> %6, float** %p_result6, i32 3
-; CHECK: %vector_ptr = bitcast float*** %p_scevgep to <4 x float**>*
-; CHECK: store <4 x float**> %7, <4 x float**>* %vector_ptr, align 8
+; CHECK: %5 = insertelement <4 x float**> %4, float** %p_result1, i32 1
+; CHECK: %6 = insertelement <4 x float**> %5, float** %p_result2, i32 2
+; CHECK: %7 = insertelement <4 x float**> %6, float** %p_result3, i32 3
+; CHECK: store <4 x float**> %7, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align
; CHECK: attributes [[NUW]] = { nounwind }
-
-; CHECK-SCEV: %value_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8
-; CHECK-SCEV: %value_p_splat = shufflevector <1 x float> %value_p_splat_one, <1 x float> %value_p_splat_one, <4 x i32> zeroinitializer
-; CHECK-SCEV: %0 = extractelement <4 x float> %value_p_splat, i32 0
-; CHECK-SCEV: %1 = extractelement <4 x float> %value_p_splat, i32 1
-; CHECK-SCEV: %2 = extractelement <4 x float> %value_p_splat, i32 2
-; CHECK-SCEV: %3 = extractelement <4 x float> %value_p_splat, i32 3
-; CHECK-SCEV: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) [[NUW:#[0-9]+]]
-; CHECK-SCEV: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) [[NUW]]
-; CHECK-SCEV: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]]
-; CHECK-SCEV: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]]
-; CHECK-SCEV: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0
-; CHECK-SCEV: %5 = insertelement <4 x float**> %4, float** %p_result1, i32 1
-; CHECK-SCEV: %6 = insertelement <4 x float**> %5, float** %p_result2, i32 2
-; CHECK-SCEV: %7 = insertelement <4 x float**> %6, float** %p_result3, i32 3
-; CHECK-SCEV: store <4 x float**> %7, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align
-; CHECK-SCEV: attributes [[NUW]] = { nounwind }
diff --git a/polly/test/Cloog/CodeGen/simple_vec_ptr_ptr_ty.ll b/polly/test/Cloog/CodeGen/simple_vec_ptr_ptr_ty.ll
index d295be7aaaf..bf954100770 100644
--- a/polly/test/Cloog/CodeGen/simple_vec_ptr_ptr_ty.ll
+++ b/polly/test/Cloog/CodeGen/simple_vec_ptr_ptr_ty.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-codegen %vector-opt -S -polly-codegen-scev=false < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen %vector-opt -S -polly-codegen-scev=true < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -basicaa -polly-codegen %vector-opt -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
@@ -25,16 +24,6 @@ return:
ret void
}
-; CHECK: %p_scevgep = getelementptr [1024 x float**]* @B, i64 0, i64 0
-; CHECK: %p_scevgep1 = getelementptr [1024 x float**]* @B, i64 0, i64 1
-; CHECK: %p_scevgep2 = getelementptr [1024 x float**]* @B, i64 0, i64 2
-; CHECK: %p_scevgep3 = getelementptr [1024 x float**]* @B, i64 0, i64 3
; CHECK: %value_p_splat_one = load <1 x float**>* bitcast ([1024 x float**]* @A to <1 x float**>*), align 8
; CHECK: %value_p_splat = shufflevector <1 x float**> %value_p_splat_one, <1 x float**> %value_p_splat_one, <4 x i32> zeroinitializer
-; CHECK: %vector_ptr = bitcast float*** %p_scevgep to <4 x float**>*
-; CHECK: store <4 x float**> %value_p_splat, <4 x float**>* %vector_ptr
-
-
-; CHECK-SCEV: %value_p_splat_one = load <1 x float**>* bitcast ([1024 x float**]* @A to <1 x float**>*), align 8
-; CHECK-SCEV: %value_p_splat = shufflevector <1 x float**> %value_p_splat_one, <1 x float**> %value_p_splat_one, <4 x i32> zeroinitializer
-; CHECK-SCEV: store <4 x float**> %value_p_splat, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align 8
+; CHECK: store <4 x float**> %value_p_splat, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align 8
diff --git a/polly/test/Cloog/CodeGen/vector_load_from_bitcast.ll b/polly/test/Cloog/CodeGen/vector_load_from_bitcast.ll
deleted file mode 100644
index 2bc9a1ccb55..00000000000
--- a/polly/test/Cloog/CodeGen/vector_load_from_bitcast.ll
+++ /dev/null
@@ -1,37 +0,0 @@
-; RUN: opt %loadPolly -tbaa -polly-codegen -polly-vectorizer=polly -polly-codegen-scev=false -S < %s | FileCheck %s
-
-target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
-target triple = "i386-apple-macosx10.8.0"
-
-define void @foo(float** %tone) {
-preheader:
- br label %for
-
-for:
- %indvar = phi i32 [ %indvar.next, %for ], [ 0, %preheader ]
- %ptr1 = getelementptr inbounds float** %tone, i32 0
- %val = load float** %ptr1, align 4, !tbaa !2817
- %ptr2 = getelementptr float* %val, i32 %indvar
- %re115 = bitcast float* %ptr2 to float*
-; CHECK: %val_p_vec_p = bitcast float** %p_ptr1 to <1 x float*>*
-
- %scevgep3 = getelementptr float* %val, i32 %indvar
- %scevgep162163 = bitcast float* %scevgep3 to float*
- %ptr5 = load float* %scevgep162163, !tbaa !2816
-; CHECK: load <4 x float>
- %add = fadd float undef, %ptr5
- store float %add, float* %re115, !tbaa !2816
-; CHECK: store <4 x float>
-
- %indvar.next = add nsw i32 %indvar, 1
- %exitcond = icmp ne i32 %indvar.next, 4
- br i1 %exitcond, label %for, label %end
-
-end:
- unreachable
-}
-
-!2814 = metadata !{metadata !"Simple C/C++ TBAA"}
-!2813 = metadata !{metadata !"omnipotent char", metadata !2814, i64 0}
-!2816 = metadata !{metadata !"int", metadata !2813, i64 0}
-!2817 = metadata !{metadata !"short", metadata !2813, i64 0}
diff --git a/polly/test/CodePreparation/if_condition.ll b/polly/test/CodePreparation/if_condition.ll
index fde60a25ec0..d29d1dfb9fc 100644
--- a/polly/test/CodePreparation/if_condition.ll
+++ b/polly/test/CodePreparation/if_condition.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-prepare -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-prepare -S -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-prepare -S < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/Dependences/reduction_privatization_deps_3.ll b/polly/test/Dependences/reduction_privatization_deps_3.ll
index 83449be0d40..89244926150 100644
--- a/polly/test/Dependences/reduction_privatization_deps_3.ll
+++ b/polly/test/Dependences/reduction_privatization_deps_3.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-dependences -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-dependences -analyze < %s | FileCheck %s
;
; CHECK: RAW dependences:
; CHECK-DAG: Stmt_S2[0, 0] -> Stmt_S3[1]
diff --git a/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll b/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll
index 5a6014d4995..376fe5e1b2f 100644
--- a/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll
+++ b/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll
@@ -1,7 +1,7 @@
; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-independent -polly-codegen-scev -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s -check-prefix=SCALARACCESS
; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s -check-prefix=SCALARACCESS
-; RUN: opt %loadPolly -basicaa -polly-independent -polly-codegen-scev -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s -check-prefix=SCALARACCESS
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll b/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
index bd512f53400..9f080fa8cc1 100644
--- a/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
+++ b/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
@@ -1,7 +1,7 @@
; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-independent -polly-codegen-scev -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s -check-prefix=SCALARACCESS
; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s -check-prefix=SCALARACCESS
-; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -polly-codegen-scev -S < %s | FileCheck %s -check-prefix=SCALARACCESS
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll b/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll
index 8e3fff1abe5..f167a8907c6 100644
--- a/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll
+++ b/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll
@@ -1,7 +1,7 @@
; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-independent -polly-codegen-scev -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s
; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -polly-codegen-scev -S < %s | FileCheck %s
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/IndependentBlocks/phi_outside_scop.ll b/polly/test/IndependentBlocks/phi_outside_scop.ll
index 2172fabd80d..f56b0873fbf 100644
--- a/polly/test/IndependentBlocks/phi_outside_scop.ll
+++ b/polly/test/IndependentBlocks/phi_outside_scop.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-independent -polly-codegen-scev -S < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/IndependentBlocks/scalar_to_array.ll b/polly/test/IndependentBlocks/scalar_to_array.ll
index 30181720c19..8358a87756f 100644
--- a/polly/test/IndependentBlocks/scalar_to_array.ll
+++ b/polly/test/IndependentBlocks/scalar_to_array.ll
@@ -1,7 +1,7 @@
; RUN: opt %loadPolly -basicaa -polly-independent < %s -S | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-independent -polly-codegen-scev < %s -S | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-independent < %s -S | FileCheck %s
; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s -check-prefix=SCALARACCESS
-; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -polly-codegen-scev < %s -S | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array < %s -S | FileCheck %s -check-prefix=SCALARACCESS
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/IndependentBlocks/scev-invalidated.ll b/polly/test/IndependentBlocks/scev-invalidated.ll
index 18d888f8b7a..0a95c87430d 100644
--- a/polly/test/IndependentBlocks/scev-invalidated.ll
+++ b/polly/test/IndependentBlocks/scev-invalidated.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-scev -polly-independent < %s
+; RUN: opt %loadPolly -polly-independent < %s
target datalayout ="e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/Isl/CodeGen/20130221.ll b/polly/test/Isl/CodeGen/20130221.ll
index 7b6ee2fe84a..22a079caf74 100644
--- a/polly/test/Isl/CodeGen/20130221.ll
+++ b/polly/test/Isl/CodeGen/20130221.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-isl -S -polly-codegen-scev < %s
+; RUN: opt %loadPolly -polly-codegen-isl -S < %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll b/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
index b2dfc255b45..d9f56c06780 100644
--- a/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
+++ b/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-isl -polly-ast-detect-parallel -polly-codegen-scev=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-codegen-isl -polly-ast-detect-parallel -polly-codegen-scev=true -S < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl -polly-ast-detect-parallel -S < %s | FileCheck %s
;
; Check that we mark multiple parallel loops correctly including the memory instructions.
;
diff --git a/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll b/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
index b5b6ae0b786..28858c00fc1 100644
--- a/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
+++ b/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
@@ -1,7 +1,5 @@
-; RUN: opt %loadPolly -polly-codegen-isl -S -polly-codegen-scev=false < %s | FileCheck %s -check-prefix=SEQUENTIAL
-; RUN: opt %loadPolly -polly-codegen-isl -S -polly-codegen-scev=true < %s | FileCheck %s -check-prefix=SEQUENTIAL-SCEV
-; RUN: opt %loadPolly -polly-codegen-isl -polly-ast-detect-parallel -S -polly-codegen-scev=false < %s | FileCheck %s -check-prefix=PARALLEL
-; RUN: opt %loadPolly -polly-codegen-isl -polly-ast-detect-parallel -S -polly-codegen-scev=true < %s | FileCheck %s -check-prefix=PARALLEL-SCEV
+; RUN: opt %loadPolly -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=SEQUENTIAL
+; RUN: opt %loadPolly -polly-codegen-isl -polly-ast-detect-parallel -S < %s | FileCheck %s -check-prefix=PARALLEL
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-pc-linux-gnu"
@@ -39,16 +37,10 @@ ret:
; SEQUENTIAL: @test-one
; SEQUENTIAL-NOT: !llvm.mem.parallel_loop_access
; SEQUENTIAL-NOT: !llvm.loop
-; SEQUENTIAL-SCEV: @test-one
-; SEQUENTIAL-SCEV-NOT: !llvm.mem.parallel_loop_access
-; SEQUENTIAL-SCEV-NOT: !llvm.loop
; PARALLEL: @test-one
-; PARALLEL: store i32 1, i32* %p_scevgep, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID:[0-9]*]]
+; PARALLEL: store i32 1, i32* %scevgep1, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID:[0-9]*]]
; PARALLEL: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit, !llvm.loop ![[LoopID]]
-; PARALLEL-SCEV: @test-one
-; PARALLEL-SCEV: store i32 1, i32* %scevgep1, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID:[0-9]*]]
-; PARALLEL-SCEV: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit, !llvm.loop ![[LoopID]]
; This loop has memory dependences that require at least a simple dependence
; analysis to detect the parallelism.
@@ -88,15 +80,8 @@ ret:
; SEQUENTIAL: @test-two
; SEQUENTIAL-NOT: !llvm.mem.parallel_loop_access
; SEQUENTIAL-NOT: !llvm.loop
-; SEQUENTIAL-SCEV: @test-two
-; SEQUENTIAL-SCEV-NOT: !llvm.mem.parallel_loop_access
-; SEQUENTIAL-SCEV-NOT: !llvm.loop
; PARALLEL: @test-two
-; PARALLEL: %val_p_scalar_ = load i32* %p_scevgepload, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID:[0-9]*]]
-; PARALLEL: store i32 %val_p_scalar_, i32* %p_scevgepstore, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID]]
-; PARALLEL: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit, !llvm.loop ![[LoopID]]
-; PARALLEL-SCEV: @test-two
-; PARALLEL-SCEV: %val_p_scalar_ = load i32* %scevgep, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID:[0-9]*]]
-; PARALLEL-SCEV: store i32 %val_p_scalar_, i32* %scevgep1, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID]]
-; PARALLEL-SCEV: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit, !llvm.loop ![[LoopID]]
+; PARALLEL: %val_p_scalar_ = load i32* %scevgep, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID:[0-9]*]]
+; PARALLEL: store i32 %val_p_scalar_, i32* %scevgep1, {{[ ._!,a-zA-Z0-9]*}}, !llvm.mem.parallel_loop_access ![[LoopID]]
+; PARALLEL: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit, !llvm.loop ![[LoopID]]
diff --git a/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll b/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll
index 64e6de1935b..aeff96a7d82 100644
--- a/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-scev -polly-import-jscop -polly-import-jscop-dir=%S -analyze 2>&1 < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -analyze 2>&1 < %s | FileCheck %s
;
; Check that we do not allow to access elements not accessed before because the
; alignment information would become invalid.
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
index 78a22102424..6d1de115e99 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
@@ -1,7 +1,7 @@
;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHCONST %s
;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withoutconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHOUTCONST %s
-;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withconst -polly-codegen-isl -polly-codegen-scev < %s -S | FileCheck -check-prefix=WITHCONST %s
-;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withoutconst -polly-codegen-isl -polly-codegen-scev < %s -S | FileCheck -check-prefix=WITHOUTCONST %s
+;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHCONST %s
+;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withoutconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHOUTCONST %s
;int A[1040];
;
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
index 6f3119d458d..7db1e1f26dd 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
@@ -1,7 +1,7 @@
;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHCONST %s
;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withoutconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHOUTCONST %s
-;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withconst -polly-codegen-isl -polly-codegen-scev < %s -S | FileCheck -check-prefix=WITHCONST %s
-;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withoutconst -polly-codegen-isl -polly-codegen-scev < %s -S | FileCheck -check-prefix=WITHOUTCONST %s
+;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHCONST %s
+;RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-dir=%S -polly-import-jscop-postfix=transformed+withoutconst -polly-codegen-isl < %s -S | FileCheck -check-prefix=WITHOUTCONST %s
;
;float A[1040];
;
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll
index 00821c18199..372176826d3 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; This code has failed the scev based code generation as the scev in the scop
; contains an AddRecExpr of an outer loop. When generating code, we did not
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
index 2c64c6cd695..13ba80e40f5 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
@@ -1,16 +1,12 @@
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev=false -verify-dom-info < %s | FileCheck %s -check-prefix=IR
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev=true -verify-dom-info < %s | FileCheck %s -check-prefix=IR-SCEV
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; AST: #pragma simd
; AST: #pragma omp parallel for
; AST: for (int c1 = 0; c1 <= 1023; c1 += 1)
; AST: Stmt_for_i(c1);
-; IR: %[[gep:[._a-zA-Z0-9]*]] = getelementptr inbounds { [1024 x double]*, i64 }* %polly.par.userContext, i32 0, i32 1
-; IR: store i64 %extern, i64* %[[gep]]
-
-; IR-SCEV: getelementptr inbounds { [1024 x double]* }* %polly.par.userContext, i32 0, i32 0
+; IR: getelementptr inbounds { [1024 x double]* }* %polly.par.userContext, i32 0, i32 0
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
index 98072371e00..950c4a3cd4c 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
@@ -1,6 +1,6 @@
; RUN: opt %loadPolly -basicaa -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
; RUN: opt %loadPolly -basicaa -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
-; RUN: opt %loadPolly -basicaa -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -basicaa -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; The interesting part of this test case is the instruction:
; %tmp = bitcast i8* %call to i64**
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
index cbb2c7f64fe..b6ea0fab754 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
@@ -1,6 +1,6 @@
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=IR
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=IR
; Make sure we correctly forward the reference to 'A' to the OpenMP subfunction.
;
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll b/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
index e94e90e81bc..3ebb2d5549a 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
@@ -1,6 +1,6 @@
; RUN: opt %loadPolly -polly-parallel -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
; RUN: opt %loadPolly -polly-parallel -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=IR
-; RUN: opt %loadPolly -polly-parallel -polly-codegen-isl -S -polly-codegen-scev < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=IR
;
; float A[100];
;
diff --git a/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll b/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll
index 71f183df5a7..f311cd41c99 100644
--- a/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; IR: @foo.polly.subfn
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
diff --git a/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll b/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
index 63fb60b4e3f..51766914656 100644
--- a/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze -polly-codegen-scev < %s | FileCheck %s -check-prefix=AST
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; - Test the case where scalar evolution references a loop that is outside
diff --git a/polly/test/Isl/CodeGen/OpenMP/single_loop.ll b/polly/test/Isl/CodeGen/OpenMP/single_loop.ll
index 768f293cab6..853222cfe97 100644
--- a/polly/test/Isl/CodeGen/OpenMP/single_loop.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/single_loop.ll
@@ -1,10 +1,10 @@
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-import-jscop -polly-import-jscop-dir=%S -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST-STRIDE4
; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-import-jscop -polly-import-jscop-dir=%S -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=IR-STRIDE4
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-import-jscop -polly-import-jscop-dir=%S -polly-codegen-isl -polly-codegen-scev -S < %s | FileCheck %s -check-prefix=IR-STRIDE4
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-import-jscop -polly-import-jscop-dir=%S -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=IR-STRIDE4
; This extensive test case tests the creation of the full set of OpenMP calls
; as well as the subfunction creation using a trivial loop as example.
diff --git a/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll b/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
index e35b366611b..241cb08a5ee 100644
--- a/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
@@ -1,6 +1,6 @@
; RUN: opt %loadPolly -tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
; RUN: opt %loadPolly -tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
-; RUN: opt %loadPolly -tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; #define N 1024
; float A[N];
diff --git a/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll b/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
index 32b8b94b16e..94d0de15f52 100644
--- a/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze -polly-codegen-scev < %s | FileCheck %s -check-prefix=AST
-; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -polly-codegen-scev -verify-dom-info < %s | FileCheck %s -check-prefix=IR
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-ast -analyze < %s | FileCheck %s -check-prefix=AST
+; RUN: opt %loadPolly -polly-parallel -polly-parallel-force -polly-codegen-isl -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR
; This test case verifies that we create correct code even if two OpenMP loops
; share common outer variables.
diff --git a/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll b/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
index d89aeb5d9fb..3ab242d844a 100644
--- a/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
+++ b/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -S -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev=false < %s | FileCheck %s
-; RUN: opt %loadPolly -S -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev=true < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-code-generator=isl -polly-codegen-isl < %s | FileCheck %s
;
; We have to cast %B to "short *" before we create RTCs.
;
diff --git a/polly/test/Isl/CodeGen/alignment.ll b/polly/test/Isl/CodeGen/alignment.ll
index eb55a318bf5..f4038c94fb3 100644
--- a/polly/test/Isl/CodeGen/alignment.ll
+++ b/polly/test/Isl/CodeGen/alignment.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-scev -polly-codegen-isl -S < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl -S < %s | FileCheck %s
;
; Check that the special alignment information is kept
;
diff --git a/polly/test/Isl/CodeGen/annotated_alias_scopes.ll b/polly/test/Isl/CodeGen/annotated_alias_scopes.ll
index 43246067f6e..73260a51c11 100644
--- a/polly/test/Isl/CodeGen/annotated_alias_scopes.ll
+++ b/polly/test/Isl/CodeGen/annotated_alias_scopes.ll
@@ -1,7 +1,5 @@
-; RUN: opt %loadPolly -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev=false -S < %s | FileCheck %s --check-prefix=SCOPES
-; RUN: opt %loadPolly -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev=true -S < %s | FileCheck %s --check-prefix=SCOPES
-; RUN: opt %loadPolly -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev=false -polly-annotate-alias-scopes=false -S < %s | FileCheck %s --check-prefix=NOSCOPES
-; RUN: opt %loadPolly -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev=true -polly-annotate-alias-scopes=false -S < %s | FileCheck %s --check-prefix=NOSCOPES
+; RUN: opt %loadPolly -polly-code-generator=isl -polly-codegen-isl -S < %s | FileCheck %s --check-prefix=SCOPES
+; RUN: opt %loadPolly -polly-code-generator=isl -polly-codegen-isl -polly-annotate-alias-scopes=false -S < %s | FileCheck %s --check-prefix=NOSCOPES
;
; Check that we create alias scopes that indicate the accesses to A, B and C cannot alias in any way.
;
diff --git a/polly/test/Isl/CodeGen/loop_with_condition_nested.ll b/polly/test/Isl/CodeGen/loop_with_condition_nested.ll
index 1f4f44a9685..5b8b9e87c73 100644
--- a/polly/test/Isl/CodeGen/loop_with_condition_nested.ll
+++ b/polly/test/Isl/CodeGen/loop_with_condition_nested.ll
@@ -1,6 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-ast -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl -polly-codegen-scev=false -loops -analyze < %s | FileCheck %s -check-prefix=LOOPS
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl -polly-codegen-scev=true -loops -analyze < %s | FileCheck %s -check-prefix=LOOPS
+; RUN: opt %loadPolly -basicaa -polly-codegen-isl -loops -analyze < %s | FileCheck %s -check-prefix=LOOPS
;#include <string.h>
diff --git a/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll b/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
index 1d3277eb8a1..a4dbbcd2b0a 100644
--- a/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
+++ b/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-codegen-isl -S -polly-delinearize < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-codegen-isl -S -polly-delinearize -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl -S -polly-delinearize < %s | FileCheck %s
; CHECK: %1 = zext i32 %n to i64
; CHECK: %2 = icmp sge i64 %1, 1
diff --git a/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll b/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll
index 3ab7529c03f..fdf9139454f 100644
--- a/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll
+++ b/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-isl -S -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl -S < %s | FileCheck %s
; Test the code generation in the presence of a scalar out-of-scop value being
; used from within the SCoP.
diff --git a/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll b/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
index 2780fb9cab2..5a3194094bd 100644
--- a/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
+++ b/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-codegen-isl -S -polly-delinearize < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-codegen-isl -S -polly-delinearize -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl -S -polly-delinearize < %s | FileCheck %s
; Verify that we generate the runtime check code after the conditional branch
; in the SCoP region entering block (here %entry).
diff --git a/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll b/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
index 001b529460c..df91b6c4fdd 100644
--- a/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl -polly-codegen-scev=false %vector-opt -dce -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl -polly-codegen-scev=true %vector-opt -dce -S < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -dce -S < %s | FileCheck %s
;#define N 1024
;float A[N];
@@ -56,14 +55,6 @@ bb:
ret i32 %tmp1
}
-; CHECK: %p_scevgep1.moved.to.bb3 = getelementptr [1024 x float]* @A, i64 0, i64 0
-; CHECK: %p_scevgep.moved.to.bb3 = getelementptr [1024 x float]* @B, i64 0, i64 0
-; CHECK: %vector_ptr = bitcast float* %p_scevgep1.moved.to.bb3 to <4 x float>*
-; CHECK: %tmp_p_vec_full = load <4 x float>* %vector_ptr, align 8
+; CHECK: %tmp_p_vec_full = load <4 x float>* bitcast ([1024 x float]* @A to <4 x float>*), align 8, !alias.scope !0, !noalias !2
; CHECK: %tmp4p_vec = fadd <4 x float> %tmp_p_vec_full, <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
-; CHECK: %vector_ptr7 = bitcast float* %p_scevgep.moved.to.bb3 to <4 x float>*
-; CHECK: store <4 x float> %tmp4p_vec, <4 x float>* %vector_ptr7, align 8
-
-; CHECK-SCEV: %tmp_p_vec_full = load <4 x float>* bitcast ([1024 x float]* @A to <4 x float>*), align 8, !alias.scope !0, !noalias !2
-; CHECK-SCEV: %tmp4p_vec = fadd <4 x float> %tmp_p_vec_full, <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
-; CHECK-SCEV: store <4 x float> %tmp4p_vec, <4 x float>* bitcast ([1024 x float]* @B to <4 x float>*), align 8, !alias.scope !3, !noalias !4
+; CHECK: store <4 x float> %tmp4p_vec, <4 x float>* bitcast ([1024 x float]* @B to <4 x float>*), align 8, !alias.scope !3, !noalias !4
diff --git a/polly/test/Isl/CodeGen/simple_vec_call_2.ll b/polly/test/Isl/CodeGen/simple_vec_call_2.ll
index 850f9398304..ee7f50eda2a 100644
--- a/polly/test/Isl/CodeGen/simple_vec_call_2.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_call_2.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -polly-codegen-scev=false -dce -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -polly-codegen-scev=true -dce -S < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -dce -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
@@ -26,7 +25,6 @@ return:
ret void
}
-; CHECK: %p_scevgep = getelementptr [1024 x float**]* @B, i64 0, i64 0
; CHECK: %value_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8
; CHECK: %value_p_splat = shufflevector <1 x float> %value_p_splat_one, <1 x float> %value_p_splat_one, <4 x i32> zeroinitializer
; CHECK: %0 = extractelement <4 x float> %value_p_splat, i32 0
@@ -38,26 +36,8 @@ return:
; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]]
; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]]
; CHECK: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0
-; CHECK: %5 = insertelement <4 x float**> %4, float** %p_result4, i32 1
-; CHECK: %6 = insertelement <4 x float**> %5, float** %p_result5, i32 2
-; CHECK: %7 = insertelement <4 x float**> %6, float** %p_result6, i32 3
-; CHECK: %vector_ptr = bitcast float*** %p_scevgep to <4 x float**>*
-; CHECK: store <4 x float**> %7, <4 x float**>* %vector_ptr, align 8
+; CHECK: %5 = insertelement <4 x float**> %4, float** %p_result1, i32 1
+; CHECK: %6 = insertelement <4 x float**> %5, float** %p_result2, i32 2
+; CHECK: %7 = insertelement <4 x float**> %6, float** %p_result3, i32 3
+; CHECK: store <4 x float**> %7, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align
; CHECK: attributes [[NUW]] = { nounwind }
-
-; CHECK-SCEV: %value_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8
-; CHECK-SCEV: %value_p_splat = shufflevector <1 x float> %value_p_splat_one, <1 x float> %value_p_splat_one, <4 x i32> zeroinitializer
-; CHECK-SCEV: %0 = extractelement <4 x float> %value_p_splat, i32 0
-; CHECK-SCEV: %1 = extractelement <4 x float> %value_p_splat, i32 1
-; CHECK-SCEV: %2 = extractelement <4 x float> %value_p_splat, i32 2
-; CHECK-SCEV: %3 = extractelement <4 x float> %value_p_splat, i32 3
-; CHECK-SCEV: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) [[NUW:#[0-9]+]]
-; CHECK-SCEV: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) [[NUW]]
-; CHECK-SCEV: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]]
-; CHECK-SCEV: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]]
-; CHECK-SCEV: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0
-; CHECK-SCEV: %5 = insertelement <4 x float**> %4, float** %p_result1, i32 1
-; CHECK-SCEV: %6 = insertelement <4 x float**> %5, float** %p_result2, i32 2
-; CHECK-SCEV: %7 = insertelement <4 x float**> %6, float** %p_result3, i32 3
-; CHECK-SCEV: store <4 x float**> %7, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align
-; CHECK-SCEV: attributes [[NUW]] = { nounwind }
diff --git a/polly/test/Isl/CodeGen/simple_vec_cast.ll b/polly/test/Isl/CodeGen/simple_vec_cast.ll
index 2b59adb89de..f13d06b7a07 100644
--- a/polly/test/Isl/CodeGen/simple_vec_cast.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_cast.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl -polly-codegen-scev=false %vector-opt -dce -S < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl -polly-codegen-scev=true %vector-opt -dce -S < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -dce -S < %s | FileCheck %s -check-prefix=CHECK
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
@@ -30,15 +29,8 @@ bb4: ; preds = %bb1
ret void
}
-; CHECK: [[PTR:%[a-zA-Z0-9_\.]+]] = getelementptr [1024 x double]* @B, i64 0, i64 0
-; CHECK: %tmp_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8
+; CHECK: %tmp_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8, !alias.scope !0, !noalias !2
; CHECK: %tmp_p_splat = shufflevector <1 x float> %tmp_p_splat_one, <1 x float> %tmp_p_splat_one, <4 x i32> zeroinitializer
; CHECK: %0 = fpext <4 x float> %tmp_p_splat to <4 x double>
-; CHECK: %vector_ptr = bitcast double* [[PTR]] to <4 x double>*
-; CHECK: store <4 x double> %0, <4 x double>* %vector_ptr, align 8
-
-; CHECK-SCEV: %tmp_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8, !alias.scope !0, !noalias !2
-; CHECK-SCEV: %tmp_p_splat = shufflevector <1 x float> %tmp_p_splat_one, <1 x float> %tmp_p_splat_one, <4 x i32> zeroinitializer
-; CHECK-SCEV: %0 = fpext <4 x float> %tmp_p_splat to <4 x double>
-; CHECK-SCEV: store <4 x double> %0, <4 x double>* bitcast ([1024 x double]* @B to <4 x double>*), align 8, !alias.scope !3, !noalias !4
+; CHECK: store <4 x double> %0, <4 x double>* bitcast ([1024 x double]* @B to <4 x double>*), align 8, !alias.scope !3, !noalias !4
diff --git a/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll b/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
index 5884e92b2da..cca14dfebbf 100644
--- a/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -S -polly-codegen-scev=false < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -S -polly-codegen-scev=true < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -basicaa -polly-codegen-isl %vector-opt -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
@@ -24,17 +23,6 @@ body:
return:
ret void
}
-
-; CHECK: %p_scevgep = getelementptr [1024 x float**]* @B, i64 0, i64 0
-; CHECK: %p_scevgep1 = getelementptr [1024 x float**]* @B, i64 0, i64 1
-; CHECK: %p_scevgep2 = getelementptr [1024 x float**]* @B, i64 0, i64 2
-; CHECK: %p_scevgep3 = getelementptr [1024 x float**]* @B, i64 0, i64 3
; CHECK: %value_p_splat_one = load <1 x float**>* bitcast ([1024 x float**]* @A to <1 x float**>*), align 8
; CHECK: %value_p_splat = shufflevector <1 x float**> %value_p_splat_one, <1 x float**> %value_p_splat_one, <4 x i32> zeroinitializer
-; CHECK: %vector_ptr = bitcast float*** %p_scevgep to <4 x float**>*
-; CHECK: store <4 x float**> %value_p_splat, <4 x float**>* %vector_ptr
-
-
-; CHECK-SCEV: %value_p_splat_one = load <1 x float**>* bitcast ([1024 x float**]* @A to <1 x float**>*), align 8
-; CHECK-SCEV: %value_p_splat = shufflevector <1 x float**> %value_p_splat_one, <1 x float**> %value_p_splat_one, <4 x i32> zeroinitializer
-; CHECK-SCEV: store <4 x float**> %value_p_splat, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align 8
+; CHECK: store <4 x float**> %value_p_splat, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align 8
diff --git a/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll b/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll
index 9741298a4db..30398e8e29a 100644
--- a/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev %vector-opt -S < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl %vector-opt -S < %s | FileCheck %s
; ModuleID = 'reverse.c'
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
diff --git a/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll b/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll
index c65effac79b..fcbcdf4a101 100644
--- a/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll
+++ b/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-code-generator=isl -polly-codegen-isl -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-code-generator=isl -polly-codegen-isl < %s | FileCheck %s
;
; Check that we do not crash as described here: http://llvm.org/PR21167
;
diff --git a/polly/test/Isl/CodeGen/two-scops-in-row.ll b/polly/test/Isl/CodeGen/two-scops-in-row.ll
index 043fe5ae127..ca862eda676 100644
--- a/polly/test/Isl/CodeGen/two-scops-in-row.ll
+++ b/polly/test/Isl/CodeGen/two-scops-in-row.ll
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-ast -analyze -polly-codegen-scev -polly-ignore-aliasing < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev -polly-ignore-aliasing < %s
+; RUN: opt %loadPolly -polly-ast -analyze -polly-ignore-aliasing < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen-isl -polly-ignore-aliasing < %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/Isl/single_loop_param_less_equal.ll b/polly/test/Isl/single_loop_param_less_equal.ll
index e0a2ae5bd28..a65d2e59596 100644
--- a/polly/test/Isl/single_loop_param_less_equal.ll
+++ b/polly/test/Isl/single_loop_param_less_equal.ll
@@ -1,6 +1,5 @@
; RUN: opt %loadPolly -polly-ast -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev=false -S < %s | FileCheck %s -check-prefix=CODEGEN
-; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev=true -S < %s | FileCheck %s -check-prefix=CODEGEN
+; RUN: opt %loadPolly -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=CODEGEN
; RUN: opt %loadPolly -polly-codegen-isl -loops -analyze < %s | FileCheck %s -check-prefix=LOOPS
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-pc-linux-gnu"
diff --git a/polly/test/Isl/single_loop_param_less_than.ll b/polly/test/Isl/single_loop_param_less_than.ll
index c85e9de001e..f3afb95b86f 100644
--- a/polly/test/Isl/single_loop_param_less_than.ll
+++ b/polly/test/Isl/single_loop_param_less_than.ll
@@ -1,6 +1,5 @@
; RUN: opt %loadPolly -polly-ast -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev=false -S < %s | FileCheck %s -check-prefix=CODEGEN
-; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev=true -S < %s | FileCheck %s -check-prefix=CODEGEN
+; RUN: opt %loadPolly -polly-codegen-isl -S < %s | FileCheck %s -check-prefix=CODEGEN
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-pc-linux-gnu"
diff --git a/polly/test/ScopDetect/base_pointer.ll b/polly/test/ScopDetect/base_pointer.ll
index ee05d13a3b1..92c76cdf042 100644
--- a/polly/test/ScopDetect/base_pointer.ll
+++ b/polly/test/ScopDetect/base_pointer.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
diff --git a/polly/test/ScopDetect/cross_loop_non_single_exit.ll b/polly/test/ScopDetect/cross_loop_non_single_exit.ll
index 82ec1e7c9eb..cedee2886a8 100644
--- a/polly/test/ScopDetect/cross_loop_non_single_exit.ll
+++ b/polly/test/ScopDetect/cross_loop_non_single_exit.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll b/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
index 730205463d3..f6c16d62783 100644
--- a/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
+++ b/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopDetect/indvars.ll b/polly/test/ScopDetect/indvars.ll
index 56d1954b46d..432ad10b677 100644
--- a/polly/test/ScopDetect/indvars.ll
+++ b/polly/test/ScopDetect/indvars.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -analyze -polly-detect -polly-codegen-isl -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -analyze -polly-detect -polly-codegen-isl < %s | FileCheck %s
;
; When a region header is part of a loop, then all entering edges of this region
; should not come from the loop but outside the region.
diff --git a/polly/test/ScopDetect/invalidate_scalar_evolution.ll b/polly/test/ScopDetect/invalidate_scalar_evolution.ll
index 53bb95e2e07..314c79cc86c 100644
--- a/polly/test/ScopDetect/invalidate_scalar_evolution.ll
+++ b/polly/test/ScopDetect/invalidate_scalar_evolution.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect -analyze -polly-codegen-scev=false < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -analyze -polly-codegen-scev=true < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s -check-prefix=CHECK
; void f(long A[], long N) {
; long i;
@@ -41,5 +40,4 @@ return:
ret void
}
-; CHECK-NOT: Valid Region for Scop
-; CHECK-SCEV: Valid Region for Scop: for.i => then
+; CHECK: Valid Region for Scop: for.i => then
diff --git a/polly/test/ScopDetect/parametric-multiply-in-scev.ll b/polly/test/ScopDetect/parametric-multiply-in-scev.ll
index ff0802d17ff..32348229d38 100644
--- a/polly/test/ScopDetect/parametric-multiply-in-scev.ll
+++ b/polly/test/ScopDetect/parametric-multiply-in-scev.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect-scops-in-regions-without-loops -polly-detect-scops-in-functions-without-loops -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-scops-in-regions-without-loops -polly-detect-scops-in-functions-without-loops -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-scops-in-regions-without-loops -polly-detect-scops-in-functions-without-loops -polly-detect -analyze < %s | FileCheck %s
; foo(float *A, long n, long k) {
diff --git a/polly/test/ScopDetect/remove_all_children.ll b/polly/test/ScopDetect/remove_all_children.ll
index 61fb57de111..2c01701f766 100644
--- a/polly/test/ScopDetect/remove_all_children.ll
+++ b/polly/test/ScopDetect/remove_all_children.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/ScopDetect/sequential_loops.ll b/polly/test/ScopDetect/sequential_loops.ll
index 0111f235bac..b9526bf5bb7 100644
--- a/polly/test/ScopDetect/sequential_loops.ll
+++ b/polly/test/ScopDetect/sequential_loops.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/ScopDetect/simple_loop.ll b/polly/test/ScopDetect/simple_loop.ll
index 7485b5f3677..9670f4e8315 100644
--- a/polly/test/ScopDetect/simple_loop.ll
+++ b/polly/test/ScopDetect/simple_loop.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopDetect/simple_loop_non_single_entry.ll b/polly/test/ScopDetect/simple_loop_non_single_entry.ll
index 3746d2e6371..346bf1cc19f 100644
--- a/polly/test/ScopDetect/simple_loop_non_single_entry.ll
+++ b/polly/test/ScopDetect/simple_loop_non_single_entry.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopDetect/simple_loop_non_single_exit.ll b/polly/test/ScopDetect/simple_loop_non_single_exit.ll
index 77288dbbd4b..270336cce8d 100644
--- a/polly/test/ScopDetect/simple_loop_non_single_exit.ll
+++ b/polly/test/ScopDetect/simple_loop_non_single_exit.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll b/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
index d444d59e7c4..9201739a39d 100644
--- a/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
+++ b/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll b/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
index b7d1d907dc3..249deb3c5d8 100644
--- a/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
+++ b/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev=false -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect -polly-codegen-scev=true -analyze < %s | FileCheck %s -check-prefix=CHECK-SCEV
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
@@ -32,5 +31,4 @@ return:
ret void
}
-; CHECK-NOT: Valid Region for Scop
-; CHECK-SCEV: Valid Region for Scop: for.i => return
+; CHECK: Valid Region for Scop: for.i => return
diff --git a/polly/test/ScopDetect/simple_loop_with_param.ll b/polly/test/ScopDetect/simple_loop_with_param.ll
index ed83902a603..aa5a9b31fd8 100644
--- a/polly/test/ScopDetect/simple_loop_with_param.ll
+++ b/polly/test/ScopDetect/simple_loop_with_param.ll
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -basicaa -polly-detect -analyze -polly-codegen-scev=false < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-detect -analyze -polly-codegen-scev=true < %s | FileCheck -check-prefix=CHECK-SCEV %s
+; RUN: opt %loadPolly -basicaa -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N, long *init_ptr) {
; long i, j;
@@ -49,5 +48,4 @@ return:
ret void
}
-; CHECK-NOT: Valid Region for Scop
-; CHECK-SCEV: Valid Region for Scop: for.j => for.i.end
+; CHECK: Valid Region for Scop: for.j => for.i.end
diff --git a/polly/test/ScopDetect/simple_loop_with_param_2.ll b/polly/test/ScopDetect/simple_loop_with_param_2.ll
index 5c2890da1ea..15ec620007a 100644
--- a/polly/test/ScopDetect/simple_loop_with_param_2.ll
+++ b/polly/test/ScopDetect/simple_loop_with_param_2.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/ScopDetect/simple_non_single_entry.ll b/polly/test/ScopDetect/simple_non_single_entry.ll
index cd355f5d2bc..7465971a845 100644
--- a/polly/test/ScopDetect/simple_non_single_entry.ll
+++ b/polly/test/ScopDetect/simple_non_single_entry.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -polly-detect-scops-in-regions-without-loops -polly-detect -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-scops-in-regions-without-loops -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-scops-in-regions-without-loops -polly-detect -analyze < %s | FileCheck %s
; void f(long A[], long N) {
; long i;
diff --git a/polly/test/ScopInfo/aliasing_dead_access.ll b/polly/test/ScopInfo/aliasing_dead_access.ll
index b11c1912737..b59e196b57c 100644
--- a/polly/test/ScopInfo/aliasing_dead_access.ll
+++ b/polly/test/ScopInfo/aliasing_dead_access.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-codegen-scev -polly-code-generator=isl -analyze -polly-scops < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-code-generator=isl -analyze -polly-scops < %s | FileCheck %s
;
; Check that RTC generation does not die when accesses are dead.
;
diff --git a/polly/test/ScopInfo/delinearize-together-all-data-refs.ll b/polly/test/ScopInfo/delinearize-together-all-data-refs.ll
index 97a80f2f2a0..fc98b2e2692 100644
--- a/polly/test/ScopInfo/delinearize-together-all-data-refs.ll
+++ b/polly/test/ScopInfo/delinearize-together-all-data-refs.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize < %s | FileCheck %s
; void foo(long n, long m, long o, double A[n][m][o]) {
; for (long i = 0; i < n-3; i++)
diff --git a/polly/test/ScopInfo/multi-scop.ll b/polly/test/ScopInfo/multi-scop.ll
index 69926b2227f..09998a35445 100644
--- a/polly/test/ScopInfo/multi-scop.ll
+++ b/polly/test/ScopInfo/multi-scop.ll
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-detect -analyze -polly-codegen-scev < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-scops -analyze -polly-codegen-scev < %s
+; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -analyze < %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll b/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
index 3a3175db22e..31ef185d302 100644
--- a/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
+++ b/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/ScopInfo/multidim_nested_start_integer.ll b/polly/test/ScopInfo/multidim_nested_start_integer.ll
index da49ca02181..8d8404273e6 100644
--- a/polly/test/ScopInfo/multidim_nested_start_integer.ll
+++ b/polly/test/ScopInfo/multidim_nested_start_integer.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll b/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
index 142878ce0c7..76ca3491ff0 100644
--- a/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
+++ b/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize -polly-codegen-scev < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -analyze -polly-delinearize < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/polly/test/TempScop/inter_bb_scalar_dep.ll b/polly/test/TempScop/inter_bb_scalar_dep.ll
index e83bf5b26a2..4a7ceabfcb2 100644
--- a/polly/test/TempScop/inter_bb_scalar_dep.ll
+++ b/polly/test/TempScop/inter_bb_scalar_dep.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-analyze-ir -polly-codegen-scev -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll b/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll
index ce4c49ff5de..d9c8885eb1c 100644
--- a/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll
+++ b/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-analyze-ir -polly-codegen-scev -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/TempScop/intra_bb_scalar_dep.ll b/polly/test/TempScop/intra_bb_scalar_dep.ll
index d6e4211f29d..ce609782f6a 100644
--- a/polly/test/TempScop/intra_bb_scalar_dep.ll
+++ b/polly/test/TempScop/intra_bb_scalar_dep.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-analyze-ir -polly-codegen-scev -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
; void f(long A[], int N, int *init_ptr) {
; long i, j;
diff --git a/polly/test/TempScop/scalar_to_array.ll b/polly/test/TempScop/scalar_to_array.ll
index c2225c4f42f..d12b0e6e6b0 100644
--- a/polly/test/TempScop/scalar_to_array.ll
+++ b/polly/test/TempScop/scalar_to_array.ll
@@ -1,5 +1,5 @@
; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -polly-codegen-scev -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
; ModuleID = 'scalar_to_array.ll'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
OpenPOWER on IntegriCloud