Summary: | get_secondary_mem called during reload_as_needed | ||
---|---|---|---|
Product: | gcc | Reporter: | Alan Modra <amodra> |
Component: | rtl-optimization | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amodra, gcc-bugs |
Priority: | P3 | Keywords: | ice-on-valid-code |
Version: | 3.2.1 | ||
Target Milestone: | 3.4.0 | ||
Host: | Target: | powerpc64-linux-gnu | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: |
Description
Alan Modra
2002-10-23 18:56:01 UTC
Fix: I'm going to poke at the gcse problem, but would appreciate pointers. mainline gcc doesn't exhibit this ICE. From: Alan Modra <amodra@bigpond.net.au> To: gcc-gnats@gcc.gnu.org Cc: Subject: Re: optimization/8328: powerpc64 ICE in reload Date: Thu, 24 Oct 2002 15:05:03 +0930 On Thu, Oct 24, 2002 at 11:18:38AM +0930, Alan Modra wrote: > holding a common subexpression, "(void *) &loc". The first one being > that gcse incorrectly inserts code around a label. We replace No, I was wrong about this. The inserted code is actually correct, if not ideal. > Note how insn 383 has moved before "exit". Also, I believe that gcse > should be using register DI 131 here as that is the one used in a > previous replacement of "(void *) &loc". And this one is related to this FIXME in gcse.c, I think: /* FIXME: If it turns out that the insn isn't deletable, then we may have unnecessarily extended register lifetimes and made things worse. */ So we're down to just the reload problem. -- Alan Modra IBM OzLabs - Linux Technology Centre State-Changed-From-To: open->analyzed State-Changed-Why: Already analyzed by Alan. Fixed for 3.4. Subject: Bug 8328 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_2-rhl8-branch Changes by: jakub@gcc.gnu.org 2005-01-05 09:17:00 Modified files: gcc : ChangeLog gcc/config/rs6000: rs6000.md gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: pr8328.c Log message: 2004-07-25 David Edelsohn <edelsohn@gnu.org> PR target/16239 * config/rs6000/rs6000.md (movdi_internal64): Further disparage f->f. 2002-11-06 David Edelsohn <edelsohn@gnu.org> PR target/8480, optimization/8328 * config/rs6000/rs6000.md (movdi_internal64): Discourage FPR to FPR moves. 2004-12-22 Ben Elliston <bje@au.ibm.com> PR optimization/8328 * gcc.dg/pr8328.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.13152.2.657.2.27.2.208&r2=1.13152.2.657.2.27.2.209 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.md.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.170.2.11.4.12&r2=1.170.2.11.4.13 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.1672.2.166.2.8.2.89&r2=1.1672.2.166.2.8.2.90 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/pr8328.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.2.1 |