* config/ms1/ms1.md (UNSPEC_LOOP): New constant.
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Dec 2005 13:46:18 +0000 (13:46 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Dec 2005 13:46:18 +0000 (13:46 +0000)
commit92ee73b27e8d2ae3645a7fcb101b3e27fa255722
tree40fcec927a856ddf45a9211bf8091c6c96d814ef
parenteb289e6b6834810d66d25e7d9dac4653c458e3cc
* config/ms1/ms1.md (UNSPEC_LOOP): New constant.
(loop_end, loop_init, doloop_end): New insns.
* config/ms1/ms1.h (LOOP_FIRST, LOOP_LAST): New.
(SPECIAL_REG_FIRST, FIRST_PSEUDO_REGISTER): Adjust.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
(REG_CLASS_CONTENTS, REGISTER_NAMES): Adjust.
* config/ms1/ms1.c: #include basic-block.h
(struct machine_function): Add has_loops field.
(ms1_add_loop): New.
(MAX_LOOP_DEPTH, MAX_LOO_LENGTH): New.
(struct loop_info, struct loop_work): New.
(ms1_loop_nesting, ms1_block_length, ms1_scan_loop): New workers.
(ms1_reorg_loops): New loop optimization.
(ms1_machine_reorg): Call it.
* config/ms1/ms1-protos.h (ms1_add_loop): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108229 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/ms1/ms1-protos.h
gcc/config/ms1/ms1.c
gcc/config/ms1/ms1.h
gcc/config/ms1/ms1.md