[PATCH] Loop Versioning for LICM
Adam Nemet
anemet at apple.com
Tue Jun 2 22:05:04 PDT 2015
> On Jun 2, 2015, at 8:48 PM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote:
>
> Hi Adam,
>
>> I think that the name of this pass is confusing. This pass is LICM specific.
>> It should either be called something like Speculative LICM (data-speculation
>> of pointer independence) or Loop Versioning for LICM.
> Sure I'll change name to 'Loop Versioning for LICM'
>
>> I am unclear why you perform LICM both as part of the pass
>> and also afterwards. Wouldn't the model I described in
>> http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-May/086202.html
>> under variant 2 work here? Why don't we just perform the versioning
>> here after confirming the opportunity and then let LICM perform the hoisting?
> There are couple of reasons for running this pass again.
> First it will help us to hoist checks. In some cases observed scalar evolution
> was not updated and it's not having invariant information for versioned loop.
> Running this later to ensure, hoisting of invariants.
> But now, as suggested in loop versioning I'll run the legality & profitability
> of LICM and make versioning decision based on it. Later when LICM runs it
> will hoist/sink the invariants.
Great, thanks!
>
> Regards,
> Ashutosh
>
> -----Original Message-----
> From: Adam Nemet [mailto:anemet at apple.com]
> Sent: Friday, May 29, 2015 5:07 AM
> To: Nema, Ashutosh; listmail at philipreames.com; anemet at apple.com; hfinkel at anl.gov
> Cc: silviu.baranga at arm.com; llvm-commits at cs.uiuc.edu
> Subject: Re: [PATCH] Loop Versioning for LICM
>
> Hi Ashutosh,
>
> I think that the name of this pass is confusing. This pass is LICM specific. It should either be called something like Speculative LICM (data-speculation of pointer independence) or Loop Versioning for LICM.
>
> I am unclear why you perform LICM both as part of the pass and also afterwards. Wouldn't the model I described in http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-May/086202.html under variant 2 work here? Why don't we just perform the versioning here after confirming the opportunity and then let LICM perform the hoisting?
>
> Adam
>
>
> REPOSITORY
> rL LLVM
>
> http://reviews.llvm.org/D9151
>
> EMAIL PREFERENCES
> http://reviews.llvm.org/settings/panel/emailpreferences/
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list