[PATCH 003/236] config/mn10300: Fix missing PATTERN in PARALLEL handling
Richard Henderson
rth@redhat.com
Wed Aug 27 16:42:00 GMT 2014
On 08/27/2014 09:32 AM, David Malcolm wrote:
> * gcc/config/mn10300/mn10300.c (is_load_insn): Rename to...
> (set_is_load_p): ...this, updating to work on a SET pattern rather
> than an insn.
> (is_store_insn): Rename to...
> (set_is_store_p): ...this, updating to work on a SET pattern
> rather than an insn.
> (mn10300_adjust_sched_cost): Move call to get_attr_timings from
> top of function to where it is needed. Rewrite the bogus
> condition that checks for "insn" and "dep" being PARALLEL to
> instead use single_set, introducing locals "insn_set" and
> "dep_set". Given that we only ever returned "cost" for a non-pair
> of SETs, bail out early if we don't have a pair of SET.
> Rewrite all uses of PATTERN (dep) and PATTERN (insn) to instead
> use the new locals "insn_set" and "dep_set", and update calls to
> is_load_insn and is_store_insn to be calls to set_is_load_p and
> set_is_store_p.
Ok, if it passes your smoke tests.
> + /* We are only interested in pairs of SET. */
> + insn_set = single_set (insn);
> + if (!insn_set)
> + return cost;
>
> + dep_set = single_set (dep);
> + if (!dep_set)
> + return cost;
>
> + gcc_assert (GET_CODE (insn_set) == SET);
> + gcc_assert (GET_CODE (dep_set) == SET);
I don't think you need the asserts; we should be able to trust single_set.
r~
More information about the Gcc-patches
mailing list