public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at ucw dot cz" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/97172] [11 Regression] ICE: tree code ‘ssa_name’ is not supported in LTO streams since r11-3303-g6450f07388f9fe57
Date: Sun, 18 Oct 2020 19:58:10 +0000	[thread overview]
Message-ID: <bug-97172-4-3df2PHt8ma@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-97172-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #10 from Jan Hubicka <hubicka at ucw dot cz> ---
> Unsharing the expression in the front end, before it's added to the attribute,
> prevents this ICE, but I wouldn't expect that to be necessary.  From what
> little I know about how garbage collection in GCC works I would think nodes
> would only become eligible for collection after they were no longer referenced.

No longer referened by something visible to the garbage collector :)
But if the attribute is linked from the decl the garbage collector
should see it.  Did you watchpoint the pointer? Perhaps the expression
is used by somehwere else and we fold/gimplify it to the version having
SSA name in it.
> 
> Unsharing also doesn't solve the problem in pr97133 where the expression that
> causes the LTO ICE is a BIND_EXPR (bug 97133 comment #4 has more detail).  Why
> is BIND_EXPR not handled by the streamer?  Is it because it references the
> function's parameter?  Would that make other expressions that reference
> function parameters a problem too? (In my limited testing most don't seem to
> be.)

This is similar to why it does not stream SSA_NAMEs. BIND_EXPR is local
to function body and thus it can not be pointed to from anything in the
global stream.  If one wants to take the random expression from funtion
body and put it into global datastrutures, one has to use
unshare_expr_without_location which strips away the pointer to blocks.

Honza

  parent reply	other threads:[~2020-10-18 19:58 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-23  7:25 [Bug c/97172] New: " marxin at gcc dot gnu.org
2020-09-23  7:25 ` [Bug c/97172] " marxin at gcc dot gnu.org
2020-09-23  8:02 ` rguenth at gcc dot gnu.org
2020-09-23 23:00 ` msebor at gcc dot gnu.org
2020-10-01 13:46 ` hubicka at gcc dot gnu.org
2020-10-01 15:36 ` msebor at gcc dot gnu.org
2020-10-01 15:39 ` msebor at gcc dot gnu.org
2020-10-05 20:18 ` msebor at gcc dot gnu.org
2020-10-12 11:48 ` rguenth at gcc dot gnu.org
2020-10-15 15:10 ` marxin at gcc dot gnu.org
2020-10-18 16:42 ` hubicka at gcc dot gnu.org
2020-10-18 17:55 ` msebor at gcc dot gnu.org
2020-10-18 19:58 ` hubicka at ucw dot cz [this message]
2020-11-10  9:02 ` marxin at gcc dot gnu.org
2020-11-30 15:00 ` rguenth at gcc dot gnu.org
2020-11-30 15:29 ` msebor at gcc dot gnu.org
2020-11-30 17:32 ` msebor at gcc dot gnu.org
2020-11-30 21:02 ` hubicka at ucw dot cz
2020-12-01  1:11 ` msebor at gcc dot gnu.org
2020-12-01  7:42 ` rguenth at gcc dot gnu.org
2020-12-01 16:12 ` msebor at gcc dot gnu.org
2020-12-01 16:16   ` Jan Hubicka
2020-12-01 16:16 ` hubicka at ucw dot cz
2020-12-02  7:38 ` rguenther at suse dot de
2020-12-18 12:58 ` marxin at gcc dot gnu.org
2020-12-18 17:02 ` msebor at gcc dot gnu.org
2020-12-19  0:55 ` msebor at gcc dot gnu.org
2021-01-22  9:05 ` ktkachov at gcc dot gnu.org
2021-01-26 18:57 ` jakub at gcc dot gnu.org
2021-01-27 22:51 ` msebor at gcc dot gnu.org
2021-02-01 16:10 ` cvs-commit at gcc dot gnu.org
2021-02-01 16:12 ` msebor at gcc dot gnu.org
2021-02-19  2:28 ` msebor at gcc dot gnu.org
2021-02-19 18:07 ` cvs-commit at gcc dot gnu.org
2021-02-23 14:38 ` marxin at gcc dot gnu.org
2021-02-23 14:49 ` rguenth at gcc dot gnu.org
2021-02-23 17:16 ` msebor at gcc dot gnu.org
2021-02-23 19:20 ` msebor at gcc dot gnu.org
2021-02-24 15:59 ` cvs-commit at gcc dot gnu.org
2021-02-24 16:01 ` msebor at gcc dot gnu.org
2021-02-25 16:03 ` cvs-commit 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-97172-4-3df2PHt8ma@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).