Commit 8eb75619 by Ayal Zaks Committed by Revital Eres

Minor cosmetic change

Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r128689
parent 97aaae90
2007-09-23 Ayal Zaks <zaks@il.ibm.com>
Revital Eres <eres@il.ibm.com>
* modulo-sched.c (doloop_register_get): Rewrite the loop which
checks whether the count_reg is found outside the control part.
2007-09-23 Jakub Jelinek <jakub@redhat.com> 2007-09-23 Jakub Jelinek <jakub@redhat.com>
* expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl * expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl
...@@ -286,8 +286,7 @@ static rtx ...@@ -286,8 +286,7 @@ static rtx
doloop_register_get (rtx head ATTRIBUTE_UNUSED, rtx tail ATTRIBUTE_UNUSED) doloop_register_get (rtx head ATTRIBUTE_UNUSED, rtx tail ATTRIBUTE_UNUSED)
{ {
#ifdef HAVE_doloop_end #ifdef HAVE_doloop_end
rtx reg, condition, insn; rtx reg, condition, insn, first_insn_not_to_check;
bool found = false;
if (!JUMP_P (tail)) if (!JUMP_P (tail))
return NULL_RTX; return NULL_RTX;
...@@ -309,25 +308,23 @@ doloop_register_get (rtx head ATTRIBUTE_UNUSED, rtx tail ATTRIBUTE_UNUSED) ...@@ -309,25 +308,23 @@ doloop_register_get (rtx head ATTRIBUTE_UNUSED, rtx tail ATTRIBUTE_UNUSED)
until the decrement. We assume the control part consists of until the decrement. We assume the control part consists of
either a single (parallel) branch-on-count or a (non-parallel) either a single (parallel) branch-on-count or a (non-parallel)
branch immediately preceded by a single (decrement) insn. */ branch immediately preceded by a single (decrement) insn. */
for (insn = head; insn != PREV_INSN (tail); insn = NEXT_INSN (insn)) first_insn_not_to_check = (GET_CODE (PATTERN (tail)) == PARALLEL ? tail
if ((found = reg_mentioned_p (reg, insn)) == true) : PREV_INSN (tail));
break;
if (found)
{
if (dump_file)
fprintf (dump_file, "SMS count_reg found outside control\n");
return NULL_RTX; for (insn = head; insn != first_insn_not_to_check; insn = NEXT_INSN (insn))
} if (reg_mentioned_p (reg, insn))
/* One last check in case the do-loop pattern is parallel. */
if (GET_CODE (PATTERN (tail)) == PARALLEL)
if (reg_mentioned_p (reg, PREV_INSN (tail)))
{ {
if (dump_file) if (dump_file)
fprintf (dump_file, "SMS count_reg found outside control\n"); {
fprintf (dump_file, "SMS count_reg found ");
print_rtl_single (dump_file, reg);
fprintf (dump_file, " outside control in insn:\n");
print_rtl_single (dump_file, insn);
}
return NULL_RTX; return NULL_RTX;
} }
return reg; return reg;
#else #else
return NULL_RTX; return NULL_RTX;
......
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