OSDN Git Service

* config/c6x/c6x.md (attr "op_pattern"): New.
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)
commit9a4c7d5b39165d5d04021e1e41ca16e0d75aa553
treeeee257e4cbc3182a7bd60dc290de7fe4f3cbea3b
parente3a0dde2af4f9437f45dd6e296e8969c2a478542
* config/c6x/c6x.md (attr "op_pattern"): New.
(load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
* config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
Likewise.
* config/c6x/c6x-mult.md: Regenerate.
* config/c6x/c6x.c: Include "regrename.h".
(unit_req_table): New typedef.
(unit_reqs): Use it for the declaration.
(unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
get_unit_operand_masks, try_rename_operands, reshuffle_units): New
static functions.
(count_unit_reqs): New arg reqs.  All callers changed.  Use
get_unit_reqs, and don't merge here.
(res_mii): New arg reqs.  All callers changed.  Rewrite to use a loop
using unit_req_factor.
(hwloop_optimize): Call reshuffle_units.  Call merge_unit_reqs after
count_unit_reqs.
(c6x_reorg): Add reg notes problem, and call df_analyze.
* Makefile.in ($(out_object_file)): Depend on regrename.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180296 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/config/c6x/c6x-mult.md
gcc/config/c6x/c6x-mult.md.in
gcc/config/c6x/c6x.c
gcc/config/c6x/c6x.md