toplev.c (rest_of_compilation): No longer set reload_completed.
� * toplev.c (rest_of_compilation): No longer set reload_completed. * reload1.c (reload): Set it here. Perform instruction splitting after reload has completed if we will be running the scheduler again. From-SVN: r23478
This commit is contained in:
parent
549f2254b6
commit
faa6e5c410
@ -1049,6 +1049,10 @@ reload (first, global, dumpfile)
|
||||
}
|
||||
}
|
||||
|
||||
/* We've finished reloading. This reload_completed must be set before we
|
||||
perform instruction splitting below. */
|
||||
reload_completed = 1;
|
||||
|
||||
/* Make a pass over all the insns and delete all USEs which we inserted
|
||||
only to tag a REG_EQUAL note on them. Remove all REG_DEAD and REG_UNUSED
|
||||
notes. Delete all CLOBBER insns and simplify (subreg (reg)) operands. */
|
||||
@ -1080,6 +1084,24 @@ reload (first, global, dumpfile)
|
||||
|
||||
/* And simplify (subreg (reg)) if it appears as an operand. */
|
||||
cleanup_subreg_operands (insn);
|
||||
|
||||
/* If optimizing and we are performing instruction scheduling after
|
||||
reload, then go ahead and split insns now since we are about to
|
||||
recompute flow information anyway. */
|
||||
if (optimize && flag_schedule_insns_after_reload)
|
||||
{
|
||||
rtx last, first;
|
||||
|
||||
last = try_split (PATTERN (insn), insn, 1);
|
||||
|
||||
if (last != insn)
|
||||
{
|
||||
PUT_CODE (insn, NOTE);
|
||||
NOTE_SOURCE_FILE (insn) = 0;
|
||||
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* If we are doing stack checking, give a warning if this function's
|
||||
|
Loading…
Reference in New Issue
Block a user