[Bug fortran/102330] [12 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3932 since r12-1139-gf6bf436d9ab907d0

tschwinge at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Sep 15 10:27:56 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102330

Thomas Schwinge <tschwinge at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jules at gcc dot gnu.org,
                   |                            |tschwinge at gcc dot gnu.org

--- Comment #5 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #4)
> Just
> program p
>   !$omp taskloop lastprivate(i)
>   do i = 1, 8
>   end do
>   !$acc parallel loop
>   do i = 1, 8
>   end do
> end
> is enough to reproduce it.

Confirmed.

With '-fopt-info-omp-all --param=openacc-privatization=noisy' we're told:
'note: variable ‘i’ in ‘private’ clause is candidate for adjusting OpenACC
privatization level', and...

(In reply to Richard Biener from comment #1)
> Confirmed.  omp expansion seems to introudce this non-gimple code and likely
> also makes 'i' not a register (for OACC):
> 
>   .data_dep.5D.4044 = .UNIQUE (OACC_PRIVATE, .data_dep.5D.4044, -1,
> &iD.4045);
> 
> but
> 
>   iD.4045 = 1 + .offset.9D.4049;
> 
> and
> 
>   iD.4045 = 1 + 8;
> 
> (which is also unfolded)

... indeed the ICE goes away if I force-disable 'OACC_PRIVATE' commit
29a2f51806c5b30e17a8d0e9ba7915a3c53c34ff "openacc: Add support for gang local
storage allocation in shared memory [PR90115]" as follows:

    --- gcc/omp-low.c
    +++ gcc/omp-low.c
    @@ -10494,6 +10494,8 @@ static bool
     oacc_privatization_candidate_p (const location_t loc, const tree c,
                                    const tree decl)
     {
    +  return false;

Hmm.  Julian CCed.


More information about the Gcc-bugs mailing list