diff options
author | tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-04-18 18:13:18 +0000 |
---|---|---|
committer | tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-04-18 18:13:18 +0000 |
commit | 9969c043bba2c5ac03c9227ef7d476a2b8dd9c84 (patch) | |
tree | 371c9ad12b94f56f0112c4fda736391f1925a309 /gcc/cselib.c | |
parent | 64df2aeef45bf2234bfe8e6e9da264d426764fdd (diff) | |
download | gcc-9969c043bba2c5ac03c9227ef7d476a2b8dd9c84.tar.gz |
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.c | 17 |
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); |