aboutsummaryrefslogtreecommitdiff
path: root/gcc/cselib.c
diff options
context:
space:
mode:
authortbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2015-04-18 18:13:18 +0000
committertbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2015-04-18 18:13:18 +0000
commit9969c043bba2c5ac03c9227ef7d476a2b8dd9c84 (patch)
tree371c9ad12b94f56f0112c4fda736391f1925a309 /gcc/cselib.c
parent64df2aeef45bf2234bfe8e6e9da264d426764fdd (diff)
remove need for store_values_directly
This switches all hash_table users to use the layout that stores elements of type value_type in the hash table instead of the one storing value_type *. Since it becomes unused support for the value_type * layout is removed. gcc/ * hash-table.h: Remove version of hash_table that stored value_type *. * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c, config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c, gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c, hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h, ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c, loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c, reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c, tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c, tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h, valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust. libcc1/ * plugin.cc: Adjust for hash_table changes. gcc/java/ * jcf-io.c: Adjust for hash_table changes. gcc/lto/ * lto.c: Adjust for hash_table changes. gcc/objc/ * objc-act.c: Adjust for hash_table changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222213 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r--gcc/cselib.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/gcc/cselib.c b/gcc/cselib.c
index d6ccbfb4690..30845edb4f6 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -102,8 +102,8 @@ static rtx cselib_expand_value_rtx_1 (rtx, struct expand_value_data *, int);
struct cselib_hasher : typed_noop_remove <cselib_val>
{
- typedef cselib_val value_type;
- struct compare_type {
+ typedef cselib_val *value_type;
+ struct key {
/* The rtx value and its mode (needed separately for constant
integers). */
machine_mode mode;
@@ -111,8 +111,9 @@ struct cselib_hasher : typed_noop_remove <cselib_val>
/* The mode of the contaning MEM, if any, otherwise VOIDmode. */
machine_mode memmode;
};
- static inline hashval_t hash (const value_type *);
- static inline bool equal (const value_type *, const compare_type *);
+ typedef key *compare_type;
+ static inline hashval_t hash (const cselib_val *);
+ static inline bool equal (const cselib_val *, const key *);
};
/* The hash function for our hash table. The value is always computed with
@@ -120,7 +121,7 @@ struct cselib_hasher : typed_noop_remove <cselib_val>
hash value from a cselib_val structure. */
inline hashval_t
-cselib_hasher::hash (const value_type *v)
+cselib_hasher::hash (const cselib_val *v)
{
return v->hash;
}
@@ -131,7 +132,7 @@ cselib_hasher::hash (const value_type *v)
CONST of an appropriate mode. */
inline bool
-cselib_hasher::equal (const value_type *v, const compare_type *x_arg)
+cselib_hasher::equal (const cselib_val *v, const key *x_arg)
{
struct elt_loc_list *l;
rtx x = x_arg->x;
@@ -507,7 +508,7 @@ preserve_constants_and_equivs (cselib_val **x, void *info ATTRIBUTE_UNUSED)
if (invariant_or_equiv_p (v))
{
- cselib_hasher::compare_type lookup = {
+ cselib_hasher::key lookup = {
GET_MODE (v->val_rtx), v->val_rtx, VOIDmode
};
cselib_val **slot
@@ -592,7 +593,7 @@ cselib_find_slot (machine_mode mode, rtx x, hashval_t hash,
enum insert_option insert, machine_mode memmode)
{
cselib_val **slot = NULL;
- cselib_hasher::compare_type lookup = { mode, x, memmode };
+ cselib_hasher::key lookup = { mode, x, memmode };
if (cselib_preserve_constants)
slot = cselib_preserved_hash_table->find_slot_with_hash (&lookup, hash,
NO_INSERT);