aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/bfin/bfin.md
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2011-07-07 15:42:41 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2011-07-07 15:42:41 +0000
commit9d9c740d1efcd1bd597ef4734227996a8f69151d (patch)
treef9552f79c86d74255de5a691ef17a3767e4337fb /gcc/config/bfin/bfin.md
parentf0ea75811ae63b50e6c06ad694a993a8182ba012 (diff)
downloadgcc-9d9c740d1efcd1bd597ef4734227996a8f69151d.zip
gcc-9d9c740d1efcd1bd597ef4734227996a8f69151d.tar.gz
gcc-9d9c740d1efcd1bd597ef4734227996a8f69151d.tar.bz2
hw-doloop.c: New file.
* hw-doloop.c: New file. * hw-doloop.h: New file. * Makefile.in (OBJS): Add hw-doloop.o. (hw-doloop.o): New rule. ($(obj_out_file)): Add hw-doloop.h dependency. * config/bfin/bfin.c: Include "hw-doloop.h". (loop_info, DEF_VEC_P for loop_info, loop_info_d): Remove. (bfin_dump_loops, bfin_bb_in_loop, bfin_scan_loop): Remove. (hwloop_optimize): Renamed from bfin_optimize_loop. Argument type changed to hwloop_info. Return bool, true if the loop was successfully optimized. Remove code that was moved to hw-doloop.c, and adjust other parts. (hwloop_fail): New static function, containing parts that used to be in bfin_optimize_loop. (bfin_discover_loop, bfin_discover_loops, free_loops, bfin_reorder_loops): Remove. (hwloop_pattern_reg): New static function. (bfin_doloop_hooks): New variable. (bfin_reorg_loops): Remove most code, call reorg_loops. * config/bfin/bfin.md (doloop_end splitter): Also enable if loop counter is a memory_operand. From-SVN: r175985
Diffstat (limited to 'gcc/config/bfin/bfin.md')
-rw-r--r--gcc/config/bfin/bfin.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md
index a96d1a7..8d8413d 100644
--- a/gcc/config/bfin/bfin.md
+++ b/gcc/config/bfin/bfin.md
@@ -1993,7 +1993,7 @@
(const_int -1)))
(unspec [(const_int 0)] UNSPEC_LSETUP_END)
(clobber (match_scratch:SI 2 "=&r"))]
- "splitting_loops"
+ "memory_operand (operands[0], SImode) || splitting_loops"
[(set (match_dup 2) (match_dup 0))
(set (match_dup 2) (plus:SI (match_dup 2) (const_int -1)))
(set (match_dup 0) (match_dup 2))