i386-features.c (general_remove_non_convertible_regs): Remove.

2019-08-26  Richard Biener  <rguenther@suse.de>

	* config/i386/i386-features.c (general_remove_non_convertible_regs):
	Remove.
	(convert_scalars_to_vector): Do not call it.

From-SVN: r274929
This commit is contained in:
Richard Biener 2019-08-26 13:55:46 +00:00 committed by Richard Biener
parent d3b92f35d8
commit d2ea2406cc
2 changed files with 6 additions and 62 deletions

View file

@ -1,3 +1,9 @@
2019-08-26 Richard Biener <rguenther@suse.de>
* config/i386/i386-features.c (general_remove_non_convertible_regs):
Remove.
(convert_scalars_to_vector): Do not call it.
2019-08-26 Tejas Joshi <tejasjoshi9673@gmail.com>
Uros Bizjak <ubizjak@gmail.com>

View file

@ -1425,66 +1425,6 @@ timode_scalar_to_vector_candidate_p (rtx_insn *insn)
return false;
}
/* For a given bitmap of insn UIDs scans all instruction and
remove insn from CANDIDATES in case it has both convertible
and not convertible definitions.
All insns in a bitmap are conversion candidates according to
scalar_to_vector_candidate_p. Currently it implies all insns
are single_set. */
static void
general_remove_non_convertible_regs (bitmap candidates)
{
bitmap_iterator bi;
unsigned id;
bitmap regs = BITMAP_ALLOC (NULL);
EXECUTE_IF_SET_IN_BITMAP (candidates, 0, id, bi)
{
rtx def_set = single_set (DF_INSN_UID_GET (id)->insn);
rtx reg = SET_DEST (def_set);
if (!REG_P (reg)
|| bitmap_bit_p (regs, REGNO (reg))
|| HARD_REGISTER_P (reg))
continue;
for (df_ref def = DF_REG_DEF_CHAIN (REGNO (reg));
def;
def = DF_REF_NEXT_REG (def))
{
if (!bitmap_bit_p (candidates, DF_REF_INSN_UID (def)))
{
if (dump_file)
fprintf (dump_file,
"r%d has non convertible definition in insn %d\n",
REGNO (reg), DF_REF_INSN_UID (def));
bitmap_set_bit (regs, REGNO (reg));
break;
}
}
}
EXECUTE_IF_SET_IN_BITMAP (regs, 0, id, bi)
{
for (df_ref def = DF_REG_DEF_CHAIN (id);
def;
def = DF_REF_NEXT_REG (def))
if (bitmap_bit_p (candidates, DF_REF_INSN_UID (def)))
{
if (dump_file)
fprintf (dump_file, "Removing insn %d from candidates list\n",
DF_REF_INSN_UID (def));
bitmap_clear_bit (candidates, DF_REF_INSN_UID (def));
}
}
BITMAP_FREE (regs);
}
/* For a register REGNO, scan instructions for its defs and uses.
Put REGNO in REGS if a def or use isn't in CANDIDATES. */
@ -1646,8 +1586,6 @@ convert_scalars_to_vector (bool timode_p)
if (timode_p)
timode_remove_non_convertible_regs (&candidates[2]);
for (unsigned i = 0; i <= 1; ++i)
general_remove_non_convertible_regs (&candidates[i]);
for (unsigned i = 0; i <= 2; ++i)
if (!bitmap_empty_p (&candidates[i]))