sh.c (sh_option_override): Set branch cost to 2 for all target variants.

gcc/
	* config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
	target variants.

From-SVN: r210534
This commit is contained in:
Oleg Endo 2014-05-16 22:21:52 +00:00
parent 6c7571a29a
commit d580af0f7a
2 changed files with 11 additions and 5 deletions

View file

@ -1,3 +1,8 @@
2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
target variants.
2014-05-16 David Malcolm <dmalcolm@redhat.com>
Revert:

View file

@ -929,15 +929,16 @@ sh_option_override (void)
sh_divsi3_libfunc = "__sdivsi3_1";
else
sh_divsi3_libfunc = "__sdivsi3";
if (sh_branch_cost == -1)
{
sh_branch_cost = 1;
/* The SH1 does not have delay slots, hence we get a pipeline stall
at every branch. The SH4 is superscalar, so the single delay slot
is not sufficient to keep both pipelines filled. */
if (! TARGET_SH2 || TARGET_HARD_SH4)
sh_branch_cost = 2;
is not sufficient to keep both pipelines filled.
In any case, set the default branch cost to '2', as it results in
slightly overall smaller code and also enables some if conversions
that are required for matching special T bit related insns. */
sh_branch_cost = 2;
}
/* Set -mzdcbranch for SH4 / SH4A if not otherwise specified by the user. */