diff options
author | Tobias Grosser <tobias@grosser.es> | 2014-11-30 14:33:31 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2014-11-30 14:33:31 +0000 |
commit | 683b8e44627b7c64d623e29a5dd607df8f29f512 (patch) | |
tree | ce42511e12fc059dd20cab974edeacb209de54aa | |
parent | 65b2b03fa4ca6b15cce8b871e40d7bc9139ab9f4 (diff) | |
download | bcm5719-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
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" |