public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: bangerth@dealii.org
To: gabor@mac.com, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
	nobody@gcc.gnu.org
Subject: Re: target/9929: [3.3/3.4 regression] Can't find spill register
Date: Tue, 04 Mar 2003 15:22:00 -0000	[thread overview]
Message-ID: <20030304152252.21949.qmail@sources.redhat.com> (raw)

Old Synopsis: ICE when compiling innocent function
New Synopsis: [3.3/3.4 regression] Can't find spill register

State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Tue Mar  4 15:22:51 2003
State-Changed-Why:
    Confirmed. Here's a reduced example:
    ---------------------------
    typedef struct X {
        char * ptr;
        int    offset;
    } X_t;
    
    X_t foo(X_t *d1, char * A0);
    
    void bar() {
      X_t l1, l2, l3;
      l3 = foo(&l1, l2.ptr);
      (*(X_t *)(l2.ptr + l3.offset)) = l1;
    }
    -----------------------------
    
    It compiles cleanly with 3.2.2, but fails with 3.3 and
    present mainline when using -O2 -fPIC:
    g/x> /home/bangerth/bin/gcc-3.3-pre/bin/gcc -c -O2 -fPIC x.c
    x.c: In function `bar':
    x.c:12: error: unable to find a register to spill in class `GENERAL_REGS'
    x.c:12: error: this is the insn:
    (insn:HI 18 28 20 0 0x4014f2ec (set (mem/s:DI (plus:SI (subreg:SI (reg/v:DI 60) 0)
                    (subreg:SI (reg/v:DI 61) 4)) [2 S8 A32])
            (reg:DI 63)) 59 {*movdi_2} (insn_list 15 (insn_list 17 (nil)))
        (expr_list:REG_DEAD (reg:DI 63)
            (expr_list:REG_DEAD (reg/v:DI 60)
                (expr_list:REG_DEAD (reg/v:DI 61)
                    (nil)))))
    x.c:12: confused by earlier errors, bailing out
    g/x>
    g/x>
    g/x> /home/bangerth/bin/gcc-3.4-pre/bin/gcc -c -O2 -fPIC x.c
    x.c: In function `bar':
    x.c:12: error: unable to find a register to spill in class `GENERAL_REGS'
    x.c:12: error: this is the insn:
    (insn:HI 18 28 20 0 0x401532c0 (set (mem/s:DI (plus:SI (subreg:SI (reg/v:DI 60 [ l2 ]) 0)
                    (subreg:SI (reg/v:DI 61 [ l3 ]) 4)) [2 S8 A32])
            (reg:DI 63 [ l1 ])) 60 {*movdi_2} (insn_list 15 (insn_list 17 (nil)))
        (expr_list:REG_DEAD (reg:DI 63 [ l1 ])
            (expr_list:REG_DEAD (reg/v:DI 60 [ l2 ])
                (expr_list:REG_DEAD (reg/v:DI 61 [ l3 ])
                    (nil)))))
    x.c:12: internal compiler error: in spill_failure, at reload1.c:1919
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9929


             reply	other threads:[~2003-03-04 15:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-04 15:22 bangerth [this message]
2003-03-24 20:16 Steven Bosscher
2003-03-24 22:46 Janis Johnson
2003-03-24 23:46 Jan Hubicka

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=20030304152252.21949.qmail@sources.redhat.com \
    --to=bangerth@dealii.org \
    --cc=gabor@mac.com \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc-gnats@gcc.gnu.org \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@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).