[PATCH] Loop Versioning for LICM
Nema, Ashutosh
Ashutosh.Nema at amd.com
Tue Jun 2 20:48:41 PDT 2015
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.
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/
More information about the llvm-commits
mailing list