Re: OpenACC dimension range propagation optimization

2015-11-05 Thread Richard Biener
On Wed, Nov 4, 2015 at 6:29 PM, Nathan Sidwell wrote: > On 11/04/15 05:26, Richard Biener wrote: >> >> On Tue, Nov 3, 2015 at 7:11 PM, Nathan Sidwell wrote: >>> >>> Richard, > > >> this all seems a little bit fragile and relying on implementation details? >> Is the attribute always present? Is t

Re: OpenACC dimension range propagation optimization

2015-11-04 Thread Nathan Sidwell
On 11/04/15 05:26, Richard Biener wrote: On Tue, Nov 3, 2015 at 7:11 PM, Nathan Sidwell wrote: Richard, this all seems a little bit fragile and relying on implementation details? Is the attribute always present? Is the call argument always a constant that fits in a HOST_WIDE_INT (or even in

Re: OpenACC dimension range propagation optimization

2015-11-04 Thread Richard Biener
On Wed, Nov 4, 2015 at 2:56 PM, Nathan Sidwell wrote: > On 11/04/15 05:26, Richard Biener wrote: >> >> On Tue, Nov 3, 2015 at 7:11 PM, Nathan Sidwell wrote: >>> >>> Richard, >>> this patch implements VRP for the 2 openacc axis internal fns I've added. >>> We know the position within a dimension

Re: OpenACC dimension range propagation optimization

2015-11-04 Thread Nathan Sidwell
On 11/04/15 05:26, Richard Biener wrote: On Tue, Nov 3, 2015 at 7:11 PM, Nathan Sidwell wrote: Richard, this patch implements VRP for the 2 openacc axis internal fns I've added. We know the position within a dimension cannot exceed that dimensions extend. Further, if the extend is dynamic, the

Re: OpenACC dimension range propagation optimization

2015-11-04 Thread Richard Biener
On Tue, Nov 3, 2015 at 7:11 PM, Nathan Sidwell wrote: > Richard, > this patch implements VRP for the 2 openacc axis internal fns I've added. > We know the position within a dimension cannot exceed that dimensions > extend. Further, if the extend is dynamic, the target backend may well know > ther

OpenACC dimension range propagation optimization

2015-11-03 Thread Nathan Sidwell
Richard, this patch implements VRP for the 2 openacc axis internal fns I've added. We know the position within a dimension cannot exceed that dimensions extend. Further, if the extend is dynamic, the target backend may well know there's a hardware-mandated maximum value. Hence, added a new