[PATCH] fix non-determinism issue in SLP

Julien Lerouge jlerouge at apple.com
Tue Jan 13 11:49:16 PST 2015


Committed revision 225821.

On Fri, Jan 09, 2015 at 11:13:13AM -0800, David Majnemer wrote:
> LGTM.
> 
> On Fri, Jan 9, 2015 at 10:33 AM, Daniel Reynaud <dreynaud at apple.com> wrote:
> 
> >
> > > On Jan 7, 2015, at 4:59 PM, David Majnemer <david.majnemer at gmail.com>
> > wrote:
> > >
> > > Any reason why we can't just switch BlocksSchedules to being a MapVector?
> >
> > Ah you're right, a MapVector works. Here is the amended patch:
> >
> >
> > diff --git a/lib/Transforms/Vectorize/SLPVectorizer.cpp
> > b/lib/Transforms/Vectorize/SLPVectorizer.cpp
> > index c8b8ff2..c2ae163 100644
> > --- a/lib/Transforms/Vectorize/SLPVectorizer.cpp
> > +++ b/lib/Transforms/Vectorize/SLPVectorizer.cpp
> > @@ -857,7 +857,7 @@ private:
> >    };
> >
> >    /// Attaches the BlockScheduling structures to basic blocks.
> > -  DenseMap<BasicBlock *, std::unique_ptr<BlockScheduling>>
> > BlocksSchedules;
> > +  MapVector<BasicBlock *, std::unique_ptr<BlockScheduling>>
> > BlocksSchedules;
> >
> >    /// Performs the "real" scheduling. Done before vectorization is
> > actually
> >    /// performed in a basic block.
> >
> >

> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-- 
Julien Lerouge
PGP Key Id: 0xB1964A62
PGP Fingerprint: 392D 4BAD DB8B CE7F 4E5F FA3C 62DB 4AA7 B196 4A62
PGP Public Key from: keyserver.pgp.com



More information about the llvm-commits mailing list