This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: That annoying dnrm2.f failure on i386
- To: Bernd Schmidt <crux at pool dot informatik dot rwth-aachen dot de>
- Subject: Re: That annoying dnrm2.f failure on i386
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sat, 28 Mar 1998 01:11:36 -0700
- cc: egcs at cygnus dot com
- Reply-To: law at cygnus dot com
> * basic-block.h (basic_block_computed_jump_target): Declare.
> * flags.h: (current_function_has_computed_jump): Declare.
> * flow.c: (basic_block_computed_jump_target): Define.
> (flow_analysis): Allocate it. Set current_function_has_computed_jump
> to 0.
> (find_basic_blocks): Set current_function_has_computed_jump and
> elements of basic_block_computed_jump_target to 1 as appropriate.
> * function.c: (current_function_has_computed_jump): Define.
> * global.c (global_conflicts): Don't allocate pseudos into stack regs
> at the start of a block that is reachable by a computed jump.
> * reg-stack.c (stack_reg_life_analysis): If must restart, do so
> immediately.
> (subst_stack_regs): Undo change from Sep 4 1997.
> (uses_reg_or_mem): Now unused, deleted.
> * stupid.c (stupid_life_analysis): Compute
> current_function_has_computed_jump.
> (stupid_find_reg): Don't allocate stack regs if the function has a
> computed goto.
I've installed a slightly modified version of this patch.
In particular other passes can make use of this information
(haifa-sched.c & loop.c for example). So I've make sure the
values are computed regardless of STACK_REGS and updated the
comments appropriately.
Thanks!
jeff