Run pass_expand_omp_ssa after pass_paralellize_loops

Tom de Vries Tom_deVries@mentor.com
Wed Nov 12 13:16:00 GMT 2014


[ moved from gcc@ to gcc-patches@ ]
[ subject was: Re: [gomp4] openacc kernels directive support ]
On 30-09-14 15:37, Tom de Vries wrote:
>> I would be happily accepting splitting the current autopar pass
>> that way, that is, do
>>
>> NEXT_PASS (pass_parallelize_loops)
>> PUSH_INSERT_PASSES_WITHIN (pass_parallelize_loops)
>> NEXT_PASS (pass_expand_omp)
>> POP_INSERT_PASSES ()
>>
>> and make the analysis code handle lowered OMP form.
>>
>
> To explore that, I created a tentative patch on top of the gomp-4_0-branch,
> which allows a non-bootstrap build and a gcc dg.exp run, so at least a couple of
> parloops test-cases. I can put this through bootstrap and reg-test if you
> confirm this patch is what you want.
>
> I'm not sure though OACC and autopar can share the actual function split-off.
> autopar is run rather late, later than the lto-stream point, while we need the
> split-off done before that for oacc. I'm also not sure what the point would be
> to have lowered OMP form in all those passes in between, I'd think you want to
> omp-expand it asap.

Richard,

This patch implements your proposal. It uses pass_expand_omp after 
pass_parallelize_loops to expand the omp constructs inserted by 
pass_parallelize_loops.

Note: the patch doesn't remove omp_expand_local, since I'm still using that in 
my oacc kernels directive patch series.

Bootstrapped and reg-tested on x86_64.

OK for trunk?

Thanks,
- Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Run-pass_expand_omp_ssa-after-pass_paralellize_loops.patch
Type: text/x-patch
Size: 5609 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20141112/44adfd77/attachment.bin>


More information about the Gcc-patches mailing list