[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