This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r146971 - in /trunk/gcc: ChangeLog config/bfin/...
- From: bernds at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 29 Apr 2009 14:13:35 -0000
- Subject: r146971 - in /trunk/gcc: ChangeLog config/bfin/...
Author: bernds
Date: Wed Apr 29 14:13:30 2009
New Revision: 146971
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146971
Log:
* config/bfin/bfin.h (splitting_loops): Declare.
* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315):
Reorder bit definitions to be ascending.
(WA_LOAD_LCREGS, ENABLE_WA_LOAD_LCREGS): New macros.
* config/bfin/bfin.c (splitting_loops): New variable.
(bfin_cpus): Add WA_LOAD_LCREGS as needed.
(struct loop_info): Remove members INIT and LOOP_INIT.
(bfin_optimize_loop): Don't set them. Reorder the code that generates
the LSETUP sequence. Allow LC to be loaded from any register, but also
add a case to push/pop a PREG scratch if ENABLE_WA_LOAD_LCREGS.
(bfin_reorg_loops): When done, split all BB_ENDs with splitting_loops
set to 1.
* config/bfin/bfin.md (loop_end splitter): Use splitting_loops instead
of reload_completed.
From Jie Zhang:
* config/bfin/bfin.md (movsi_insn): Refine constraints.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/bfin/bfin-protos.h
trunk/gcc/config/bfin/bfin.c
trunk/gcc/config/bfin/bfin.h
trunk/gcc/config/bfin/bfin.md