public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: java-prs@gcc.gnu.org
Subject: [Bug middle-end/32758] [4.3 Regression] ecj1 hangs
Date: Wed, 29 Aug 2007 11:18:00 -0000	[thread overview]
Message-ID: <20070829111848.19132.qmail@sourceware.org> (raw)
In-Reply-To: <bug-32758-10129@http.gcc.gnu.org/bugzilla/>



------- Comment #21 from jakub at gcc dot gnu dot org  2007-08-29 11:18 -------
The major difference between say i?86 or x86_64 and ppc here is that
on the former two the hard frame pointer is actually visibly, not just
artificially, used when restoring the stack pointer.  ppc restores the
stack pointer from the memory value stwux instruction creates and so it
doesn't visibly use hard frame pointer.
While rest_of_handle_ud_dce calls mark_artificial_uses and that way marks
all the instructions that define the artificial registers.  On the other
side, dce_process_block from fast_dce will not mark the instructions that
define the artificial uses, instead or all the artificial register bits into
local_live bitmap.
31 (ppc hard frame pointer) is an artificial use, so dce_process_block
sets bit 31 in local_live during initialization (i.e. at the end of the basic
block).  But then goes through insns backwards and finds
(insn 50 49 51 2 l2.c:9 (set (reg/f:DI 31 31)
        (mem/c:DI (plus:DI (reg/f:DI 1 1)
                (const_int -8 [0xfffffffffffffff8])) [5 S8 A8])) -1 (nil))
which restores the saved hard frame pointer in the epilogue.  This definition
clears bit 31 from the local_live bitmap and as everything is one basic block,
there is nothing else which will prevent removing the hard frame pointer
initialization.

df_simulate_one_insn_forwards and df_simulate_one_insn_backwards
(why we have the former when nothing ever uses it?) both call
df_simulate_fixup_sets to fix this up, shouldn't dce_process_block call that
too?


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dberlin at gcc dot gnu dot
                   |                            |org, bonzini at gnu dot org
           Priority|P3                          |P1


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


  parent reply	other threads:[~2007-08-29 11:18 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-13 18:27 [Bug java/32758] New: " dir at lanl dot gov
2007-07-15 21:03 ` [Bug java/32758] " pinskia at gcc dot gnu dot org
2007-07-16 12:32 ` dir at lanl dot gov
2007-07-16 12:35 ` dir at lanl dot gov
2007-07-16 12:48 ` dir at lanl dot gov
2007-07-24 14:33 ` tromey at gcc dot gnu dot org
2007-07-25 12:56 ` dir at lanl dot gov
2007-08-03 14:03 ` dir at lanl dot gov
2007-08-06 20:34 ` andreast at gcc dot gnu dot org
2007-08-08  8:48 ` aph at gcc dot gnu dot org
2007-08-14  1:11 ` [Bug middle-end/32758] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-08-24 21:05 ` andreast at gcc dot gnu dot org
2007-08-26 21:28 ` andreast at gcc dot gnu dot org
2007-08-27  7:57 ` andreast at gcc dot gnu dot org
2007-08-27  7:58 ` andreast at gcc dot gnu dot org
2007-08-28 11:44 ` aph at gcc dot gnu dot org
2007-08-28 12:16 ` rguenth at gcc dot gnu dot org
2007-08-28 18:44 ` andreast at gcc dot gnu dot org
2007-08-28 19:38 ` jakub at gcc dot gnu dot org
2007-08-28 21:01 ` andreast at gcc dot gnu dot org
2007-08-29  8:07 ` jakub at gcc dot gnu dot org
2007-08-29  8:52 ` jakub at gcc dot gnu dot org
2007-08-29 11:18 ` jakub at gcc dot gnu dot org [this message]
2007-08-29 11:41 ` jakub at gcc dot gnu dot org
2007-08-29 11:47 ` paolo dot bonzini at lu dot unisi dot ch
2007-08-29 12:15 ` paolo dot bonzini at lu dot unisi dot ch
2007-08-29 13:26 ` jakub at gcc dot gnu dot org
2007-08-29 13:56 ` jakub at gcc dot gnu dot org
2007-08-29 14:12 ` bonzini at gnu dot org
2007-08-29 14:14 ` bonzini at gnu dot org
2007-08-29 14:16 ` bonzini at gnu dot org
2007-08-29 15:34 ` zadeck at naturalbridge dot com
2007-08-29 20:17 ` andreast at gcc dot gnu dot org
2007-08-30  8:27 ` jakub at gcc dot gnu dot org
2007-08-30  8:43 ` jakub 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=20070829111848.19132.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=java-prs@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).