public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/114278] ICE: in extract_bit_field_1, at expmed.cc:1838 with memmove, _BitInt() and -O2 -fno-tree-dce -fno-tree-dse -fno-tree-ccp -m32
Date: Mon, 11 Mar 2024 10:02:03 +0000	[thread overview]
Message-ID: <bug-114278-4-wnen70YXAW@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-114278-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #3 from GCC 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:dbe5ccda4dbbd064c703cd3ab2a58ea40f08dd1a

commit r14-9424-gdbe5ccda4dbbd064c703cd3ab2a58ea40f08dd1a
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Mon Mar 11 11:00:54 2024 +0100

    bitint: Avoid rewriting large/huge _BitInt vars into SSA after bitint
lowering [PR114278]

    The following testcase ICEs, because update-address-taken subpass of
    fre5 rewrites
      _BitInt(128) b;
      vector(16) unsigned char _3;

      <bb 2> [local count: 1073741824]:
      _3 = MEM <vector(16) unsigned char> [(char * {ref-all})p_2(D)];
      MEM <vector(16) unsigned char> [(char * {ref-all})&b] = _3;
      b ={v} {CLOBBER(eos)};
    to
      _BitInt(128) b;
      vector(16) unsigned char _3;

      <bb 2> [local count: 1073741824]:
      _3 = MEM <vector(16) unsigned char> [(char * {ref-all})p_2(D)];
      b_5 = VIEW_CONVERT_EXPR<_BitInt(128)>(_3);
    but we can't have large/huge _BitInt vars in SSA form after the bitint
    lowering except for function arguments loaded from memory, as expansion
    isn't able to deal with those, it relies on bitint lowering to lower
    those operations.
    The following patch fixes that by setting DECL_NOT_GIMPLE_REG_P for
    large/huge _BitInt vars after bitint lowering, such that we don't
    rewrite them into SSA form.

    2024-03-11  Jakub Jelinek  <jakub@redhat.com>

            PR tree-optimization/114278
            * tree-ssa.cc (maybe_optimize_var): If large/huge _BitInt vars are
no
            longer addressable, set DECL_NOT_GIMPLE_REG_P on them.

            * gcc.dg/bitint-99.c: New test.

  parent reply	other threads:[~2024-03-11 10:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-08  6:44 [Bug rtl-optimization/114278] New: " zsojka at seznam dot cz
2024-03-08 12:47 ` [Bug rtl-optimization/114278] " jakub at gcc dot gnu.org
2024-03-08 13:36 ` [Bug tree-optimization/114278] " jakub at gcc dot gnu.org
2024-03-08 15:23 ` law at gcc dot gnu.org
2024-03-11 10:02 ` cvs-commit at gcc dot gnu.org [this message]
2024-03-11 10:02 ` jakub at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-114278-4-wnen70YXAW@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).