[polly] r240766 - Remove code for scalar and PHI to array translation

Tobias Grosser tobias at grosser.es
Fri Jun 26 00:31:19 PDT 2015


Author: grosser
Date: Fri Jun 26 02:31:18 2015
New Revision: 240766

URL: http://llvm.org/viewvc/llvm-project?rev=240766&view=rev
Log:
Remove code for scalar and PHI to array translation

This removes old code that has been disabled since several weeks and was hidden
behind the flags -disable-polly-intra-scop-scalar-to-array=false and
-polly-model-phi-nodes=false. Earlier, Polly used to translate scalars and
PHI nodes to single element arrays, as this avoided the need for their special
handling in Polly. With Johannes' patches adding native support for such scalar
references to Polly, this code is not needed any more. After this commit both
-polly-prepare and -polly-independent are now mostly no-ops. Only a couple of
simple transformations still remain, but they are scheduled for removal too.

Thanks again to Johannes Doerfert for his nice work in making all this code
obsolete.

Removed:
    polly/trunk/test/CodePreparation/if_condition.ll
    polly/trunk/test/CodePreparation/multiple_loops_trivial_phis.ll
    polly/trunk/test/CodePreparation/single_loop_trivial_phi.ll
Modified:
    polly/trunk/include/polly/ScopDetection.h
    polly/trunk/lib/Analysis/ScopDetection.cpp
    polly/trunk/lib/Transform/CodePreparation.cpp
    polly/trunk/lib/Transform/IndependentBlocks.cpp
    polly/trunk/test/IndependentBlocks/inter_bb_scalar_dep.ll
    polly/trunk/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
    polly/trunk/test/IndependentBlocks/intra_bb_scalar_dep.ll
    polly/trunk/test/IndependentBlocks/phi_outside_scop.ll
    polly/trunk/test/IndependentBlocks/scalar_to_array.ll
    polly/trunk/test/Isl/CodeGen/phi_condition_modeling_1.ll
    polly/trunk/test/Isl/CodeGen/phi_condition_modeling_2.ll
    polly/trunk/test/Isl/CodeGen/phi_conditional_simple_1.ll
    polly/trunk/test/Isl/CodeGen/phi_loop_carried_float.ll
    polly/trunk/test/Isl/CodeGen/phi_loop_carried_float_escape.ll
    polly/trunk/test/Isl/CodeGen/phi_scalar_simple_1.ll
    polly/trunk/test/Isl/CodeGen/phi_scalar_simple_2.ll
    polly/trunk/test/Isl/CodeGen/single_loop_zero_iterations.ll
    polly/trunk/test/Isl/CodeGen/two-scops-in-row.ll
    polly/trunk/test/ScopDetect/invalidate_scalar_evolution.ll
    polly/trunk/test/ScopDetect/multidim_indirect_access.ll
    polly/trunk/test/ScopDetect/simple_loop_with_param.ll
    polly/trunk/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
    polly/trunk/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
    polly/trunk/test/ScopInfo/escaping_empty_scop.ll
    polly/trunk/test/ScopInfo/loop_carry.ll
    polly/trunk/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
    polly/trunk/test/ScopInfo/non-affine-region-phi.ll
    polly/trunk/test/ScopInfo/non_affine_region_1.ll
    polly/trunk/test/ScopInfo/non_affine_region_2.ll
    polly/trunk/test/ScopInfo/non_affine_region_3.ll
    polly/trunk/test/ScopInfo/non_affine_region_4.ll
    polly/trunk/test/ScopInfo/phi_condition_modeling_1.ll
    polly/trunk/test/ScopInfo/phi_condition_modeling_2.ll
    polly/trunk/test/ScopInfo/phi_conditional_simple_1.ll
    polly/trunk/test/ScopInfo/phi_loop_carried_float.ll
    polly/trunk/test/ScopInfo/phi_not_grouped_at_top.ll
    polly/trunk/test/ScopInfo/phi_scalar_simple_1.ll
    polly/trunk/test/ScopInfo/phi_scalar_simple_2.ll
    polly/trunk/test/ScopInfo/phi_with_invoke_edge.ll
    polly/trunk/test/ScopInfo/scalar.ll
    polly/trunk/test/ScopInfo/scalar_dependence_cond_br.ll
    polly/trunk/test/TempScop/inter_bb_scalar_dep.ll
    polly/trunk/test/TempScop/intra_and_inter_bb_scalar_dep.ll
    polly/trunk/test/TempScop/intra_bb_scalar_dep.ll
    polly/trunk/test/TempScop/scalar_to_array.ll
    polly/trunk/test/TempScop/tempscop-printing.ll

Modified: polly/trunk/include/polly/ScopDetection.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/include/polly/ScopDetection.h?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/include/polly/ScopDetection.h (original)
+++ polly/trunk/include/polly/ScopDetection.h Fri Jun 26 02:31:18 2015
@@ -105,7 +105,6 @@ typedef std::vector<PairInstSCEV> AFs;
 typedef std::map<const SCEVUnknown *, AFs> BaseToAFs;
 typedef std::map<const SCEVUnknown *, const SCEV *> BaseToElSize;
 
-extern bool PollyModelPHINodes;
 extern bool PollyTrackFailures;
 extern bool PollyDelinearize;
 extern bool PollyUseRuntimeAliasChecks;

Modified: polly/trunk/lib/Analysis/ScopDetection.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopDetection.cpp?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopDetection.cpp (original)
+++ polly/trunk/lib/Analysis/ScopDetection.cpp Fri Jun 26 02:31:18 2015
@@ -166,13 +166,6 @@ static cl::opt<bool>
                 cl::Hidden, cl::init(false), cl::ZeroOrMore,
                 cl::cat(PollyCategory));
 
-static cl::opt<bool, true> XPollyModelPHINodes(
-    "polly-model-phi-nodes",
-    cl::desc("Allow PHI nodes in the input [Unsafe with code-generation!]."),
-    cl::location(PollyModelPHINodes), cl::Hidden, cl::ZeroOrMore,
-    cl::init(true), cl::cat(PollyCategory));
-
-bool polly::PollyModelPHINodes = false;
 bool polly::PollyTrackFailures = false;
 bool polly::PollyDelinearize = false;
 StringRef polly::PollySkipFnAttr = "polly.skip.fn";
@@ -669,11 +662,6 @@ bool ScopDetection::isValidMemoryAccess(
 
 bool ScopDetection::isValidInstruction(Instruction &Inst,
                                        DetectionContext &Context) const {
-  if (PHINode *PN = dyn_cast<PHINode>(&Inst))
-    if (!PollyModelPHINodes && !canSynthesize(PN, LI, SE, &Context.CurRegion)) {
-      return invalid<ReportPhiNodeRefInRegion>(Context, /*Assert=*/true, &Inst);
-    }
-
   // We only check the call instruction but not invoke instruction.
   if (CallInst *CI = dyn_cast<CallInst>(&Inst)) {
     if (isValidCallInst(*CI))

Modified: polly/trunk/lib/Transform/CodePreparation.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Transform/CodePreparation.cpp?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/lib/Transform/CodePreparation.cpp (original)
+++ polly/trunk/lib/Transform/CodePreparation.cpp Fri Jun 26 02:31:18 2015
@@ -7,22 +7,12 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// 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.
-//
-// 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
-// a PHI node may later be within or outside of the SCoP. Hence, we follow a
-// heuristic and translate all PHI nodes that are either directly SCEVUnknown
-// or SCEVCouldNotCompute. This will hopefully get most of the PHI nodes that
-// are introduced due to conditional control flow, but not the ones that are
-// referencing loop counters.
+// The Polly code preparation pass is executed before SCoP detection. Its
+// currently only splits the entry block of the SCoP to make room for alloc
+// instructions as they are generated during code generation.
 //
 // XXX: In the future, we should remove the need for this pass entirely and
-// instead add support for scalar dependences to ScopInfo and code generation.
+// instead add this spitting to the code generation pass.
 //
 //===----------------------------------------------------------------------===//
 
@@ -41,27 +31,6 @@ using namespace polly;
 
 namespace {
 
-// Helper function which (for a given PHI node):
-//
-// 1) Remembers all incoming values and the associated basic blocks
-// 2) Demotes the phi node to the stack
-// 3) Remembers the correlation between the PHI node and the new alloca
-//
-// When we combine the information from 1) and 3) we know the values stored
-// in this alloca at the end of the predecessor basic blocks of the PHI.
-static void DemotePHI(
-    PHINode *PN, DenseMap<PHINode *, AllocaInst *> &PNallocMap,
-    DenseMap<std::pair<Value *, BasicBlock *>, PHINode *> &ValueLocToPhiMap) {
-
-  for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
-    auto *InVal = PN->getIncomingValue(i);
-    auto *InBB = PN->getIncomingBlock(i);
-    ValueLocToPhiMap[std::make_pair(InVal, InBB)] = PN;
-  }
-
-  PNallocMap[PN] = DemotePHIToStack(PN);
-}
-
 /// @brief Prepare the IR for the scop detection.
 ///
 class CodePreparation : public FunctionPass {
@@ -95,101 +64,6 @@ void CodePreparation::clear() {}
 
 CodePreparation::~CodePreparation() { clear(); }
 
-bool CodePreparation::eliminatePHINodes(Function &F) {
-  // The PHINodes that will be demoted.
-  std::vector<PHINode *> PNtoDemote;
-  // The PHINodes that will be deleted (stack slot sharing).
-  std::vector<PHINode *> PNtoDelete;
-  // The PHINodes that will be preserved.
-  std::vector<PHINode *> PNtoPreserve;
-  // Map to remember values stored in PHINodes at the end of basic blocks.
-  DenseMap<std::pair<Value *, BasicBlock *>, PHINode *> ValueLocToPhiMap;
-  // Map from PHINodes to their alloca (after demotion) counterpart.
-  DenseMap<PHINode *, AllocaInst *> PNallocMap;
-
-  // Scan the PHINodes in this function and categorize them to be either:
-  // o Preserved, if they are (canonical) induction variables or can be
-  //              synthesized during code generation ('SCEVable')
-  // o Deleted, if they are trivial PHI nodes (one incoming value) and the
-  //            incoming value is a PHI node we will demote
-  // o Demoted, if they do not fit any of the previous categories
-  for (Function::iterator BI = F.begin(), BE = F.end(); BI != BE; ++BI)
-    for (BasicBlock::iterator II = BI->begin(), IE = BI->getFirstNonPHI();
-         II != IE; ++II) {
-      PHINode *PN = cast<PHINode>(II);
-      if (SE->isSCEVable(PN->getType())) {
-        const SCEV *S = SE->getSCEV(PN);
-        if (!isa<SCEVUnknown>(S) && !isa<SCEVCouldNotCompute>(S)) {
-          PNtoPreserve.push_back(PN);
-          continue;
-        }
-      }
-
-      // As DemotePHIToStack does not support invoke edges, we preserve
-      // PHINodes that have invoke edges.
-      if (hasInvokeEdge(PN)) {
-        PNtoPreserve.push_back(PN);
-      } else {
-        if (PN->getNumIncomingValues() == 1)
-          PNtoDelete.push_back(PN);
-        else
-          PNtoDemote.push_back(PN);
-      }
-    }
-
-  if (PNtoDemote.empty() && PNtoDelete.empty())
-    return false;
-
-  while (!PNtoDemote.empty()) {
-    PHINode *PN = PNtoDemote.back();
-    PNtoDemote.pop_back();
-    DemotePHI(PN, PNallocMap, ValueLocToPhiMap);
-  }
-
-  // For each trivial PHI we encountered (and we want to delete) we try to find
-  // the value it will hold in a alloca we already created by PHI demotion. If
-  // we succeed (the incoming value is stored in an alloca at the predecessor
-  // block), we can replace the trivial PHI by the value stored in the alloca.
-  // If not, we will demote this trivial PHI as any other one.
-  for (auto PNIt = PNtoDelete.rbegin(), PNEnd = PNtoDelete.rend();
-       PNIt != PNEnd; ++PNIt) {
-    PHINode *TrivPN = *PNIt;
-    assert(TrivPN->getNumIncomingValues() == 1 && "Assumed trivial PHI");
-
-    auto *InVal = TrivPN->getIncomingValue(0);
-    auto *InBB = TrivPN->getIncomingBlock(0);
-    const auto &ValLocIt = ValueLocToPhiMap.find(std::make_pair(InVal, InBB));
-    if (ValLocIt != ValueLocToPhiMap.end()) {
-      PHINode *InPHI = ValLocIt->second;
-      assert(PNallocMap.count(InPHI) &&
-             "Inconsitent state, PN was not demoted!");
-      auto *InPHIAlloca = PNallocMap[InPHI];
-      PNallocMap[TrivPN] = InPHIAlloca;
-      LoadInst *LI = new LoadInst(InPHIAlloca, "",
-                                  TrivPN->getParent()->getFirstInsertionPt());
-      TrivPN->replaceAllUsesWith(LI);
-      TrivPN->eraseFromParent();
-      continue;
-    }
-
-    DemotePHI(TrivPN, PNallocMap, ValueLocToPhiMap);
-  }
-
-  // Move preserved PHINodes to the beginning of the BasicBlock.
-  while (!PNtoPreserve.empty()) {
-    PHINode *PN = PNtoPreserve.back();
-    PNtoPreserve.pop_back();
-
-    BasicBlock *BB = PN->getParent();
-    if (PN == BB->begin())
-      continue;
-
-    PN->moveBefore(BB->begin());
-  }
-
-  return true;
-}
-
 void CodePreparation::getAnalysisUsage(AnalysisUsage &AU) const {
   AU.addRequired<LoopInfoWrapperPass>();
   AU.addRequired<ScalarEvolution>();
@@ -206,9 +80,6 @@ bool CodePreparation::runOnFunction(Func
 
   splitEntryBlockForAlloca(&F.getEntryBlock(), this);
 
-  if (!PollyModelPHINodes)
-    eliminatePHINodes(F);
-
   return false;
 }
 

Modified: polly/trunk/lib/Transform/IndependentBlocks.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Transform/IndependentBlocks.cpp?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/lib/Transform/IndependentBlocks.cpp (original)
+++ polly/trunk/lib/Transform/IndependentBlocks.cpp Fri Jun 26 02:31:18 2015
@@ -529,33 +529,14 @@ bool IndependentBlocks::runOnFunction(ll
   for (const Region *R : *SD) {
     Changed |= createIndependentBlocks(R);
     Changed |= eliminateDeadCode(R);
-    // This may change the RegionTree.
-    if (!DisableIntraScopScalarToArray || !PollyModelPHINodes)
-      Changed |= splitExitBlock(const_cast<Region *>(R));
   }
 
-  DEBUG(dbgs() << "Before Scalar to Array------->\n");
-  DEBUG(F.dump());
-
-  if (!DisableIntraScopScalarToArray || !PollyModelPHINodes)
-    for (const Region *R : *SD)
-      Changed |= translateScalarToArray(R);
-
-  DEBUG(dbgs() << "After Independent Blocks------------->\n");
-  DEBUG(F.dump());
-
   verifyAnalysis();
 
   return Changed;
 }
 
-void IndependentBlocks::verifyAnalysis() const {
-  if (DisableIntraScopScalarToArray && PollyModelPHINodes)
-    return;
-
-  for (const Region *R : *SD)
-    verifyScop(R);
-}
+void IndependentBlocks::verifyAnalysis() const {}
 
 void IndependentBlocks::verifyScop(const Region *R) const {
   assert(areAllBlocksIndependent(R) && "Cannot generate independent blocks");

Removed: polly/trunk/test/CodePreparation/if_condition.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/CodePreparation/if_condition.ll?rev=240765&view=auto
==============================================================================
--- polly/trunk/test/CodePreparation/if_condition.ll (original)
+++ polly/trunk/test/CodePreparation/if_condition.ll (removed)
@@ -1,54 +0,0 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-prepare -S -polly-model-phi-nodes=true < %s | FileCheck %s -check-prefix=PHI
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-prepare -S -polly-model-phi-nodes=false < %s | FileCheck %s
-
-; void f(long A[], long N) {
-;   long i;
-;   for (i = 0; i < N; ++i)
-;     A[i] = i;
-; }
-
-; PHI-NOT: alloca
-
-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"
-
-define void @f(i64* %A, i64 %N) nounwind {
-entry:
-  fence seq_cst
-  br label %for.i
-; CHECK: entry:
-; CHECK: %value.reg2mem = alloca i64
-; CHECK: br label %entry.split
-
-for.i:
-  %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %merge ]
-  %scevgep = getelementptr i64, i64* %A, i64 %indvar
-  %cmp = icmp eq i64 %indvar, 3
-  br i1 %cmp, label %then, label %else
-
-then:
-  %add_two = add i64 %indvar, 2
-  br label %merge
-; CHECK: then:
-; CHECK:   %add_two = add i64 %indvar, 2
-; CHECK:   store i64 %add_two, i64* %value.reg2mem
-; CHECK:   br label %merge
-
-else:
-  %add_three = add i64 %indvar, 4
-  br label %merge
-; CHECK: else:
-; CHECK:   %add_three = add i64 %indvar, 4
-; CHECK:   store i64 %add_three, i64* %value.reg2mem
-; CHECK:   br label %merge
-
-merge:
-  %value = phi i64 [ %add_two, %then ], [ %add_three, %else ]
-  store i64 %value, i64* %scevgep
-  %indvar.next = add nsw i64 %indvar, 1
-  %exitcond = icmp eq i64 %indvar.next, %N
-  br i1 %exitcond, label %return, label %for.i
-
-return:
-  fence seq_cst
-  ret void
-}

Removed: polly/trunk/test/CodePreparation/multiple_loops_trivial_phis.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/CodePreparation/multiple_loops_trivial_phis.ll?rev=240765&view=auto
==============================================================================
--- polly/trunk/test/CodePreparation/multiple_loops_trivial_phis.ll (original)
+++ polly/trunk/test/CodePreparation/multiple_loops_trivial_phis.ll (removed)
@@ -1,57 +0,0 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -S -polly-prepare -polly-model-phi-nodes=true < %s | FileCheck %s -check-prefix=PHI
-; RUN: opt %loadPolly -polly-detect-unprofitable -S -polly-prepare -polly-model-phi-nodes=false < %s | FileCheck %s
-
-
-; int f(int * __restrict__ A) {
-;   int i, j, sum = 0;
-;   for (i = 0; i < 100; i++) {
-;     sum *= 2;
-;     for (j = 0; j < 100; j++) {
-;       sum += A[i+j];
-;     }
-;   }
-;   return sum;
-; }
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-
-; Function Attrs: nounwind uwtable
-define i32 @f(i32* noalias %A) #0 {
-entry:
-  br label %for.body
-
-for.body:                                         ; preds = %entry, %for.inc5
-  %sum.04 = phi i32 [ 0, %entry ], [ %add4.lcssa, %for.inc5 ]
-  %indvars.iv23 = phi i64 [ 0, %entry ], [ %2, %for.inc5 ]
-  %mul = shl nsw i32 %sum.04, 1 br label %for.inc
-
-for.inc:                                          ; preds = %for.body, %for.inc
-  %sum.12 = phi i32 [ %mul, %for.body ], [ %add4, %for.inc ]
-  %indvars.iv1 = phi i64 [ 0, %for.body ], [ %1, %for.inc ]
-  %0 = add i64 %indvars.iv23, %indvars.iv1
-  %arrayidx = getelementptr i32, i32* %A, i64 %0
-  %tmp5 = load i32, i32* %arrayidx, align 4
-  %add4 = add nsw i32 %tmp5, %sum.12
-  %1 = add nuw nsw i64 %indvars.iv1, 1
-  %exitcond5 = icmp eq i64 %1, 100
-  br i1 %exitcond5, label %for.inc5, label %for.inc
-
-for.inc5:                                         ; preds = %for.inc
-  %add4.lcssa = phi i32 [ %add4, %for.inc ]
-  %2 = add nuw nsw i64 %indvars.iv23, 1
-  %exitcond = icmp eq i64 %2, 100
-  br i1 %exitcond, label %for.end7, label %for.body
-
-for.end7:                                         ; preds = %for.inc5
-  %add4.lcssa.lcssa = phi i32 [ %add4.lcssa, %for.inc5 ]
-  ret i32 %add4.lcssa.lcssa
-}
-
-attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
-
-; Verify that only two allocas are created. (instead of 4!)
-; CHECK: alloca
-; CHECK: alloca
-; CHECK-NOT: alloca
-
-; PHI-NOT: alloca

Removed: polly/trunk/test/CodePreparation/single_loop_trivial_phi.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/CodePreparation/single_loop_trivial_phi.ll?rev=240765&view=auto
==============================================================================
--- polly/trunk/test/CodePreparation/single_loop_trivial_phi.ll (original)
+++ polly/trunk/test/CodePreparation/single_loop_trivial_phi.ll (removed)
@@ -1,50 +0,0 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -S -polly-prepare -polly-model-phi-nodes=true < %s | FileCheck %s -check-prefix=PHI
-; RUN: opt %loadPolly -polly-detect-unprofitable -S -polly-prepare -polly-model-phi-nodes=false < %s | FileCheck %s
-
-
-; int f(int *A, int N) {
-;   int i, sum = 0;
-;   for (i = 0; i < N; i++)
-;     sum += A[i];
-;   return sum;
-; }
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-
-define i32 @f(i32* %A, i32 %N) {
-entry:
-  %cmp1 = icmp sgt i32 %N, 0
-  br i1 %cmp1, label %for.inc.lr.ph, label %for.end
-
-for.inc.lr.ph:                                    ; preds = %entry
-  %0 = zext i32 %N to i64
-  br label %for.inc
-
-for.inc:                                          ; preds = %for.inc.lr.ph, %for.inc
-  %sum.03 = phi i32 [ 0, %for.inc.lr.ph ], [ %add, %for.inc ]
-  %indvars.iv2 = phi i64 [ 0, %for.inc.lr.ph ], [ %indvars.iv.next, %for.inc ]
-  %arrayidx = getelementptr i32, i32* %A, i64 %indvars.iv2
-  %tmp1 = load i32, i32* %arrayidx, align 4
-  %add = add nsw i32 %tmp1, %sum.03
-  %indvars.iv.next = add nuw nsw i64 %indvars.iv2, 1
-  %exitcond = icmp ne i64 %indvars.iv.next, %0
-  br i1 %exitcond, label %for.inc, label %for.cond.for.end_crit_edge
-
-for.cond.for.end_crit_edge:                       ; preds = %for.inc
-  %add.lcssa = phi i32 [ %add, %for.inc ]
-  br label %for.end
-
-for.end:                                          ; preds = %for.cond.for.end_crit_edge, %entry
-  %sum.0.lcssa = phi i32 [ %add.lcssa, %for.cond.for.end_crit_edge ], [ 0, %entry ]
-  ret i32 %sum.0.lcssa
-}
-
-; Verify that only two allocas are created.
-; Both are needed for the %sum.0 PHI node and none should be created for the
-; %sum.0.lcssa PHI node
-; CHECK: alloca
-; CHECK: alloca
-; CHECK-NOT: alloca
-
-; PHI-NOT: alloca
-

Modified: polly/trunk/test/IndependentBlocks/inter_bb_scalar_dep.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/IndependentBlocks/inter_bb_scalar_dep.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/IndependentBlocks/inter_bb_scalar_dep.ll (original)
+++ polly/trunk/test/IndependentBlocks/inter_bb_scalar_dep.ll Fri Jun 26 02:31:18 2015
@@ -1,7 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -S < %s | FileCheck %s -check-prefix=SCALARACCESS
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -S < %s | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s -check-prefix=SCALARACCESS
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;
@@ -19,10 +17,6 @@ target datalayout = "e-p:64:64:64-i1:8:8
 define void @f(i64* noalias %A, i64 %N, i64* noalias %init_ptr) nounwind {
 entry:
 
-; CHECK: entry
-; CHECK: %init.s2a = alloca i64
-; CHECK: br label %for.i
-
 ; SCALARACCESS-NOT: alloca
   br label %for.i
 
@@ -39,8 +33,6 @@ entry.next:
 for.j:
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
   %init_plus_two = add i64 %init, 2
-; CHECK: %init.loadarray = load i64, i64* %init.s2a
-; CHECK: %init_plus_two = add i64 %init.loadarray, 2
 ; SCALARACCESS: %init_plus_two = add i64 %init, 2
   %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep

Modified: polly/trunk/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll (original)
+++ polly/trunk/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll Fri Jun 26 02:31:18 2015
@@ -1,7 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -S < %s | FileCheck %s -check-prefix=SCALARACCESS
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -S < %s | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s -check-prefix=SCALARACCESS
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;
@@ -20,10 +18,6 @@ target datalayout = "e-p:64:64:64-i1:8:8
 define void @f(i64* noalias %A, i64 %N, i64* noalias %init_ptr) nounwind {
 entry:
 
-; CHECK: entry
-; CHECK: %init.s2a = alloca i64
-; CHECK: br label %for.i
-
 ; SCALARACCESS-NOT: alloca
   br label %for.i
 
@@ -41,9 +35,6 @@ for.j:
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
   %init_2 = load i64, i64* %init_ptr
   %init_sum = add i64 %init, %init_2
-; CHECK: %init_2 = load i64, i64* %init_ptr
-; CHECK: %init.loadarray = load i64, i64* %init.s2a
-; CHECK: %init_sum = add i64 %init.loadarray, %init_2
 
 ; The SCEV of %init_sum is (%init + %init_2). It is referring to both an
 ; UnknownValue in the same and in a different basic block. We want only the

Modified: polly/trunk/test/IndependentBlocks/intra_bb_scalar_dep.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/IndependentBlocks/intra_bb_scalar_dep.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/IndependentBlocks/intra_bb_scalar_dep.ll (original)
+++ polly/trunk/test/IndependentBlocks/intra_bb_scalar_dep.ll Fri Jun 26 02:31:18 2015
@@ -1,7 +1,7 @@
 ; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s
 ; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array -S < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;

Modified: polly/trunk/test/IndependentBlocks/phi_outside_scop.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/IndependentBlocks/phi_outside_scop.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/IndependentBlocks/phi_outside_scop.ll (original)
+++ polly/trunk/test/IndependentBlocks/phi_outside_scop.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -polly-model-phi-nodes=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -polly-model-phi-nodes=true -S < %s | FileCheck %s -check-prefix=SCALAR
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s -check-prefix=SCALAR
 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"
 
 define void @phi_nodes_outside() {
@@ -25,15 +24,6 @@ cleanup:
   ret void
 }
 
-; CHECK:  store i32 %i.1.next, i32* %i.1.next.s2a
-
-; CHECK: for.i.2.preheader:
-; CHECK:    %i.1.next.loadoutside = load i32, i32* %i.1.next.s2a
-
-; CHECK: for.i.2:
-; CHECK:    %i.2 = phi i32 [ %i.2.next, %for.i.2 ], [ %i.1.next.loadoutside, %for.i.2.preheader ]
-
-
 ; SCALAR-NOT: alloca
 
 ; SCALAR: for.i.2.preheader:

Modified: polly/trunk/test/IndependentBlocks/scalar_to_array.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/IndependentBlocks/scalar_to_array.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/IndependentBlocks/scalar_to_array.ll (original)
+++ polly/trunk/test/IndependentBlocks/scalar_to_array.ll Fri Jun 26 02:31:18 2015
@@ -1,7 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -polly-model-phi-nodes=false < %s -S | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=false -polly-model-phi-nodes=false < %s -S | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -polly-model-phi-nodes=true -S < %s | FileCheck %s -check-prefix=SCALARACCESS
-; RAUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -disable-polly-intra-scop-scalar-to-array=true -polly-model-phi-nodes=true < %s -S | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent -S < %s | FileCheck %s -check-prefix=SCALARACCESS
+; RAUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-independent < %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"
 
@@ -30,13 +28,11 @@ return:
 }
 
 
-; CHECK: @array_access()
+; SCALARACCESS-LABEL: @array_access()
 define i32 @array_access() nounwind {
 entry:
   fence seq_cst
   br label %for.cond
-; CHECK: entry:
-; CHECK-NOT: alloca
 ; SCALARACCESS: entry:
 ; SCALARACCESS-NOT: alloca
 
@@ -51,9 +47,6 @@ for.body:
   store float %float, float* %arrayidx
   br label %for.inc
 
-; CHECK: for.body:
-; CHECK: %float = uitofp i64 %indvar to float
-; CHECK: store float %float, float* %arrayidx
 ; SCALARACCESS: for.body:
 ; SCALARACCESS: %float = uitofp i64 %indvar to float
 ; SCALARACCESS: store float %float, float* %arrayidx
@@ -67,15 +60,12 @@ return:
   ret i32 0
 }
 
-; CHECK: @intra_scop_dep()
+; SCALARACCESS-LABEL: @intra_scop_dep()
 define i32 @intra_scop_dep() nounwind {
 entry:
   fence seq_cst
   br label %for.cond
 
-; CHECK: entry:
-; CHECK: %scalar.s2a = alloca float
-; CHECK: fence
 ; SCALARACCESS: entry:
 ; SCALARACCESS-NOT: alloca
 ; SCALARACCESS: fence
@@ -90,12 +80,6 @@ for.body.a:
   %scalar = load float, float* %arrayidx
   br label %for.body.b
 
-; CHECK: for.body.a:
-; CHECK: %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
-; CHECK: %scalar = load float, float* %arrayidx
-; CHECK: store float %scalar, float* %scalar.s2a
-; CHECK: br label %for.body.b
-
 ; SCALARACCESS: for.body.a:
 ; SCALARACCESS: %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
 ; SCALARACCESS: %scalar = load float, float* %arrayidx
@@ -109,14 +93,6 @@ for.body.b:
   store float %sum, float* %arrayidx2
   br label %for.inc
 
-; CHECK: for.body.b:
-; CHECK: %arrayidx2 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
-; CHECK: %float = uitofp i64 %indvar to float
-; CHECK: %scalar.loadarray = load float, float* %scalar.s2a
-; CHECK: %sum = fadd float %scalar.loadarray, %float
-; CHECK: store float %sum, float* %arrayidx2
-; CHECK: br label %for.inc
-
 ; SCALARACCESS: for.body.b:
 ; SCALARACCESS: %arrayidx2 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
 ; SCALARACCESS: %float = uitofp i64 %indvar to float
@@ -138,14 +114,11 @@ return:
 ; a global variable. All global variables are pointers containing possibly
 ; a single element.
 
-; CHECK: @use_after_scop()
+; SCALARACCESS-LABEL: @use_after_scop()
 define i32 @use_after_scop() nounwind {
 entry:
   fence seq_cst
   br label %for.head
-; CHECK: entry:
-; CHECK: %scalar.s2a = alloca float
-; CHECK: fence
 
 ; SCALARACCESS: entry:
 ; SCALARACCESS-NOT: alloca
@@ -160,10 +133,6 @@ for.body:
   %scalar = load float, float* %arrayidx
   br label %for.inc
 
-; CHECK: for.body:
-; CHECK: %scalar = load float, float* %arrayidx
-; CHECK: store float %scalar, float* %scalar.s2a
-
 ; SCALARACCESS: for.body:
 ; SCALARACCESS: %scalar = load float, float* %arrayidx
 ; SCALARACCESS-NOT: store float %scalar
@@ -178,11 +147,6 @@ for.after:
   %return_value = fptosi float %scalar to i32
   br label %return
 
-; CHECK: for.after:
-; CHECK: %scalar.loadoutside = load float, float* %scalar.s2a
-; CHECK: fence seq_cst
-; CHECK: %return_value = fptosi float %scalar.loadoutside to i32
-
 ; SCALARACCESS: for.after:
 ; SCALARACCESS: fence seq_cst
 ; SCALARACCESS: %return_value = fptosi float %scalar to i32
@@ -199,7 +163,7 @@ return:
 ;  o For integer values, such a translation may block the use of scalar
 ;    evolution on those values.
 ;
-; CHECK: @before_scop()
+; SCALARACCESS-LABEL: @before_scop()
 define i32 @before_scop() nounwind {
 entry:
   br label %preheader
@@ -219,9 +183,6 @@ for.body:
   store float %scalar, float* %arrayidx
   br label %for.inc
 
-; CHECK: for.body:
-; CHECK: store float %scalar, float* %arrayidx
-
 ; SCALARACCESS: for.body:
 ; SCALARACCESS: store float %scalar, float* %arrayidx
 
@@ -235,13 +196,11 @@ return:
 }
 
 ; Currently not working
-; CHECK: @param_before_scop(
+; SCALARACCESS-LABEL: @param_before_scop(
 define i32 @param_before_scop(float %scalar) nounwind {
 entry:
   fence seq_cst
   br label %for.cond
-; CHECK: entry:
-; CHECK: fence
 
 for.cond:
   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ]
@@ -253,9 +212,6 @@ for.body:
   store float %scalar, float* %arrayidx
   br label %for.inc
 
-; CHECK: for.body:
-; CHECK: store float %scalar, float* %arrayidx
-
 for.inc:
   %indvar.next = add i64 %indvar, 1
   br label %for.cond

Modified: polly/trunk/test/Isl/CodeGen/phi_condition_modeling_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_condition_modeling_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_condition_modeling_1.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_condition_modeling_1.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-model-phi-nodes -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-codegen < %s | FileCheck %s
 ;
 ;    void f(int *A, int c, int N) {
 ;      int tmp;

Modified: polly/trunk/test/Isl/CodeGen/phi_condition_modeling_2.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_condition_modeling_2.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_condition_modeling_2.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_condition_modeling_2.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array  -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable  -polly-codegen < %s | FileCheck %s
 ;
 ;    void f(int *A, int c, int N) {
 ;      int tmp;

Modified: polly/trunk/test/Isl/CodeGen/phi_conditional_simple_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_conditional_simple_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_conditional_simple_1.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_conditional_simple_1.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -analyze -polly-ast -polly-no-early-exit -polly-detect-unprofitable -polly-model-phi-nodes < %s | FileCheck %s --check-prefix=AST
-; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-model-phi-nodes -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -analyze -polly-ast -polly-no-early-exit -polly-detect-unprofitable < %s | FileCheck %s --check-prefix=AST
+; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-codegen < %s | FileCheck %s
 ;
 ;    void jd(int *A, int c) {
 ;      for (int i = 0; i < 1024; i++) {

Modified: polly/trunk/test/Isl/CodeGen/phi_loop_carried_float.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_loop_carried_float.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_loop_carried_float.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_loop_carried_float.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array  -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable  -polly-codegen < %s | FileCheck %s
 ;
 ;    float f(float *A, int N) {
 ;      float tmp = 0;

Modified: polly/trunk/test/Isl/CodeGen/phi_loop_carried_float_escape.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_loop_carried_float_escape.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_loop_carried_float_escape.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_loop_carried_float_escape.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array  -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-no-early-exit -polly-detect-unprofitable  -polly-codegen < %s | FileCheck %s
 ;
 ;    float f(float *A, int N) {
 ;      float tmp = 0;

Modified: polly/trunk/test/Isl/CodeGen/phi_scalar_simple_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_scalar_simple_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_scalar_simple_1.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_scalar_simple_1.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-detect-unprofitable -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -polly-no-early-exit -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-detect-unprofitable -polly-no-early-exit -polly-codegen < %s | FileCheck %s
 ;
 ;    int jd(int *restrict A, int x, int N) {
 ;      for (int i = 1; i < N; i++)

Modified: polly/trunk/test/Isl/CodeGen/phi_scalar_simple_2.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/phi_scalar_simple_2.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/phi_scalar_simple_2.ll (original)
+++ polly/trunk/test/Isl/CodeGen/phi_scalar_simple_2.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -S -polly-detect-unprofitable -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -polly-no-early-exit -polly-codegen < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-detect-unprofitable -polly-no-early-exit -polly-codegen < %s | FileCheck %s
 ;
 ;    int jd(int *restrict A, int x, int N, int c) {
 ;      for (int i = 0; i < N; i++)

Modified: polly/trunk/test/Isl/CodeGen/single_loop_zero_iterations.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/single_loop_zero_iterations.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/single_loop_zero_iterations.ll (original)
+++ polly/trunk/test/Isl/CodeGen/single_loop_zero_iterations.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-ast -analyze -disable-polly-intra-scop-scalar-to-array=false -polly-model-phi-nodes=false -S < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-ast -analyze -disable-polly-intra-scop-scalar-to-array=true -polly-model-phi-nodes=true -S < %s | FileCheck %s -check-prefix=SCALAR
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-ast -analyze -S < %s | FileCheck %s -check-prefix=SCALAR
 
 ;#define N 20
 ;
@@ -65,8 +64,5 @@ return:
   ret i32 %retval.0
 }
 
-; CHECK: for region: 'for.cond => for.end.region' in function 'main':
-; CHECK-NOT:   Stmt_for_body(0);
-
 ; SCALAR: for region: 'for.cond => for.end' in function 'main':
 ; SCALAR-NOT:   Stmt_for_body(0);

Modified: polly/trunk/test/Isl/CodeGen/two-scops-in-row.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/two-scops-in-row.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/Isl/CodeGen/two-scops-in-row.ll (original)
+++ polly/trunk/test/Isl/CodeGen/two-scops-in-row.ll Fri Jun 26 02:31:18 2015
@@ -1,21 +1,8 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-no-early-exit -polly-ast -analyze -polly-ignore-aliasing -disable-polly-intra-scop-scalar-to-array=false -polly-model-phi-nodes=false < %s | FileCheck %s 
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-no-early-exit -polly-codegen -polly-ignore-aliasing -disable-polly-intra-scop-scalar-to-array=false -polly-model-phi-nodes=false -disable-output < %s
 
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-no-early-exit -polly-ast -analyze -polly-ignore-aliasing -disable-polly-intra-scop-scalar-to-array=true -polly-model-phi-nodes=true < %s | FileCheck %s -check-prefix=SCALAR
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-no-early-exit -polly-codegen -polly-ignore-aliasing -disable-polly-intra-scop-scalar-to-array=true -polly-model-phi-nodes=true -disable-output < %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-no-early-exit -polly-ast -analyze -polly-ignore-aliasing < %s | FileCheck %s -check-prefix=SCALAR
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-no-early-exit -polly-codegen -polly-ignore-aliasing -disable-output < %s
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
-; CHECK: if (1)
-; CHECK:     {
-; CHECK:       for (int c0 = 0; c0 <= -Scalar0.val.loadoutside + 99; c0 += 1)
-; CHECK:         Stmt_for_1(c0);
-; CHECK:       if (Scalar0.val.loadoutside >= 100)
-; CHECK:         Stmt_for_1(0);
-; CHECK:     }
-
-; CHECK: if (1)
-; CHECK:     Stmt_for_0(0);
-
 ; SCALAR: if (1)
 ; SCALAR:     {
 ; SCALAR:       for (int c0 = 0; c0 <= -Scalar0.val + 99; c0 += 1)

Modified: polly/trunk/test/ScopDetect/invalidate_scalar_evolution.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopDetect/invalidate_scalar_evolution.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopDetect/invalidate_scalar_evolution.ll (original)
+++ polly/trunk/test/ScopDetect/invalidate_scalar_evolution.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -polly-model-phi-nodes=true -disable-polly-intra-scop-scalar-to-array=true -analyze  < %s | FileCheck %s -check-prefix=PHI
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -polly-model-phi-nodes=false -disable-polly-intra-scop-scalar-to-array=false -analyze  < %s | FileCheck %s -check-prefix=CHECK
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -analyze  < %s | FileCheck %s -check-prefix=PHI
 
 ; void f(long A[], long N) {
 ;   long i;
@@ -41,4 +40,3 @@ return:
 }
 
 ; PHI: Valid Region for Scop: pre => return
-; CHECK: Valid Region for Scop: for.i => then

Modified: polly/trunk/test/ScopDetect/multidim_indirect_access.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopDetect/multidim_indirect_access.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopDetect/multidim_indirect_access.ll (original)
+++ polly/trunk/test/ScopDetect/multidim_indirect_access.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
 ; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -analyze < %s | FileCheck %s --check-prefix=INDEPENDENT
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -analyze -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array  < %s | FileCheck %s --check-prefix=NON_INDEPENDENT
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -analyze  < %s | FileCheck %s --check-prefix=NON_INDEPENDENT
 ;
 ; With the IndependentBlocks and PollyPrepare passes this will __correctly__
 ; not be recognized as a SCoP and the debug states:

Modified: polly/trunk/test/ScopDetect/simple_loop_with_param.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopDetect/simple_loop_with_param.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopDetect/simple_loop_with_param.ll (original)
+++ polly/trunk/test/ScopDetect/simple_loop_with_param.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-detect -polly-model-phi-nodes=true -disable-polly-intra-scop-scalar-to-array=true -analyze  < %s | FileCheck %s -check-prefix=PHI
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-detect -polly-model-phi-nodes=false -disable-polly-intra-scop-scalar-to-array=false -analyze  < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-detect -analyze  < %s | FileCheck %s -check-prefix=PHI
 
 ; void f(long A[], long N, long *init_ptr) {
 ;   long i, j;
@@ -49,4 +48,3 @@ return:
 }
 
 ; PHI: Valid Region for Scop: for.i => return
-; CHECK: Valid Region for Scop: for.j => for.i.end

Modified: polly/trunk/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll (original)
+++ polly/trunk/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll Fri Jun 26 02:31:18 2015
@@ -1,33 +1,5 @@
-; RUN: opt %loadPolly -basicaa -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -disable-polly-intra-scop-scalar-to-array=false -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -basicaa -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -disable-polly-intra-scop-scalar-to-array=true -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s -check-prefix=SCALAR
+; RUN: opt %loadPolly -basicaa -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s -check-prefix=SCALAR
 ;
-; CHECK:    Function: f
-; CHECK:    Region: %bb1---%bb13
-; CHECK:    Max Loop Depth:  1
-; CHECK:    Context:
-; CHECK:    {  :  }
-; CHECK:    Assumed Context:
-; CHECK:    {  :  }
-; CHECK:    Alias Groups (0):
-; CHECK:        n/a
-; CHECK:    Statements {
-; CHECK:      Stmt_(bb3 => bb11)
-; CHECK:            Domain :=
-; CHECK:                { Stmt_(bb3 => bb11)[i0] : i0 >= 0 and i0 <= 1023 };
-; CHECK:            Schedule :=
-; CHECK:                { Stmt_(bb3 => bb11)[i0] -> [i0] };
-; CHECK:            ReadAccess := [Reduction Type: NONE] [Scalar: 0]
-; CHECK:                { Stmt_(bb3 => bb11)[i0] -> MemRef_C[i0] };
-; CHECK:            MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 0]
-; CHECK:                { Stmt_(bb3 => bb11)[i0] -> MemRef_tmp4_s2a[0] };
-; CHECK:            ReadAccess := [Reduction Type: NONE] [Scalar: 0]
-; CHECK:                { Stmt_(bb3 => bb11)[i0] -> MemRef_tmp4_s2a[0] };
-; CHECK:            ReadAccess := [Reduction Type: +] [Scalar: 0]
-; CHECK:                { Stmt_(bb3 => bb11)[i0] -> MemRef_A[o0] : o0 <= 2147483645 and o0 >= -2147483648 };
-; CHECK:            MayWriteAccess := [Reduction Type: +] [Scalar: 0]
-; CHECK:                { Stmt_(bb3 => bb11)[i0] -> MemRef_A[o0] : o0 <= 2147483645 and o0 >= -2147483648 };
-; CHECK:    }
-
 ; SCALAR:    Function: f
 ; SCALAR:    Region: %bb1---%bb13
 ; SCALAR:    Max Loop Depth:  1

Modified: polly/trunk/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll (original)
+++ polly/trunk/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-scops -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s
 ;
 ; Verify that we over approximate the read acces of A[j] in the last statement as j is
 ; computed in a non-affine loop we do not model.

Modified: polly/trunk/test/ScopInfo/escaping_empty_scop.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/escaping_empty_scop.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/escaping_empty_scop.ll (original)
+++ polly/trunk/test/ScopInfo/escaping_empty_scop.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ;    void g();
 ;    int f(int *A) {

Modified: polly/trunk/test/ScopInfo/loop_carry.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/loop_carry.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/loop_carry.ll (original)
+++ polly/trunk/test/ScopInfo/loop_carry.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-prepare -polly-scops -analyze -polly-model-phi-nodes=false -disable-polly-intra-scop-scalar-to-array=false < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-prepare -polly-scops -analyze -polly-model-phi-nodes=true -disable-polly-intra-scop-scalar-to-array=true < %s | FileCheck %s -check-prefix=SCALAR
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-scops -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"
 
@@ -49,65 +48,23 @@ bb2:
 ; CHECK: Context:
 ; CHECK: [n] -> { : }
 ; CHECK:     Statements {
-; CHECK:     	Stmt_bb_nph
-; CHECK:             Domain :=
-; CHECK:                 [n] -> { Stmt_bb_nph[] : n >= 2 };
-; CHECK:             Schedule :=
-; CHECK:                 [n] -> { Stmt_bb_nph[] -> [0, 0] };
-; CHECK:             ReadAccess :=
-; CHECK:                 [n] -> { Stmt_bb_nph[] -> MemRef_a[0] };
-; CHECK:             MustWriteAccess :=
-; CHECK:                 [n] -> { Stmt_bb_nph[] -> MemRef_k_05_reg2mem[0] };
-; CHECK:             MustWriteAccess :=
-; CHECK:                 [n] -> { Stmt_bb_nph[] -> MemRef__reg2mem[0] };
 ; CHECK:     	Stmt_bb
 ; CHECK:             Domain :=
-; CHECK:                 [n] -> { Stmt_bb[i0] : i0 >= 0 and i0 <= -2 + n and n >= 2 };
+; CHECK:                 [n] -> { Stmt_bb[i0] : i0 >= 0 and i0 <= -2 + n };
 ; CHECK:             Schedule :=
-; CHECK:                 [n] -> { Stmt_bb[i0] -> [1, i0] };
-; CHECK:             ReadAccess :=
-; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef__reg2mem[0] };
-; CHECK:             ReadAccess :=
-; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_k_05_reg2mem[0] };
-; CHECK:             MustWriteAccess :=
+; CHECK:                 [n] -> { Stmt_bb[i0] -> [i0] };
+; CHECK:             MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
+; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_1[] };
+; CHECK:             MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
+; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_k_05[] };
+; CHECK:             ReadAccess :=       [Reduction Type: NONE] [Scalar: 1]
+; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_1[] };
+; CHECK:             ReadAccess :=       [Reduction Type: NONE] [Scalar: 1]
+; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_k_05[] };
+; CHECK:             MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 0]
 ; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_a[1 + i0] };
-; CHECK:             ReadAccess :=
+; CHECK:             ReadAccess :=       [Reduction Type: NONE] [Scalar: 0]
 ; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_a[2 + 2i0] };
-; CHECK:             ReadAccess :=
+; CHECK:             ReadAccess :=       [Reduction Type: NONE] [Scalar: 0]
 ; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_a[4 + i0] };
-; CHECK:             MustWriteAccess :=
-; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef_k_05_reg2mem[0] };
-; CHECK:             MustWriteAccess :=
-; CHECK:                 [n] -> { Stmt_bb[i0] -> MemRef__reg2mem[0] };
-
-; SCALAR: Stmt_bb_nph
-; SCALAR:       Domain :=
-; SCALAR:           [n] -> { Stmt_bb_nph[] : n >= 2 };
-; SCALAR:       Schedule :=
-; SCALAR:           [n] -> { Stmt_bb_nph[] -> [0, 0] };
-; SCALAR:       ReadAccess :=       [Reduction Type: NONE] [Scalar: 0]
-; SCALAR:           [n] -> { Stmt_bb_nph[] -> MemRef_a[0] };
-; SCALAR:       MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
-; SCALAR:           [n] -> { Stmt_bb_nph[] -> MemRef_1[] };
-; SCALAR:       MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
-; SCALAR:           [n] -> { Stmt_bb_nph[] -> MemRef_k_05[] };
-; SCALAR: Stmt_bb
-; SCALAR:       Domain :=
-; SCALAR:           [n] -> { Stmt_bb[i0] : i0 >= 0 and i0 <= -2 + n and n >= 2 };
-; SCALAR:       Schedule :=
-; SCALAR:           [n] -> { Stmt_bb[i0] -> [1, i0] };
-; SCALAR:       MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_1[] };
-; SCALAR:       MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_k_05[] };
-; SCALAR:       ReadAccess :=       [Reduction Type: NONE] [Scalar: 1]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_1[] };
-; SCALAR:       ReadAccess :=       [Reduction Type: NONE] [Scalar: 1]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_k_05[] };
-; SCALAR:       MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 0]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_a[1 + i0] };
-; SCALAR:       ReadAccess :=       [Reduction Type: NONE] [Scalar: 0]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_a[2 + 2i0] };
-; SCALAR:       ReadAccess :=       [Reduction Type: NONE] [Scalar: 0]
-; SCALAR:           [n] -> { Stmt_bb[i0] -> MemRef_a[4 + i0] };
 

Modified: polly/trunk/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll (original)
+++ polly/trunk/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -polly-scops -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-scops -analyze < %s | FileCheck %s
 ;
 ; Check that we do not generate any scalar dependences regarding x. It is
 ; defined and used on the non-affine subregion only, thus we do not need

Modified: polly/trunk/test/ScopInfo/non-affine-region-phi.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/non-affine-region-phi.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/non-affine-region-phi.ll (original)
+++ polly/trunk/test/ScopInfo/non-affine-region-phi.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-allow-nonaffine -polly-no-early-exit -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -S < %s | FileCheck %s --check-prefix=CODE
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-allow-nonaffine -polly-no-early-exit -polly-scops -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-allow-nonaffine -polly-no-early-exit -S < %s | FileCheck %s --check-prefix=CODE
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-allow-nonaffine -polly-no-early-exit -polly-scops -analyze < %s | FileCheck %s
 ;
 ; Verify there is a phi in the non-affine region but it is not represented in
 ; the SCoP as all operands as well as the uses are inside the region too.

Modified: polly/trunk/test/ScopInfo/non_affine_region_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/non_affine_region_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/non_affine_region_1.ll (original)
+++ polly/trunk/test/ScopInfo/non_affine_region_1.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-allow-nonaffine -polly-detect-unprofitable -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -polly-scops -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-allow-nonaffine -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ; Verify only the incoming scalar x is modeled as a read in the non-affine
 ; region.

Modified: polly/trunk/test/ScopInfo/non_affine_region_2.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/non_affine_region_2.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/non_affine_region_2.ll (original)
+++ polly/trunk/test/ScopInfo/non_affine_region_2.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -polly-scops -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ; Verify the scalar x defined in a non-affine subregion is written as it
 ; escapes the region. In this test the two conditionals inside the region

Modified: polly/trunk/test/ScopInfo/non_affine_region_3.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/non_affine_region_3.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/non_affine_region_3.ll (original)
+++ polly/trunk/test/ScopInfo/non_affine_region_3.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -polly-scops -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ; Verify the scalar x defined in a non-affine subregion is written as it
 ; escapes the region. In this test the two conditionals inside the region

Modified: polly/trunk/test/ScopInfo/non_affine_region_4.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/non_affine_region_4.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/non_affine_region_4.ll (original)
+++ polly/trunk/test/ScopInfo/non_affine_region_4.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -polly-scops  -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops  -analyze < %s | FileCheck %s
 ;
 ; Verify that both scalars (x and y) are properly written in the non-affine
 ; region and read afterwards.

Modified: polly/trunk/test/ScopInfo/phi_condition_modeling_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_condition_modeling_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_condition_modeling_1.ll (original)
+++ polly/trunk/test/ScopInfo/phi_condition_modeling_1.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -analyze -polly-scops -polly-model-phi-nodes < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -analyze -polly-scops < %s | FileCheck %s
 ;
 ;    void f(int *A, int c, int N) {
 ;      int tmp;

Modified: polly/trunk/test/ScopInfo/phi_condition_modeling_2.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_condition_modeling_2.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_condition_modeling_2.ll (original)
+++ polly/trunk/test/ScopInfo/phi_condition_modeling_2.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -analyze -polly-scops -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -analyze -polly-scops < %s | FileCheck %s
 ;
 ;    void f(int *A, int c, int N) {
 ;      int tmp;

Modified: polly/trunk/test/ScopInfo/phi_conditional_simple_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_conditional_simple_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_conditional_simple_1.ll (original)
+++ polly/trunk/test/ScopInfo/phi_conditional_simple_1.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -analyze -polly-scops -polly-model-phi-nodes < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -analyze -polly-scops < %s | FileCheck %s
 ;
 ;    void jd(int *A, int c) {
 ;      for (int i = 0; i < 1024; i++) {

Modified: polly/trunk/test/ScopInfo/phi_loop_carried_float.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_loop_carried_float.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_loop_carried_float.ll (original)
+++ polly/trunk/test/ScopInfo/phi_loop_carried_float.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ;    float f(float *A, int N) {
 ;      float tmp = 0;

Modified: polly/trunk/test/ScopInfo/phi_not_grouped_at_top.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_not_grouped_at_top.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_not_grouped_at_top.ll (original)
+++ polly/trunk/test/ScopInfo/phi_not_grouped_at_top.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-prepare  -analyze  < %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -analyze  < %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"
 
 declare i32 @funa() align 2

Modified: polly/trunk/test/ScopInfo/phi_scalar_simple_1.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_scalar_simple_1.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_scalar_simple_1.ll (original)
+++ polly/trunk/test/ScopInfo/phi_scalar_simple_1.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ;    int jd(int *restrict A, int x, int N) {
 ;      for (int i = 1; i < N; i++)

Modified: polly/trunk/test/ScopInfo/phi_scalar_simple_2.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_scalar_simple_2.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_scalar_simple_2.ll (original)
+++ polly/trunk/test/ScopInfo/phi_scalar_simple_2.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -polly-model-phi-nodes -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ;    int jd(int *restrict A, int x, int N, int c) {
 ;      for (int i = 0; i < N; i++)

Modified: polly/trunk/test/ScopInfo/phi_with_invoke_edge.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/phi_with_invoke_edge.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/phi_with_invoke_edge.ll (original)
+++ polly/trunk/test/ScopInfo/phi_with_invoke_edge.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-prepare -polly-detect  -analyze  < %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect  -analyze  < %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"
 
 declare i32 @generic_personality_v0(i32, i64, i8*, i8*)

Modified: polly/trunk/test/ScopInfo/scalar.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/scalar.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/scalar.ll (original)
+++ polly/trunk/test/ScopInfo/scalar.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze -disable-polly-intra-scop-scalar-to-array < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -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"
 

Modified: polly/trunk/test/ScopInfo/scalar_dependence_cond_br.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/scalar_dependence_cond_br.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/scalar_dependence_cond_br.ll (original)
+++ polly/trunk/test/ScopInfo/scalar_dependence_cond_br.ll Fri Jun 26 02:31:18 2015
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -disable-polly-intra-scop-scalar-to-array -polly-model-phi-nodes -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
 ;
 ;    void f(int *A, int c, int d) {
 ;      for (int i = 0; i < 1024; i++)

Modified: polly/trunk/test/TempScop/inter_bb_scalar_dep.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/TempScop/inter_bb_scalar_dep.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/TempScop/inter_bb_scalar_dep.ll (original)
+++ polly/trunk/test/TempScop/inter_bb_scalar_dep.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir  -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir  -analyze < %s | FileCheck %s
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;

Modified: polly/trunk/test/TempScop/intra_and_inter_bb_scalar_dep.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/TempScop/intra_and_inter_bb_scalar_dep.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/TempScop/intra_and_inter_bb_scalar_dep.ll (original)
+++ polly/trunk/test/TempScop/intra_and_inter_bb_scalar_dep.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze < %s | FileCheck %s
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;

Modified: polly/trunk/test/TempScop/intra_bb_scalar_dep.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/TempScop/intra_bb_scalar_dep.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/TempScop/intra_bb_scalar_dep.ll (original)
+++ polly/trunk/test/TempScop/intra_bb_scalar_dep.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir  -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir  -analyze < %s | FileCheck %s
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;

Modified: polly/trunk/test/TempScop/scalar_to_array.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/TempScop/scalar_to_array.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/TempScop/scalar_to_array.ll (original)
+++ polly/trunk/test/TempScop/scalar_to_array.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -disable-polly-intra-scop-scalar-to-array -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -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"

Modified: polly/trunk/test/TempScop/tempscop-printing.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/TempScop/tempscop-printing.ll?rev=240766&r1=240765&r2=240766&view=diff
==============================================================================
--- polly/trunk/test/TempScop/tempscop-printing.ll (original)
+++ polly/trunk/test/TempScop/tempscop-printing.ll Fri Jun 26 02:31:18 2015
@@ -1,5 +1,4 @@
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze -disable-polly-intra-scop-scalar-to-array=false < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze -disable-polly-intra-scop-scalar-to-array=true < %s | FileCheck %s -check-prefix=SCALARACCESS
+; RUN: opt %loadPolly -polly-detect-unprofitable -basicaa -polly-analyze-ir -analyze < %s | FileCheck %s -check-prefix=SCALARACCESS
 
 ; void f(long A[], int N, int *init_ptr) {
 ;   long i, j;
@@ -24,21 +23,14 @@ for.i:
   br label %entry.next
 
 entry.next:
-; CHECK: BB: entry.next
 ; SCALARACCESS: BB: entry.next
   %init = load i64, i64* %init_ptr
-; CHECK:  Read init_ptr[0]
-; CHECK:  Write init.s2a[0]
 ; SCALARACCESS: Read init_ptr[0]
 ; SCALARACCESS:  Write init[0]
   br label %for.j
 
 for.j:
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
-; CHECK: BB: for.j
-; CHECK: Read init.s2a[0]
-; CHECK: Write A[{0,+,8}<%for.j>]
-
 ; SCALARACCESS: BB: for.j
 ; SCALARACCESS: Read init
 ; SCALARACCESS: Write A[{0,+,8}<%for.j>]





More information about the llvm-commits mailing list