(alias.o): Add dependencies.
* alias.c: New file.
* sched.c: Remove alias analysis code. It lives in alias.c now.
- (reg_last_uses_size): Declare.
(sched_analyze_2): Add new arguments to true_dependence.
- (sched_analyze_insn): Use reg_last_uses_size instead of max_reg.
- (schedule_block): Initialize reg_last_uses_size.
(schedule_insns): Always call init_alias_analysis.
* calls.c (expand_call): Note calls to malloc, calloc, and realloc;
mark return value from such functions as a pointer and keep track of
such insn. Needed for new registers which may be introduced
by splitting insns. */
static rtx *reg_last_uses;
-static int reg_last_uses_size;
static rtx *reg_last_sets;
static regset reg_pending_sets;
static int reg_pending_sets_all;
{
register RTX_CODE code = GET_CODE (x);
rtx link;
- int maxreg = reg_last_uses_size;
+ int maxreg = max_reg_num ();
int i;
if (code == SET || code == CLOBBER)
if (loop_notes)
{
- int max_reg = reg_last_uses_size;
+ int max_reg = max_reg_num ();
rtx link;
for (i = 0; i < max_reg; i++)
if (NEXT_INSN (insn) && GET_CODE (NEXT_INSN (insn)) == NOTE
&& NOTE_LINE_NUMBER (NEXT_INSN (insn)) == NOTE_INSN_SETJMP)
{
- for (i = 0; i < reg_last_uses_size; i++)
+ int max_reg = max_reg_num ();
+ for (i = 0; i < max_reg; i++)
{
for (u = reg_last_uses[i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
fprintf (file, ";;\t -- basic block number %d from %d to %d --\n",
b, INSN_UID (basic_block_head[b]), INSN_UID (basic_block_end[b]));
- reg_last_uses_size = i = max_reg_num ();
+ i = max_reg_num ();
reg_last_uses = (rtx *) alloca (i * sizeof (rtx));
bzero ((char *) reg_last_uses, i * sizeof (rtx));
reg_last_sets = (rtx *) alloca (i * sizeof (rtx));