Hi, Thomas!

> 
> Unfortunately, even with that in place, I'm getting ICEs in LTO
> streaming (that is, the test cases specifying -flto GCC's testsuite),
> and also for trivial OpenACC code with -fopenacc, both for Fortran and
> C code.
This was fixed yesterday with exception of LTO which was not tested.

> As you said yourself (but what is of course totally fine at this early
> development stage), the code is not yet mature: there are TODOs for
> missing error checking, catching invalid usage of directives by users,
> generally robustness, and so on.  We shall address these as we continue
> working on this.
Sure, it's true.

> A bit more "trivia": changes to contrib/gcc_update are missing for the
> generated files in liboacc, and these should be using the same Autoconf
> and Automake versions as the rest of GCC is.
It will be fixed soon.

 
> For gcc/tree.def and gcc/gimple.def I agree it makes sense to have
> codes specific to OpenACC instead of, for example, shoehorning
> OACC_PARALLEL into the existing OMP_PARALLEL (and then adding a flag to
> it whether it is an OpenACC or OpenMP parallel statement...).  The only
> concept I can think of where it'd make sense to even there re-use the
> existing OpenMP codes would be if there was a distinct "context" inside
> which it's clear whether OMP_PARALLEL means an OpenACC or OpenMP
> parallel construct.  But that's probably more complex than simply
> having separate codes.  But, we can re-use
> gcc/gimple.h:gimple_statement_omp as basis for OpenACC codes, avoiding
> gcc/gimple.h:gimple_statement_acc,
> gcc/gsstruct.def:gimple_statement_acc.
There is a problem with this approach: gimple_statement_omp is based on 
gimple_statement_base,
but we need gimple_statement_with_memory_ops_base for gimple_statement_acc.


> 
> The new gcc/diagnose-gotos.c should probably re-use/be merged with the
> existing omp-low.c:pass_diagnose_omp_blocks from which it duplicates.
Sure, it's planned.

 
> Your loop analysis and parallelization for OpenACC kernels constructs
> seems to be based on tree-parloops.c code, which should also be
> properly shared instead of duplicating it.
> 
> In gcc/tree-inline.c:estimate_num_insns there is OpenACC cost
> management not re-using OpenMP's (which might make sense to do?) -- but
> I can't see acc_cost being initialized anywhere?
Yes, these are planned too.


Best wishes,
Dmitri Botcharnikov


Reply via email to