public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "matz at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/34250] ICE in find_constant_pool_ref
Date: Wed, 28 Nov 2007 15:29:00 -0000	[thread overview]
Message-ID: <20071128152858.16148.qmail@sourceware.org> (raw)
In-Reply-To: <bug-34250-12182@http.gcc.gnu.org/bugzilla/>



------- Comment #4 from matz at gcc dot gnu dot org  2007-11-28 15:28 -------
What I meant with "normal" code is by using inline asms.  As it stands it's
impossible to write inline asm instructions having more than one literal pool
operand.  I consider this normal use of the capabilities GCC gives you.

However with one of our internal patches (which enforces arguments live) we
use inline asms internally, which then happens to hit this problem fairly
easily.  That's how we triggered this and why I investigated there.

For reference, our hacky approach to enforce liveness of arguments is by
using them as operands of an inline asm, which we insert as first instruction
in every function.  When those are inlined and arguments seen as constant
(e.g. function names, __func__) it quickly happens that there are more than
one constant pool ref in one inline asm.

But I see what you are saying regarding the possibility of overflowing the
pool inside one instruction.  Will the compiler ICE in that situation or
will it silently generate wrong code?  If the former I'm willing to accept
that risk for now, after all split constant pools are relatively new anyway,
IIRC.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34250


  parent reply	other threads:[~2007-11-28 15:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-27 18:27 [Bug target/34250] New: " matz at gcc dot gnu dot org
2007-11-27 19:02 ` [Bug target/34250] " matz at gcc dot gnu dot org
2007-11-27 19:05 ` matz at gcc dot gnu dot org
2007-11-28 13:36 ` uweigand at gcc dot gnu dot org
2007-11-28 15:29 ` matz at gcc dot gnu dot org [this message]
2007-11-28 15:41 ` rguenth at gcc dot gnu dot org
2007-11-28 15:59 ` matz at gcc dot gnu dot org
2007-11-28 17:12 ` uweigand at gcc dot gnu dot org
2007-12-08 22:36 ` pinskia at gcc dot gnu dot 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=20071128152858.16148.qmail@sourceware.org \
    --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).