Add zero-cost loops for xtensa port.
authorFelix Yang <felix.yang@huawei.com>
Thu, 30 Oct 2014 21:37:45 +0000 (21:37 +0000)
committerSterling Augustine <sterling@gcc.gnu.org>
Thu, 30 Oct 2014 21:37:45 +0000 (21:37 +0000)
commit6383386a1b77bd5cda40ca0138adfc2365d5479d
tree5b54fa65e69a2cb65d5ef27190e65af9c15593b7
parent77893d0b7564bdab6e32d1efeda825c5b64c53b1
Add zero-cost loops for xtensa port.

2014-10-10  Felix Yang  <felix.yang@huawei.com>

* config/xtensa/xtensa.h (TARGET_LOOPS): New Macro.
* config/xtensa/xtensa.c: Include dumpfile.h and hw-doloop.h.
(xtensa_reorg, xtensa_reorg_loops): New.
(xtensa_can_use_doloop_p, xtensa_invalid_within_doloop): New.
(hwloop_optimize, hwloop_fail, hwloop_pattern_reg): New.
(xtensa_emit_loop_end): Emit the zero-overhead loop end label.
(xtensa_doloop_hooks): Define.
* config/xtensa/xtensa.md (doloop_end, loop_end): New
(zero_cost_loop_start): Rewritten.
(zero_cost_loop_end): Likewise.

From-SVN: r216945
gcc/ChangeLog
gcc/config/xtensa/xtensa.c
gcc/config/xtensa/xtensa.h
gcc/config/xtensa/xtensa.md