Displaying 6 results from an estimated 6 matches for "ignedrange".
2011 Nov 11
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...base pointer seems simple enough,
but how should I use getMinusSCEV to get the offset. Should I call it on
each load pointer and its base pointer, or between the two load pointers
once I know that they share the same base. And once I do that, how do I
get the offset (if known). I see the get[Uns|S]ignedRange functions, but
if there is a way to directly get a constant value, then that would be
more straightforward.
Thanks again,
Hal
> ScalarEvolution::forgetLoop(Loop *)
>
> Cheers
> Tobi
--
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory
2011 Nov 11
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...MinusSCEV(Pointer, PointerBase);
> Should I call it on each load pointer and its base pointer, or
> between the two load pointers once I know that they share the same
> base.
That depends what you want.
> And once I do that, how do I get the offset (if known). I see the
> get[Uns|S]ignedRange functions, but if there is a way to directly get
> a constant value, then that would be more straightforward.
I assume you want to know if two load addresses are either identical,
have stride one (have a offset of +1) or some other more complicated stuff.
What might work is the following (ent...
2011 Nov 11
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On 11/11/2011 11:36 PM, Hal Finkel wrote:
> On Thu, 2011-11-10 at 23:07 +0100, Tobias Grosser wrote:
>> On 11/08/2011 11:29 PM, Hal Finkel wrote:
>> Talking about this I looked again into ScalarEvolution.
>>
>> To analyze a load, you would do:
>>
>> LoadInst *Load = ...
>> Value *Pointer = Load->getPointer();
>> const SCEV *PointerSCEV =
2011 Nov 11
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Thu, 2011-11-10 at 23:07 +0100, Tobias Grosser wrote:
> On 11/08/2011 11:29 PM, Hal Finkel wrote:
> > On Tue, 2011-11-08 at 20:24 +0100, Tobias Grosser wrote:
> >> On 11/08/2011 03:36 PM, Hal Finkel wrote:
> >>> On Tue, 2011-11-08 at 12:12 +0100, Tobias Grosser wrote:
> >>>> On 11/08/2011 11:45 AM, Hal Finkel wrote:
>
> [A lot of performance
2011 Nov 15
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...gt; > Should I call it on each load pointer and its base pointer, or
> > between the two load pointers once I know that they share the same
> > base.
> That depends what you want.
>
> > And once I do that, how do I get the offset (if known). I see the
> > get[Uns|S]ignedRange functions, but if there is a way to directly get
> > a constant value, then that would be more straightforward.
>
> I assume you want to know if two load addresses are either identical,
> have stride one (have a offset of +1) or some other more complicated stuff.
>
> What mi...
2011 Nov 16
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...ach load pointer and its base pointer, or
> > > between the two load pointers once I know that they share the same
> > > base.
> > That depends what you want.
> >
> > > And once I do that, how do I get the offset (if known). I see the
> > > get[Uns|S]ignedRange functions, but if there is a way to directly get
> > > a constant value, then that would be more straightforward.
> >
> > I assume you want to know if two load addresses are either identical,
> > have stride one (have a offset of +1) or some other more complicated stuff...