public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1,  at cfgexpand.c:3972
@ 2020-12-07 17:50 gscfq@t-online.de
  2020-12-08  5:27 ` [Bug c/98183] " marxin at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: gscfq@t-online.de @ 2020-12-07 17:50 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98183
           Summary: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at
                    cfgexpand.c:3972
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Using testfile gcc/testsuite/c-c++-common/goacc/host_data-1.c
at -O0 affects versions down to gcc-6 (accepted by gcc-5) :


$ gcc-5           -c host_data-1.c -fopenacc -fexceptions -O0
$ gcc-11-20201206 -c host_data-1.c -fopenacc -fexceptions -O1
$
$ gcc-11-20201206 -c host_data-1.c -fopenacc -fexceptions -O0
during RTL pass: expand
host_data-1.c: In function 'foo':
host_data-1.c:25:1: internal compiler error: in expand_gimple_stmt_1, at
cfgexpand.c:3972
   25 | foo (float *x, float *y, float *yy)
      | ^~~
0x75312c expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3972
0x75312c expand_gimple_stmt
        ../../gcc/cfgexpand.c:3999
0x758257 expand_gimple_basic_block
        ../../gcc/cfgexpand.c:6043
0x75a8ee execute
        ../../gcc/cfgexpand.c:6727

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug c/98183] [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
@ 2020-12-08  5:27 ` marxin at gcc dot gnu.org
  2020-12-08  7:20 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-12-08  5:27 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-12-08
                 CC|                            |burnus at gcc dot gnu.org,
                   |                            |jakub at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, started with r10-5880-gd5c23c6ceacf666f. It was rejected before the
revision:

/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c: In
function ‘f’:
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c:15:38:
error: ‘if_present’ is not valid for ‘#pragma acc host_data’
   15 | #pragma acc host_data use_device(v1) if_present
      |                                      ^~~~~~~~~~
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c: In
function ‘foo’:
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c:40:39:
error: ‘if_present’ is not valid for ‘#pragma acc host_data’
   40 | #pragma acc host_data use_device(x,y) if_present
      |                                       ^~~~~~~~~~
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c:52:40:
error: ‘if_present’ is not valid for ‘#pragma acc host_data’
   52 | #pragma acc host_data use_device(x,yy) if_present
      |                                        ^~~~~~~~~~
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c:57:40:
error: ‘if’ is not valid for ‘#pragma acc host_data’
   57 | #pragma acc host_data use_device(x,yy) if(x != yy)
      |                                        ^~
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c:62:40:
error: ‘if_present’ is not valid for ‘#pragma acc host_data’
   62 | #pragma acc host_data use_device(x,yy) if_present if(x == yy)
      |                                        ^~~~~~~~~~
/home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/goacc/host_data-1.c:62:51:
error: ‘if’ is not valid for ‘#pragma acc host_data’
   62 | #pragma acc host_data use_device(x,yy) if_present if(x == yy)
      |                                                   ^~

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug c/98183] [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
  2020-12-08  5:27 ` [Bug c/98183] " marxin at gcc dot gnu.org
@ 2020-12-08  7:20 ` rguenth at gcc dot gnu.org
  2020-12-11 18:32 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-12-08  7:20 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.4
           Keywords|                            |openacc

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug c/98183] [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
  2020-12-08  5:27 ` [Bug c/98183] " marxin at gcc dot gnu.org
  2020-12-08  7:20 ` rguenth at gcc dot gnu.org
@ 2020-12-11 18:32 ` jakub at gcc dot gnu.org
  2020-12-11 18:35 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-11 18:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
With these options one of the #pragma omp return statements is not removed from
the IL, which must be done during the ompexp pass.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug c/98183] [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (2 preceding siblings ...)
  2020-12-11 18:32 ` jakub at gcc dot gnu.org
@ 2020-12-11 18:35 ` jakub at gcc dot gnu.org
  2020-12-11 18:53 ` jakub at gcc dot gnu.org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-11 18:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reduced testcase:
void bar (void);

void
foo (void)
{
#pragma acc data
  {
#pragma acc host_data 
    bar ();
  }
}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug c/98183] [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (3 preceding siblings ...)
  2020-12-11 18:35 ` jakub at gcc dot gnu.org
@ 2020-12-11 18:53 ` jakub at gcc dot gnu.org
  2020-12-11 18:55 ` [Bug middle-end/98183] [8/9/10/11 " jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-11 18:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And corresponding OpenMP -fopenmp -fexceptions -O0:

void bar ();
int x, y;

void
foo (void)
{
#pragma omp target data map(tofrom: x)
  {
#pragma omp target data map(tofrom: y)
    bar ();
  }
}

ICEs too.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (4 preceding siblings ...)
  2020-12-11 18:53 ` jakub at gcc dot gnu.org
@ 2020-12-11 18:55 ` jakub at gcc dot gnu.org
  2020-12-11 19:37 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-11 18:55 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |openmp
            Summary|[9/10/11 Regression] ICE in |[8/9/10/11 Regression] ICE
                   |expand_gimple_stmt_1, at    |in expand_gimple_stmt_1, at
                   |cfgexpand.c:3972            |cfgexpand.c:3972
          Component|c                           |middle-end

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The openmp testcase started ICEing already in 4.9.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (5 preceding siblings ...)
  2020-12-11 18:55 ` [Bug middle-end/98183] [8/9/10/11 " jakub at gcc dot gnu.org
@ 2020-12-11 19:37 ` jakub at gcc dot gnu.org
  2020-12-12  7:43 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-11 19:37 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 49748
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49748&action=edit
gcc11-pr98183.patch

The problem is that the data regions allow exceptions to be thrown, so #pragma
omp region for it is problematic.  But I think we do everything for the end of
the region by putting the end calls into finally during gimplification and so
we should just treat those regions post omp-lowering as standalone directives
like e.g. target update is.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (6 preceding siblings ...)
  2020-12-11 19:37 ` jakub at gcc dot gnu.org
@ 2020-12-12  7:43 ` cvs-commit at gcc dot gnu.org
  2020-12-14  9:57 ` [Bug middle-end/98183] [8/9/10 " jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-12-12  7:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:cc9b9c0b68233d38a26f7acd68cc5f9a8fc4d994

commit r11-5956-gcc9b9c0b68233d38a26f7acd68cc5f9a8fc4d994
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Dec 12 08:36:02 2020 +0100

    openmp, openacc: Fix up handling of data regions [PR98183]

    While the data regions (target data and OpenACC counterparts) aren't
    standalone directives, unlike most other OpenMP/OpenACC constructs
    we allow (apparently as an extension) exceptions and goto out of
    the block. During gimplification we place an *end* call into a finally
    block so that it is reached even on exceptions or goto out etc.).
    During omplower pass we then add paired #pragma omp return for them,
    but due to the exceptions because the region is not SESE we can end up
    with #pragma omp return appearing only conditionally in the CFG etc.,
    which the ompexp pass can't handle.
    For the ompexp pass, we actually don't care about the end part or about
    target data nesting, so we can treat it as standalone directive.

    2020-12-12  Jakub Jelinek  <jakub@redhat.com>

            PR middle-end/98183
            * omp-low.c (lower_omp_target): Don't add OMP_RETURN for
            data regions.
            * omp-expand.c (expand_omp_target): Don't try to remove
            OMP_RETURN for data regions.
            (build_omp_regions_1, omp_make_gimple_edges): Don't expect
            OMP_RETURN for data regions.

            * gcc.dg/gomp/pr98183.c: New test.
            * gcc.dg/goacc/pr98183.c: New test.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9/10 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (7 preceding siblings ...)
  2020-12-12  7:43 ` cvs-commit at gcc dot gnu.org
@ 2020-12-14  9:57 ` jakub at gcc dot gnu.org
  2021-01-06  9:39 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-12-14  9:57 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[8/9/10/11 Regression] ICE  |[8/9/10 Regression] ICE in
                   |in expand_gimple_stmt_1, at |expand_gimple_stmt_1, at
                   |cfgexpand.c:3972            |cfgexpand.c:3972

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9/10 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (8 preceding siblings ...)
  2020-12-14  9:57 ` [Bug middle-end/98183] [8/9/10 " jakub at gcc dot gnu.org
@ 2021-01-06  9:39 ` cvs-commit at gcc dot gnu.org
  2021-01-06  9:45 ` [Bug middle-end/98183] [8/9 " jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-06  9:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:8c1ed7223ad1bc19ed9c936ba496220c8ef673bc

commit r10-9220-g8c1ed7223ad1bc19ed9c936ba496220c8ef673bc
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Dec 12 08:36:02 2020 +0100

    openmp, openacc: Fix up handling of data regions [PR98183]

    While the data regions (target data and OpenACC counterparts) aren't
    standalone directives, unlike most other OpenMP/OpenACC constructs
    we allow (apparently as an extension) exceptions and goto out of
    the block. During gimplification we place an *end* call into a finally
    block so that it is reached even on exceptions or goto out etc.).
    During omplower pass we then add paired #pragma omp return for them,
    but due to the exceptions because the region is not SESE we can end up
    with #pragma omp return appearing only conditionally in the CFG etc.,
    which the ompexp pass can't handle.
    For the ompexp pass, we actually don't care about the end part or about
    target data nesting, so we can treat it as standalone directive.

    2020-12-12  Jakub Jelinek  <jakub@redhat.com>

            PR middle-end/98183
            * omp-low.c (lower_omp_target): Don't add OMP_RETURN for
            data regions.
            * omp-expand.c (expand_omp_target): Don't try to remove
            OMP_RETURN for data regions.
            (build_omp_regions_1, omp_make_gimple_edges): Don't expect
            OMP_RETURN for data regions.

            * gcc.dg/gomp/pr98183.c: New test.
            * gcc.dg/goacc/pr98183.c: New test.

    (cherry picked from commit cc9b9c0b68233d38a26f7acd68cc5f9a8fc4d994)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9 Regression] ICE in expand_gimple_stmt_1,  at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (9 preceding siblings ...)
  2021-01-06  9:39 ` cvs-commit at gcc dot gnu.org
@ 2021-01-06  9:45 ` jakub at gcc dot gnu.org
  2021-04-20 23:30 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-01-06  9:45 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[8/9/10 Regression] ICE in  |[8/9 Regression] ICE in
                   |expand_gimple_stmt_1, at    |expand_gimple_stmt_1, at
                   |cfgexpand.c:3972            |cfgexpand.c:3972

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 10.3+ too.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9 Regression] ICE in expand_gimple_stmt_1,  at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (10 preceding siblings ...)
  2021-01-06  9:45 ` [Bug middle-end/98183] [8/9 " jakub at gcc dot gnu.org
@ 2021-04-20 23:30 ` cvs-commit at gcc dot gnu.org
  2021-04-22 16:49 ` cvs-commit at gcc dot gnu.org
  2021-04-22 17:08 ` jakub at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-20 23:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:eca61f3b10c177258f09c28613062d2adb588984

commit r9-9401-geca61f3b10c177258f09c28613062d2adb588984
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Dec 12 08:36:02 2020 +0100

    openmp, openacc: Fix up handling of data regions [PR98183]

    While the data regions (target data and OpenACC counterparts) aren't
    standalone directives, unlike most other OpenMP/OpenACC constructs
    we allow (apparently as an extension) exceptions and goto out of
    the block. During gimplification we place an *end* call into a finally
    block so that it is reached even on exceptions or goto out etc.).
    During omplower pass we then add paired #pragma omp return for them,
    but due to the exceptions because the region is not SESE we can end up
    with #pragma omp return appearing only conditionally in the CFG etc.,
    which the ompexp pass can't handle.
    For the ompexp pass, we actually don't care about the end part or about
    target data nesting, so we can treat it as standalone directive.

    2020-12-12  Jakub Jelinek  <jakub@redhat.com>

            PR middle-end/98183
            * omp-low.c (lower_omp_target): Don't add OMP_RETURN for
            data regions.
            * omp-expand.c (expand_omp_target): Don't try to remove
            OMP_RETURN for data regions.
            (build_omp_regions_1, omp_make_gimple_edges): Don't expect
            OMP_RETURN for data regions.

            * gcc.dg/gomp/pr98183.c: New test.
            * gcc.dg/goacc/pr98183.c: New test.

    (cherry picked from commit 8c1ed7223ad1bc19ed9c936ba496220c8ef673bc)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9 Regression] ICE in expand_gimple_stmt_1,  at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (11 preceding siblings ...)
  2021-04-20 23:30 ` cvs-commit at gcc dot gnu.org
@ 2021-04-22 16:49 ` cvs-commit at gcc dot gnu.org
  2021-04-22 17:08 ` jakub at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-22 16:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:ac7f86aab4f8ca2db7cc7f97fcd2eebdec6be9d8

commit r8-10869-gac7f86aab4f8ca2db7cc7f97fcd2eebdec6be9d8
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Dec 12 08:36:02 2020 +0100

    openmp, openacc: Fix up handling of data regions [PR98183]

    While the data regions (target data and OpenACC counterparts) aren't
    standalone directives, unlike most other OpenMP/OpenACC constructs
    we allow (apparently as an extension) exceptions and goto out of
    the block. During gimplification we place an *end* call into a finally
    block so that it is reached even on exceptions or goto out etc.).
    During omplower pass we then add paired #pragma omp return for them,
    but due to the exceptions because the region is not SESE we can end up
    with #pragma omp return appearing only conditionally in the CFG etc.,
    which the ompexp pass can't handle.
    For the ompexp pass, we actually don't care about the end part or about
    target data nesting, so we can treat it as standalone directive.

    2020-12-12  Jakub Jelinek  <jakub@redhat.com>

            PR middle-end/98183
            * omp-low.c (lower_omp_target): Don't add OMP_RETURN for
            data regions.
            * omp-expand.c (expand_omp_target): Don't try to remove
            OMP_RETURN for data regions.
            (build_omp_regions_1, omp_make_gimple_edges): Don't expect
            OMP_RETURN for data regions.

            * gcc.dg/gomp/pr98183.c: New test.
            * gcc.dg/goacc/pr98183.c: New test.

    (cherry picked from commit 8c1ed7223ad1bc19ed9c936ba496220c8ef673bc)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug middle-end/98183] [8/9 Regression] ICE in expand_gimple_stmt_1,  at cfgexpand.c:3972
  2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
                   ` (12 preceding siblings ...)
  2021-04-22 16:49 ` cvs-commit at gcc dot gnu.org
@ 2021-04-22 17:08 ` jakub at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-22 17:08 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-04-22 17:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-07 17:50 [Bug c/98183] New: [9/10/11 Regression] ICE in expand_gimple_stmt_1, at cfgexpand.c:3972 gscfq@t-online.de
2020-12-08  5:27 ` [Bug c/98183] " marxin at gcc dot gnu.org
2020-12-08  7:20 ` rguenth at gcc dot gnu.org
2020-12-11 18:32 ` jakub at gcc dot gnu.org
2020-12-11 18:35 ` jakub at gcc dot gnu.org
2020-12-11 18:53 ` jakub at gcc dot gnu.org
2020-12-11 18:55 ` [Bug middle-end/98183] [8/9/10/11 " jakub at gcc dot gnu.org
2020-12-11 19:37 ` jakub at gcc dot gnu.org
2020-12-12  7:43 ` cvs-commit at gcc dot gnu.org
2020-12-14  9:57 ` [Bug middle-end/98183] [8/9/10 " jakub at gcc dot gnu.org
2021-01-06  9:39 ` cvs-commit at gcc dot gnu.org
2021-01-06  9:45 ` [Bug middle-end/98183] [8/9 " jakub at gcc dot gnu.org
2021-04-20 23:30 ` cvs-commit at gcc dot gnu.org
2021-04-22 16:49 ` cvs-commit at gcc dot gnu.org
2021-04-22 17:08 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).