]> git.ipfire.org Git - thirdparty/gcc.git/commit
c6x.md (attr "op_pattern"): New.
authorBernd Schmidt <bernds@codesourcery.com>
Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)
commit8076c3e3e4e29ce18299bc1e5e3e1535993eaf15
treeeee257e4cbc3182a7bd60dc290de7fe4f3cbea3b
parentbb35fdd04a97dc08eb7cc391dfcf0bbe2a90501a
c6x.md (attr "op_pattern"): New.

* 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.

From-SVN: r180296
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