[polly] Fix non-deterministic output due to iteration of unordered ScopArrayInfo

Summary:
This fixes the following failures in the reverse iteration builder:
http://lab.llvm.org:8011/builders/reverse-iteration/builds/25

    Polly :: MaximalStaticExpansion/working_deps_between_inners.ll
    Polly :: MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
    Polly :: MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
    Polly :: MaximalStaticExpansion/working_phi_expansion.ll

Reviewers: simbuerg, Eugene.Zelenko, grosser, zinob, bollu

Reviewed By: grosser

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D37349

llvm-svn: 312273
This commit is contained in:
Mandeep Singh Grang 2017-08-31 20:10:30 +00:00
parent 3aefe872c5
commit c2774a549b

View File

@ -496,7 +496,7 @@ bool MaximalStaticExpander::runOnScop(Scop &S) {
auto &D = DI.getDependences(Dependences::AL_Reference);
auto Dependences = isl::give(D.getDependences(Dependences::TYPE_RAW));
SmallPtrSet<ScopArrayInfo *, 4> CurrentSAI(S.arrays().begin(),
SmallVector<ScopArrayInfo *, 4> CurrentSAI(S.arrays().begin(),
S.arrays().end());
for (auto SAI : CurrentSAI) {