This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
PR 18294: help with rtl-optimization bug on IA64
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 8 Nov 2004 10:55:28 -0800 (PST)
- Subject: PR 18294: help with rtl-optimization bug on IA64
- Reply-to: sje at cup dot hp dot com
I was wondering if anyone could offer some advice on PR 18294. It
breaks the IA64 HP-UX bootstrap and I cut the problem down to a
small test case (see the defect report) and then tracked the problem
down to the code that is inside the POINTERS_EXTEND_UNSIGNED ifdef in
instantiate_virtual_regs_1 (function.c).
This code is supposed to turn (plus (subreg (virtual-reg)) (const_int))
into (subreg (plus (virtual-reg)) (const_int)) but it is somehow messing
up the control flow graph when it does this. If I put a call to
verify_flow_info() just before the "return 1" in this block of code I
get an ICE showing that the cfg has been corrupted. Unfortunately I
cannot figure out why. If I completely comment out this ifdef'ed code
then the bootstrap works fine but we may be missing an optimization
opportunity.
Any ideas or suggestions?
Steve Ellcey
sje@cup.hp.com