re PR rtl-optimization/15422 (fmod loop exposes non-efficient code generation in...
authorRoger Sayle <roger@eyesopen.com>
Mon, 30 May 2005 18:02:08 +0000 (18:02 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Mon, 30 May 2005 18:02:08 +0000 (18:02 +0000)
commit385e0e0837c50581978a97fd16fdc2465462197d
tree4a8e9e9d59588ac48464063dc8028433429b91f7
parentc13971f3893b89a3e0d23a406a57909535329e10
re PR rtl-optimization/15422 (fmod loop exposes non-efficient code generation in reg-stack.c)

PR rtl-optimization/15422
* reg-stack.c (starting_stack_p): New static global.
(straighten_stack): Delete prototype. Change to update the stack
before the current insn.
(subst_stack_regs): Update call to straighten stack.
(emit_swap_insn): Delete prototype.  For the first insn in a
basic block, update stack_in instead of emitting a real swap.
(change_stack): When changing the stack before the first insn
in a basic block, update stack_in instead of emitting real code.
(compensate_edges): Clear starting_stack_p during compensation.
(convert_regs_1): Keep track of starting_stack_p whilst processing
a basic block.

From-SVN: r100370
gcc/ChangeLog
gcc/reg-stack.c