diff options
author | Roger Sayle <roger@eyesopen.com> | 2005-05-30 18:02:08 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2005-05-30 18:02:08 +0000 |
commit | 385e0e0837c50581978a97fd16fdc2465462197d (patch) | |
tree | 4a8e9e9d59588ac48464063dc8028433429b91f7 /gcc/loop.c | |
parent | c13971f3893b89a3e0d23a406a57909535329e10 (diff) | |
download | gcc-385e0e0837c50581978a97fd16fdc2465462197d.zip gcc-385e0e0837c50581978a97fd16fdc2465462197d.tar.gz gcc-385e0e0837c50581978a97fd16fdc2465462197d.tar.bz2 |
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
Diffstat (limited to 'gcc/loop.c')
0 files changed, 0 insertions, 0 deletions