public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750
@ 2021-05-27  5:17 cnsun at uwaterloo dot ca
  2021-05-27 14:17 ` [Bug c/100789] " marxin at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: cnsun at uwaterloo dot ca @ 2021-05-27  5:17 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 100789
           Summary: ICE: in gimplify_expr, at gimplify.c:14750
           Product: gcc
           Version: tree-ssa
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: cnsun at uwaterloo dot ca
  Target Milestone: ---

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/configure
--enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch
--prefix=/scratch/software/gcc-trunk --disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20210527 (experimental) [master revision
:d03f010a0:01c59ef2e5a59b44d2b662361196abb6be872a20] (GCC)

$ cat mutant.c
bar() { return __transaction_relaxed(0x1234567876543210LL << 32); }

$ gcc-trunk  mutant.c
mutant.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
    1 | bar() { return __transaction_relaxed(0x1234567876543210LL << 32); }
      | ^~~
mutant.c: In function ‘bar’:
mutant.c:1:59: warning: result of ‘1311768466852950544 << 32’ requires 94 bits
to represent, but ‘long long int’ only has 64 bits [-Wshift-overflow=]
    1 | bar() { return __transaction_relaxed(0x1234567876543210LL << 32); }
      |                                                           ^~
mutant.c:1:16: error: ‘__transaction_relaxed ’ without transactional memory
support enabled
    1 | bar() { return __transaction_relaxed(0x1234567876543210LL << 32); }
      |                ^~~~~~~~~~~~~~~~~~~~~
mutant.c:1:59: internal compiler error: in gimplify_expr, at gimplify.c:14750
    1 | bar() { return __transaction_relaxed(0x1234567876543210LL << 32); }
      |                                      ~~~~~~~~~~~~~~~~~~~~~^~~~~
0x6dffc4 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:14750
0xc4e997 gimplify_modify_expr
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:5824
0xc3e178 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:13965
0xc41aaa gimplify_stmt(tree_node**, gimple**)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:6883
0xc422de gimplify_bind_expr
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:1424
0xc3e513 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:14166
0xc41aaa gimplify_stmt(tree_node**, gimple**)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:6883
0xc40c58 gimplify_and_add(tree_node*, gimple**)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:492
0xc40c58 gimplify_and_return_first
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:504
0xc40c58 gimplify_transaction
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:13585
0xc40c58 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:14593
0xc3e37f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:14270
0xc4e997 gimplify_modify_expr
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:5824
0xc3e178 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:13965
0xc41aaa gimplify_stmt(tree_node**, gimple**)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:6883
0xc4d2cd gimplify_and_add(tree_node*, gimple**)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:492
0xc4d2cd gimplify_return_expr
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:1674
0xc3ee1f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:14227
0xc41aaa gimplify_stmt(tree_node**, gimple**)
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:6883
0xc422de gimplify_bind_expr
        /tmp/tmp.SQC1E9RsGE-gcc-builder/gcc/gcc/gimplify.c:1424
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

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

* [Bug c/100789] ICE: in gimplify_expr, at gimplify.c:14750
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
@ 2021-05-27 14:17 ` marxin at gcc dot gnu.org
  2021-05-27 14:31 ` mpolacek at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-05-27 14:17 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |mpolacek at gcc dot gnu.org
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-05-27
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r6-2312-g451b5e4830e34b0e.

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

* [Bug c/100789] ICE: in gimplify_expr, at gimplify.c:14750
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
  2021-05-27 14:17 ` [Bug c/100789] " marxin at gcc dot gnu.org
@ 2021-05-27 14:31 ` mpolacek at gcc dot gnu.org
  2021-08-30  3:53 ` [Bug c/100789] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2021-05-27 14:31 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Mine then.

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

* [Bug c/100789] [9/10/11/12 Regression] ICE: in gimplify_expr, at gimplify.c:14750
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
  2021-05-27 14:17 ` [Bug c/100789] " marxin at gcc dot gnu.org
  2021-05-27 14:31 ` mpolacek at gcc dot gnu.org
@ 2021-08-30  3:53 ` pinskia at gcc dot gnu.org
  2021-08-30  3:57 ` [Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-30  3:53 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.5
            Summary|ICE: in gimplify_expr, at   |[9/10/11/12 Regression]
                   |gimplify.c:14750            |ICE: in gimplify_expr, at
                   |                            |gimplify.c:14750
           Keywords|                            |ice-on-valid-code

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The code is valid if you use -fgnu-tm and it works with the C++ front-end too.

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

* [Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (2 preceding siblings ...)
  2021-08-30  3:53 ` [Bug c/100789] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
@ 2021-08-30  3:57 ` pinskia at gcc dot gnu.org
  2022-01-17 14:38 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-30  3:57 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11/12 Regression]     |[9/10/11/12 Regression] ICE
                   |ICE: in gimplify_expr, at   |with __transaction_relaxed
                   |gimplify.c:14750            |and left shit signed
                   |                            |overflow

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Most likely due to this part of the patch from c-typeck.c:
+             else if (TREE_CODE (op0) == INTEGER_CST
+                      && maybe_warn_shift_overflow (location, op0, op1)
+                      && flag_isoc99)
+               int_const = false;

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

* [Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (3 preceding siblings ...)
  2021-08-30  3:57 ` [Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow pinskia at gcc dot gnu.org
@ 2022-01-17 14:38 ` rguenth at gcc dot gnu.org
  2022-03-29 18:04 ` mpolacek at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-17 14:38 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|tree-ssa                    |12.0
           Priority|P3                          |P2

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

* [Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (4 preceding siblings ...)
  2022-01-17 14:38 ` rguenth at gcc dot gnu.org
@ 2022-03-29 18:04 ` mpolacek at gcc dot gnu.org
  2022-05-27  9:45 ` [Bug c/100789] [10/11/12/13 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-03-29 18:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
The problem is that we're creating a C_MAYBE_CONST_EXPR inside of a
TRANSATION_EXPR, but c_fully_fold doesn't walk into TRANSATION_EXPRs, so the
C_MAYBE_CONST_EXPR leaks into the gimplifier.

__transaction_relaxed
{
  <<< Unknown tree: c_maybe_const_expr

    8526495038820057088 >>>
}

I don't know if it's OK to fold the insides of a TRANSATION_EXPR.  Another
option would to avoid creating C_MAYBE_CONST_EXPRs inside a transaction expr,
like in_late_binary_op?

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

* [Bug c/100789] [10/11/12/13 Regression] ICE with __transaction_relaxed and left shit signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (5 preceding siblings ...)
  2022-03-29 18:04 ` mpolacek at gcc dot gnu.org
@ 2022-05-27  9:45 ` rguenth at gcc dot gnu.org
  2022-06-28 10:45 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27  9:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.5                         |10.4

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9 branch is being closed

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

* [Bug c/100789] [10/11/12/13 Regression] ICE with __transaction_relaxed and left shit signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (6 preceding siblings ...)
  2022-05-27  9:45 ` [Bug c/100789] [10/11/12/13 " rguenth at gcc dot gnu.org
@ 2022-06-28 10:45 ` jakub at gcc dot gnu.org
  2023-07-07 10:40 ` [Bug c/100789] [11/12/13/14 Regression] ICE with __transaction_relaxed and left shift " rguenth at gcc dot gnu.org
  2024-01-23 14:23 ` mpolacek at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.4                        |10.5

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.

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

* [Bug c/100789] [11/12/13/14 Regression] ICE with __transaction_relaxed and left shift signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (7 preceding siblings ...)
  2022-06-28 10:45 ` jakub at gcc dot gnu.org
@ 2023-07-07 10:40 ` rguenth at gcc dot gnu.org
  2024-01-23 14:23 ` mpolacek at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07 10:40 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.5                        |11.5

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10 branch is being closed.

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

* [Bug c/100789] [11/12/13/14 Regression] ICE with __transaction_relaxed and left shift signed overflow
  2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
                   ` (8 preceding siblings ...)
  2023-07-07 10:40 ` [Bug c/100789] [11/12/13/14 Regression] ICE with __transaction_relaxed and left shift " rguenth at gcc dot gnu.org
@ 2024-01-23 14:23 ` mpolacek at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2024-01-23 14:23 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

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

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

end of thread, other threads:[~2024-01-23 14:23 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-27  5:17 [Bug c/100789] New: ICE: in gimplify_expr, at gimplify.c:14750 cnsun at uwaterloo dot ca
2021-05-27 14:17 ` [Bug c/100789] " marxin at gcc dot gnu.org
2021-05-27 14:31 ` mpolacek at gcc dot gnu.org
2021-08-30  3:53 ` [Bug c/100789] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
2021-08-30  3:57 ` [Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow pinskia at gcc dot gnu.org
2022-01-17 14:38 ` rguenth at gcc dot gnu.org
2022-03-29 18:04 ` mpolacek at gcc dot gnu.org
2022-05-27  9:45 ` [Bug c/100789] [10/11/12/13 " rguenth at gcc dot gnu.org
2022-06-28 10:45 ` jakub at gcc dot gnu.org
2023-07-07 10:40 ` [Bug c/100789] [11/12/13/14 Regression] ICE with __transaction_relaxed and left shift " rguenth at gcc dot gnu.org
2024-01-23 14:23 ` mpolacek 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).