[PATCH] D9151: Loop Versioning for LICM

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 21 23:13:02 PST 2015



----- Original Message -----
> From: "Ashutosh Nema" <Ashutosh.Nema at amd.com>
> To: reviews+D9151+public+ac7c33357b316d74 at reviews.llvm.org, anemet at apple.com, hfinkel at anl.gov,
> listmail at philipreames.com, "charlie turner" <charlie.turner at arm.com>
> Cc: "mehdi amini" <mehdi.amini at apple.com>, sanjoy at playingwithpointers.com, "javed absar" <javed.absar at arm.com>,
> "silviu baranga" <silviu.baranga at arm.com>, llvm-commits at lists.llvm.org
> Sent: Tuesday, December 22, 2015 12:37:39 AM
> Subject: RE: [PATCH] D9151: Loop Versioning for LICM
> 
> Hi Tobias,
> 
> > I wonder if there is a specific reason this pass is run as in the
> > canonicalization phase as part of the inliner loop.
> Not very clear, what you mean by 'inliner loop', is it inner loop ?

He means that it is running iteratively with the inliner, both being run within the same CGSCC pass manager.

We probably should place it later (after inlining is done). Specifically, this means after the call to 'MPM.add(createBarrierNoopPass());' -- because we probably don't want to decide to add runtime checks before inlining is complete (we might add runtime checks and then inline, and after inlining have better aliasing information).

 -Hal

> 
> > Would it not make more sense to run it before the vectorizers?
> If you see pass manager its scheduled prior to Vectorizer.
> As its LICM based, it’s not performing any vectorizer legality.
> It helps in cases where LICM became conservative because of
> memory aliasing uncertainty.
> 
> Thanks,
> Ashutosh
> 
> -----Original Message-----
> From: Tobias Grosser [mailto:tobias at grosser.es]
> Sent: Tuesday, December 22, 2015 2:48 AM
> To: Nema, Ashutosh; anemet at apple.com; hfinkel at anl.gov;
> listmail at philipreames.com; charlie.turner at arm.com
> Cc: mehdi.amini at apple.com; sanjoy at playingwithpointers.com;
> javed.absar at arm.com; silviu.baranga at arm.com;
> llvm-commits at lists.llvm.org
> Subject: Re: [PATCH] D9151: Loop Versioning for LICM
> 
> grosser added a subscriber: grosser.
> grosser added a comment.
> 
> Dear All,
> 
> sorry for jumping in late. I wonder if there is a specific reason
> this pass is run as in the canonicalization phase as part of the
> inliner loop. Would it not make more sense to run it before the
> vectorizers?
> 
> Best,
> Tobias
> 
> 
> Repository:
>   rL LLVM
> 
> http://reviews.llvm.org/D9151
> 
> 
> 
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-commits mailing list