[PATCH] [LoopVectorize] Move LoopAccessAnalysis to its own module

Adam Nemet anemet at apple.com
Wed Feb 11 14:46:13 PST 2015


> On Feb 11, 2015, at 2:30 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> 
> ----- Original Message -----
>> From: "Adam Nemet" <anemet at apple.com>
>> To: "Hal Finkel" <hfinkel at anl.gov>
>> Cc: "Arnold Schwaighofer" <aschwaighofer at apple.com>, "llvm-commits" <llvm-commits at cs.uiuc.edu>, "Nadav
>> Rotem(nrotem at apple.com)" <nrotem at apple.com>, reviews+D7285+public+8a97e71255c10d4e at reviews.llvm.org
>> Sent: Wednesday, February 11, 2015 4:25:36 PM
>> Subject: Re: [PATCH] [LoopVectorize] Move LoopAccessAnalysis to its own module
>> 
>> 
>>> On Feb 11, 2015, at 2:17 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>>> 
>>> ----- Original Message -----
>>>> From: "Adam Nemet" <anemet at apple.com>
>>>> To: reviews+D7285+public+8a97e71255c10d4e at reviews.llvm.org
>>>> Cc: "Arnold Schwaighofer" <aschwaighofer at apple.com>, "Hal Finkel"
>>>> <hfinkel at anl.gov>, "llvm-commits"
>>>> <llvm-commits at cs.uiuc.edu>, "Nadav Rotem <nrotem at apple.com>
>>>> (nrotem at apple.com)" <nrotem at apple.com>
>>>> Sent: Wednesday, February 11, 2015 4:06:56 PM
>>>> Subject: Re: [PATCH] [LoopVectorize] Move LoopAccessAnalysis to
>>>> its own module
>>>> 
>>>> 
>>>>> On Jan 31, 2015, at 7:17 PM, Adam Nemet <anemet at apple.com> wrote:
>>>>> 
>>>>> In http://reviews.llvm.org/D7285#116434, @hfinkel wrote:
>>>>> 
>>>>>> I'm assuming the idea is to turn this into a proper analysis
>>>>>> pass,
>>>>>> but this is a good intermediate step. LGTM.
>>>>> 
>>>>> 
>>>>> Yes, this was the first step of pure refactoring.  Thanks.
>>>> 
>>>> I am at a point where turning this into an analysis pass seems to
>>>> be
>>>> working.  Still missing some testing, etc.
>>>> 
>>>> It’s a function pass that provides an interface to query the
>>>> memory
>>>> access information for a given loop.  The result of the analysis
>>>> is
>>>> computed on-demand when the client queries it and then cached in
>>>> the
>>>> analysis pass.
>>>> 
>>>> Does this approach sound reasonable?
>>> 
>>> Makes sense to me. We have a number of analysis that do on-demand
>>> computation (ScalarEvolution and LazyValueInfo, for example).
>> 
>> Great, thanks, Hal.  I just need to figure out how to get around the
>> on-demanded-ness in order to write tests for -analyze.
> 
> Can you do it like:
>  void ScalarEvolution::print(raw_ostream &OS, const Module *) const {
> (which I think it what its -analyze is)?

Yes, I think I can.  I was thinking something similar but wasn’t sure about existing practice.  Thanks!

Adam

> 
> -Hal
> 
>> 
>> Adam
>> 
>>> 
>>> -Hal
>>> 
>>>> 
>>>> Adam
>>>> 
>>>>> 
>>>>> 
>>>>> http://reviews.llvm.org/D7285
>>>>> 
>>>>> EMAIL PREFERENCES
>>>>> http://reviews.llvm.org/settings/panel/emailpreferences/
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> --
>>> Hal Finkel
>>> Assistant Computational Scientist
>>> Leadership Computing Facility
>>> Argonne National Laboratory
>> 
>> 
> 
> -- 
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory





More information about the llvm-commits mailing list