[PATCH] Mark by_ref mem_ref in build_receiver_ref as non-trapping

Tom de Vries Tom_deVries@mentor.com
Sat Nov 21 18:49:00 GMT 2015


[ was: Re: [Committed] Mark *.omp_data_i as non-trapping ]

On 13/07/15 11:49, Tom de Vries wrote:
> [ was: Re: [gomp4, committed] Handle nested loops in kernels regions ]
>
> On 13/07/15 10:36, Jakub Jelinek wrote:
>> On Mon, Jul 13, 2015 at 10:19:56AM +0200, Thomas Schwinge wrote:
>>>> We rely on pass_lim to move the *.omp_data_i loads out of the loop
>>>> nest.
>>>> For the test-case, pass_lim was managing to move the load out of the
>>>> inner loop, but not the outer loop, because the load was classified as
>>>> 'MOVE_PRESERVE_EXECUTION'. By marking the *.omp_data_i load
>>>> non-trapping, it's now classified as 'MOVE_POSSIBLE', and moved out of
>>>> the loop nest.

This follow-up patch also marks the 'by_ref' mem_ref in 
build_receiver_ref as non-trapping.

Bootstrapped and reg-tested on x86_64.

OK for stage3 (because it's needed for the oacc kernels support)?

Thanks,
- Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Mark-by_ref-mem_ref-in-build_receiver_ref-as-non-trapping.patch
Type: text/x-patch
Size: 681 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20151121/36b61d9f/attachment.bin>


More information about the Gcc-patches mailing list