Make cselib_subst_to_values global.

From-SVN: r44717
This commit is contained in:
Bernd Schmidt 2001-08-08 10:38:57 +00:00 committed by Bernd Schmidt
parent 4b6c534074
commit 9170044420
3 changed files with 21 additions and 3 deletions

View File

@ -15,6 +15,11 @@
* sched-rgn.c (rgn_sched_info): Likewise.
* Makefile.in (sched-deps.o): Update dependencies.
* cselib.h (cselib_subst_to_values): Declare.
* cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
that have no value and autoincs to be handled by generating a new
dummy value.
2001-08-08 Graham Stott <grahams@redhat.com>
* final.c (shorten_branches): Update the INSN_ADDRESSES of insns

View File

@ -60,7 +60,6 @@ static cselib_val *new_cselib_val PARAMS ((unsigned int,
static void add_mem_for_addr PARAMS ((cselib_val *, cselib_val *,
rtx));
static cselib_val *cselib_lookup_mem PARAMS ((rtx, int));
static rtx cselib_subst_to_values PARAMS ((rtx));
static void cselib_invalidate_regno PARAMS ((unsigned int,
enum machine_mode));
static int cselib_mem_conflict_p PARAMS ((rtx, rtx));
@ -765,7 +764,7 @@ cselib_lookup_mem (x, create)
X isn't actually modified; if modifications are needed, new rtl is
allocated. However, the return value can share rtl with X. */
static rtx
rtx
cselib_subst_to_values (x)
rtx x;
{
@ -788,7 +787,11 @@ cselib_subst_to_values (x)
case MEM:
e = cselib_lookup_mem (x, 0);
if (! e)
abort ();
{
/* This happens for autoincrements. Assign a value that doesn't
match any other. */
e = new_cselib_val (++next_unknown_value, GET_MODE (x));
}
return e->u.val_rtx;
/* CONST_DOUBLEs must be special-cased here so that we won't try to
@ -797,6 +800,15 @@ cselib_subst_to_values (x)
case CONST_INT:
return x;
case POST_INC:
case PRE_INC:
case POST_DEC:
case PRE_DEC:
case POST_MODIFY:
case PRE_MODIFY:
e = new_cselib_val (++next_unknown_value, GET_MODE (x));
return e->u.val_rtx;
default:
break;
}

View File

@ -65,3 +65,4 @@ extern void cselib_finish PARAMS ((void));
extern void cselib_process_insn PARAMS ((rtx));
extern int rtx_equal_for_cselib_p PARAMS ((rtx, rtx));
extern int references_value_p PARAMS ((rtx, int));
extern rtx cselib_subst_to_values PARAMS ((rtx));