[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