Commit f2d3f347 by Richard Sandiford Committed by Richard Sandiford

lower-subreg.c (adjust_decomposed_uses): Delete.

gcc/
	* lower-subreg.c (adjust_decomposed_uses): Delete.
	(resolve_debug): Use FOR_EACH_SUBRTX_PTR rather than for_each_rtx.
	Remove handling of null rtxes.

From-SVN: r214648
parent cf55cb6a
2014-08-28 Richard Sandiford <rdsandiford@googlemail.com> 2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
* lower-subreg.c (adjust_decomposed_uses): Delete.
(resolve_debug): Use FOR_EACH_SUBRTX_PTR rather than for_each_rtx.
Remove handling of null rtxes.
2014-08-28 Richard Sandiford <rdsandiford@googlemail.com>
* lower-subreg.c: Include rtl-iter.h. * lower-subreg.c: Include rtl-iter.h.
(resolve_subreg_use): Turn from being a for_each_rtx callback (resolve_subreg_use): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself. Remove to being a function that examines each subrtx itself. Remove
......
...@@ -765,34 +765,6 @@ resolve_subreg_use (rtx *loc, rtx insn) ...@@ -765,34 +765,6 @@ resolve_subreg_use (rtx *loc, rtx insn)
return false; return false;
} }
/* This is called via for_each_rtx. Look for SUBREGs which can be
decomposed and decomposed REGs that need copying. */
static int
adjust_decomposed_uses (rtx *px, void *data ATTRIBUTE_UNUSED)
{
rtx x = *px;
if (x == NULL_RTX)
return 0;
if (resolve_subreg_p (x))
{
x = simplify_subreg_concatn (GET_MODE (x), SUBREG_REG (x),
SUBREG_BYTE (x));
if (x)
*px = x;
else
x = copy_rtx (*px);
}
if (resolve_reg_p (x))
*px = copy_rtx (x);
return 0;
}
/* Resolve any decomposed registers which appear in register notes on /* Resolve any decomposed registers which appear in register notes on
INSN. */ INSN. */
...@@ -1167,7 +1139,24 @@ resolve_use (rtx pat, rtx_insn *insn) ...@@ -1167,7 +1139,24 @@ resolve_use (rtx pat, rtx_insn *insn)
static void static void
resolve_debug (rtx_insn *insn) resolve_debug (rtx_insn *insn)
{ {
for_each_rtx (&PATTERN (insn), adjust_decomposed_uses, NULL_RTX); subrtx_ptr_iterator::array_type array;
FOR_EACH_SUBRTX_PTR (iter, array, &PATTERN (insn), NONCONST)
{
rtx *loc = *iter;
rtx x = *loc;
if (resolve_subreg_p (x))
{
x = simplify_subreg_concatn (GET_MODE (x), SUBREG_REG (x),
SUBREG_BYTE (x));
if (x)
*loc = x;
else
x = copy_rtx (*loc);
}
if (resolve_reg_p (x))
*loc = copy_rtx (x);
}
df_insn_rescan (insn); df_insn_rescan (insn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment