diff options
author | Trevor Saunders <tsaunders@mozilla.com> | 2014-06-24 13:21:35 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2014-06-24 13:21:35 +0000 |
commit | c203e8a73b2f12a1da52a16a0c4a50e62b42445b (patch) | |
tree | b8d7f5b21a14b16949ddbc5dcaeb5f2b2654d63a /gcc/tree-vectorizer.c | |
parent | fbc2a724d481bb5c205baeaaa955533451226d01 (diff) | |
download | gcc-c203e8a73b2f12a1da52a16a0c4a50e62b42445b.zip gcc-c203e8a73b2f12a1da52a16a0c4a50e62b42445b.tar.gz gcc-c203e8a73b2f12a1da52a16a0c4a50e62b42445b.tar.bz2 |
Remove a layer of indirection from hash_table
gcc/
* hash-table.h: Remove a layer of indirection from hash_table so that
it contains the hash table's data instead of a pointer to the data.
* alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
fold-const.c, gcse.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c,
graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
postreload-gcse.c, sese.c, statistics.c, store-motion.c,
trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
tree-ssa-ccp.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-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
vtable-verify.c, vtable-verify.h: Adjust.
gcc/c/
* c-decl.c: Adjust.
gcc/cp/
* class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
Adjust.
gcc/java/
* jcf-io.c: Adjust.
gcc/lto/
* lto.c: Adjust.
gcc/objc/
* objc-act.c: Adjust.
From-SVN: r211936
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index f10e621..4d30cfa 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -157,7 +157,7 @@ simd_array_to_simduid::equal (const value_type *p1, const value_type *p2) into their corresponding constants. */ static void -adjust_simduid_builtins (hash_table <simduid_to_vf> &htab) +adjust_simduid_builtins (hash_table<simduid_to_vf> **htab) { basic_block bb; @@ -189,8 +189,8 @@ adjust_simduid_builtins (hash_table <simduid_to_vf> &htab) gcc_assert (TREE_CODE (arg) == SSA_NAME); simduid_to_vf *p = NULL, data; data.simduid = DECL_UID (SSA_NAME_VAR (arg)); - if (htab.is_created ()) - p = htab.find (&data); + if (*htab) + p = (*htab)->find (&data); if (p) vf = p->vf; switch (ifn) @@ -216,7 +216,7 @@ adjust_simduid_builtins (hash_table <simduid_to_vf> &htab) struct note_simd_array_uses_struct { - hash_table <simd_array_to_simduid> *htab; + hash_table<simd_array_to_simduid> **htab; unsigned int simduid; }; @@ -236,11 +236,11 @@ note_simd_array_uses_cb (tree *tp, int *walk_subtrees, void *data) && DECL_CONTEXT (*tp) == current_function_decl) { simd_array_to_simduid data; - if (!ns->htab->is_created ()) - ns->htab->create (15); + if (!*ns->htab) + *ns->htab = new hash_table<simd_array_to_simduid> (15); data.decl = *tp; data.simduid = ns->simduid; - simd_array_to_simduid **slot = ns->htab->find_slot (&data, INSERT); + simd_array_to_simduid **slot = (*ns->htab)->find_slot (&data, INSERT); if (*slot == NULL) { simd_array_to_simduid *p = XNEW (simd_array_to_simduid); @@ -258,7 +258,7 @@ note_simd_array_uses_cb (tree *tp, int *walk_subtrees, void *data) simduid. */ static void -note_simd_array_uses (hash_table <simd_array_to_simduid> *htab) +note_simd_array_uses (hash_table<simd_array_to_simduid> **htab) { basic_block bb; gimple_stmt_iterator gsi; @@ -389,8 +389,8 @@ vectorize_loops (void) unsigned int num_vectorized_loops = 0; unsigned int vect_loops_num; struct loop *loop; - hash_table <simduid_to_vf> simduid_to_vf_htab; - hash_table <simd_array_to_simduid> simd_array_to_simduid_htab; + hash_table<simduid_to_vf> *simduid_to_vf_htab = NULL; + hash_table<simd_array_to_simduid> *simd_array_to_simduid_htab = NULL; bool any_ifcvt_loops = false; unsigned ret = 0; @@ -400,7 +400,7 @@ vectorize_loops (void) if (vect_loops_num <= 1) { if (cfun->has_simduid_loops) - adjust_simduid_builtins (simduid_to_vf_htab); + adjust_simduid_builtins (&simduid_to_vf_htab); return 0; } @@ -484,11 +484,11 @@ vectorize_loops (void) if (loop->simduid) { simduid_to_vf *simduid_to_vf_data = XNEW (simduid_to_vf); - if (!simduid_to_vf_htab.is_created ()) - simduid_to_vf_htab.create (15); + if (!simduid_to_vf_htab) + simduid_to_vf_htab = new hash_table<simduid_to_vf> (15); simduid_to_vf_data->simduid = DECL_UID (loop->simduid); simduid_to_vf_data->vf = loop_vinfo->vectorization_factor; - *simduid_to_vf_htab.find_slot (simduid_to_vf_data, INSERT) + *simduid_to_vf_htab->find_slot (simduid_to_vf_data, INSERT) = simduid_to_vf_data; } @@ -541,24 +541,24 @@ vectorize_loops (void) /* Fold IFN_GOMP_SIMD_{VF,LANE,LAST_LANE} builtins. */ if (cfun->has_simduid_loops) - adjust_simduid_builtins (simduid_to_vf_htab); + adjust_simduid_builtins (&simduid_to_vf_htab); /* Shrink any "omp array simd" temporary arrays to the actual vectorization factors. */ - if (simd_array_to_simduid_htab.is_created ()) + if (simd_array_to_simduid_htab) { - for (hash_table <simd_array_to_simduid>::iterator iter - = simd_array_to_simduid_htab.begin (); - iter != simd_array_to_simduid_htab.end (); ++iter) + for (hash_table<simd_array_to_simduid>::iterator iter + = simd_array_to_simduid_htab->begin (); + iter != simd_array_to_simduid_htab->end (); ++iter) if ((*iter).simduid != -1U) { tree decl = (*iter).decl; int vf = 1; - if (simduid_to_vf_htab.is_created ()) + if (simduid_to_vf_htab) { simduid_to_vf *p = NULL, data; data.simduid = (*iter).simduid; - p = simduid_to_vf_htab.find (&data); + p = simduid_to_vf_htab->find (&data); if (p) vf = p->vf; } @@ -568,10 +568,10 @@ vectorize_loops (void) relayout_decl (decl); } - simd_array_to_simduid_htab.dispose (); + delete simd_array_to_simduid_htab; } - if (simduid_to_vf_htab.is_created ()) - simduid_to_vf_htab.dispose (); + delete simduid_to_vf_htab; + simduid_to_vf_htab = NULL; if (num_vectorized_loops > 0) { |