aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-26 20:45:09 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-26 20:45:09 +0000
commit12ea1b952d7f98224446c2ae2d9f6648126a2959 (patch)
tree154dbee33a6cd44634a89f47d194bea012ce3e02 /gcc
parenteb92d49a916d4484bb8eb0fd6be6e36328e29896 (diff)
downloadgcc-12ea1b952d7f98224446c2ae2d9f6648126a2959.zip
gcc-12ea1b952d7f98224446c2ae2d9f6648126a2959.tar.gz
gcc-12ea1b952d7f98224446c2ae2d9f6648126a2959.tar.bz2
cselib (also touches sched-deps.c)
gcc/ 2014-08-26 David Malcolm <dmalcolm@redhat.com> * cselib.h (struct elt_loc_list): Strengthen field "setting_insn" from rtx to rtx_insn *. (cselib_lookup_from_insn): Likewise for final param. (cselib_subst_to_values_from_insn): Likewise. (cselib_add_permanent_equiv): Likewise. * cselib.c (cselib_current_insn): Likewise for this variable. (cselib_subst_to_values_from_insn): Likewise for param "insn". (cselib_lookup_from_insn): Likewise. (cselib_add_permanent_equiv): Likewise for param "insn" and local "save_cselib_current_insn". (cselib_process_insn): Replace use of NULL_RTX with NULL. * sched-deps.c (add_insn_mem_dependence): Strengthen param "insn" from rtx to rtx_insn *. From-SVN: r214550
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog18
-rw-r--r--gcc/cselib.c16
-rw-r--r--gcc/cselib.h8
-rw-r--r--gcc/sched-deps.c2
4 files changed, 31 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 537858f..4e3dd60 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,23 @@
2014-08-26 David Malcolm <dmalcolm@redhat.com>
+ * cselib.h (struct elt_loc_list): Strengthen field "setting_insn"
+ from rtx to rtx_insn *.
+ (cselib_lookup_from_insn): Likewise for final param.
+ (cselib_subst_to_values_from_insn): Likewise.
+ (cselib_add_permanent_equiv): Likewise.
+
+ * cselib.c (cselib_current_insn): Likewise for this variable.
+ (cselib_subst_to_values_from_insn): Likewise for param "insn".
+ (cselib_lookup_from_insn): Likewise.
+ (cselib_add_permanent_equiv): Likewise for param "insn" and local
+ "save_cselib_current_insn".
+ (cselib_process_insn): Replace use of NULL_RTX with NULL.
+
+ * sched-deps.c (add_insn_mem_dependence): Strengthen param "insn"
+ from rtx to rtx_insn *.
+
+2014-08-26 David Malcolm <dmalcolm@redhat.com>
+
* dse.c (dse_step6): Strengthen local "rinsn" from rtx to
rtx_insn *.
diff --git a/gcc/cselib.c b/gcc/cselib.c
index 45dd99b..48ec937 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -152,7 +152,7 @@ static hash_table<cselib_hasher> *cselib_preserved_hash_table;
/* This is a global so we don't have to pass this through every function.
It is used in new_elt_loc_list to set SETTING_INSN. */
-static rtx cselib_current_insn;
+static rtx_insn *cselib_current_insn;
/* The unique id that the next create value will take. */
static unsigned int next_uid;
@@ -1948,7 +1948,7 @@ cselib_subst_to_values (rtx x, enum machine_mode memmode)
/* Wrapper for cselib_subst_to_values, that indicates X is in INSN. */
rtx
-cselib_subst_to_values_from_insn (rtx x, enum machine_mode memmode, rtx insn)
+cselib_subst_to_values_from_insn (rtx x, enum machine_mode memmode, rtx_insn *insn)
{
rtx ret;
gcc_assert (!cselib_current_insn);
@@ -2089,7 +2089,7 @@ cselib_lookup_1 (rtx x, enum machine_mode mode,
cselib_val *
cselib_lookup_from_insn (rtx x, enum machine_mode mode,
- int create, enum machine_mode memmode, rtx insn)
+ int create, enum machine_mode memmode, rtx_insn *insn)
{
cselib_val *ret;
@@ -2401,10 +2401,10 @@ cselib_record_set (rtx dest, cselib_val *src_elt, cselib_val *dest_addr_elt)
/* Make ELT and X's VALUE equivalent to each other at INSN. */
void
-cselib_add_permanent_equiv (cselib_val *elt, rtx x, rtx insn)
+cselib_add_permanent_equiv (cselib_val *elt, rtx x, rtx_insn *insn)
{
cselib_val *nelt;
- rtx save_cselib_current_insn = cselib_current_insn;
+ rtx_insn *save_cselib_current_insn = cselib_current_insn;
gcc_checking_assert (elt);
gcc_checking_assert (PRESERVED_VALUE_P (elt->val_rtx));
@@ -2641,13 +2641,13 @@ cselib_process_insn (rtx_insn *insn)
&& !cselib_preserve_constants)
{
cselib_reset_table (next_uid);
- cselib_current_insn = NULL_RTX;
+ cselib_current_insn = NULL;
return;
}
if (! INSN_P (insn))
{
- cselib_current_insn = NULL_RTX;
+ cselib_current_insn = NULL;
return;
}
@@ -2697,7 +2697,7 @@ cselib_process_insn (rtx_insn *insn)
&& fp_setter_insn (insn))
cselib_invalidate_rtx (stack_pointer_rtx);
- cselib_current_insn = NULL_RTX;
+ cselib_current_insn = NULL;
if (n_useless_values > MAX_USELESS_VALUES
/* remove_useless_values is linear in the hash table size. Avoid
diff --git a/gcc/cselib.h b/gcc/cselib.h
index 67ce6da..ecf53e1 100644
--- a/gcc/cselib.h
+++ b/gcc/cselib.h
@@ -46,7 +46,7 @@ struct elt_loc_list {
/* An rtl expression that holds the value. */
rtx loc;
/* The insn that made the equivalence. */
- rtx setting_insn;
+ rtx_insn *setting_insn;
};
/* Describe a single set that is part of an insn. */
@@ -71,7 +71,7 @@ extern void (*cselib_record_sets_hook) (rtx_insn *insn, struct cselib_set *sets,
extern cselib_val *cselib_lookup (rtx, enum machine_mode,
int, enum machine_mode);
extern cselib_val *cselib_lookup_from_insn (rtx, enum machine_mode,
- int, enum machine_mode, rtx);
+ int, enum machine_mode, rtx_insn *);
extern void cselib_init (int);
extern void cselib_clear_table (void);
extern void cselib_finish (void);
@@ -87,7 +87,7 @@ extern rtx cselib_expand_value_rtx_cb (rtx, bitmap, int,
extern bool cselib_dummy_expand_value_rtx_cb (rtx, bitmap, int,
cselib_expand_callback, void *);
extern rtx cselib_subst_to_values (rtx, enum machine_mode);
-extern rtx cselib_subst_to_values_from_insn (rtx, enum machine_mode, rtx);
+extern rtx cselib_subst_to_values_from_insn (rtx, enum machine_mode, rtx_insn *);
extern void cselib_invalidate_rtx (rtx);
extern void cselib_reset_table (unsigned int);
@@ -96,7 +96,7 @@ extern void cselib_preserve_value (cselib_val *);
extern bool cselib_preserved_value_p (cselib_val *);
extern void cselib_preserve_only_values (void);
extern void cselib_preserve_cfa_base_value (cselib_val *, unsigned int);
-extern void cselib_add_permanent_equiv (cselib_val *, rtx, rtx);
+extern void cselib_add_permanent_equiv (cselib_val *, rtx, rtx_insn *);
extern bool cselib_have_permanent_equivalences (void);
extern void cselib_set_value_sp_based (cselib_val *);
extern bool cselib_sp_based_value_p (cselib_val *);
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 98d189b..84b1b17 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -1710,7 +1710,7 @@ chain_to_prev_insn (rtx_insn *insn)
static void
add_insn_mem_dependence (struct deps_desc *deps, bool read_p,
- rtx insn, rtx mem)
+ rtx_insn *insn, rtx mem)
{
rtx *insn_list;
rtx *mem_list;