target/9929: [3.3/3.4 regression] Can't find spill register

Janis Johnson janis187@us.ibm.com
Tue Mar 25 00:55:00 GMT 2003


On Mon, Mar 24, 2003 at 09:00:40PM +0100, Steven Bosscher wrote:
> 
> Janis, can you hunt this one?

The regression showed up with this patch:

Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>

	* local-alloc.c (local_alloc): Avoid call of update_equiv_regs
	when not optimizing.

	* toplev.c (rest_of_compilation): Cann mark_constant_function
	only when optimizing.

	* flow.c (calculate_global_regs_live): Ensure that all AUX fields
	are NULL.

	* cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
	(thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
	(try_optimize_cfg): clear all AUX fields.

	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
	(ix86_address_cost): Be prepared for SUBREGed registers.
	(legitimate_address_p): Accept SUBREGed registers.

The hunt used Wolfgang's reduced test case with "-O -fPIC" on
i686-pc-linux-gnu.



More information about the Gcc-bugs mailing list