This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r151486 - in /trunk/gcc: ChangeLog config/bfin/...
- From: bernds at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 07 Sep 2009 18:06:52 -0000
- Subject: r151486 - in /trunk/gcc: ChangeLog config/bfin/...
Author: bernds
Date: Mon Sep 7 18:06:51 2009
New Revision: 151486
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151486
Log:
* config/bfin/bfin.md (UNSPEC_VOLATILE_STALL): New constant.
(attr "addrtype"): New member "spreg".
Use it if mem_spfp_address_operand is true for the address.
(attr "type"): New entry "stall".
(cpu_unit "load"): New.
(insn_reservations "load32", "loadp", "loadi"): Add reservation of
"load".
(insn_reservation "loadsp"): New.
(insn_reservation "load_stall1"): New.
(insn_reservation "load_stall3"): New.
(stall): New insn.
* config/bfin/predicates.md (const1_operand, const3_operand): New.
(mem_p_address_operand): Exclude stack and frame pointer based
addresses.
(mem_spfp_address_operand): New; match them here.
* config/bfin/bfin.c (add_sched_insns_for_speculation): New function.
(bfin_reorg): Call it if scheduling insns.
(bfin_gen_bundles): Remove dummy insns created by
add_sched_insns_for_speculation.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/bfin/bfin.c
trunk/gcc/config/bfin/bfin.md
trunk/gcc/config/bfin/predicates.md