diff options
author | Richard Biener <rguenther@suse.de> | 2018-07-19 12:19:07 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-07-19 12:19:07 +0000 |
commit | 851fd3661346f314bf33d846bb9b88194523857e (patch) | |
tree | 44764015b393324b246686a32099b8ef51045a93 /gcc/tree-ssa-sccvn.h | |
parent | ea298fe5e6de519926d4aa121885d041c191e397 (diff) | |
download | gcc-851fd3661346f314bf33d846bb9b88194523857e.zip gcc-851fd3661346f314bf33d846bb9b88194523857e.tar.gz gcc-851fd3661346f314bf33d846bb9b88194523857e.tar.bz2 |
tree-ssa-sccvn.h (struct vn_phi_s): Make phiargs member a trailing array.
2018-07-19 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.h (struct vn_phi_s): Make phiargs member
a trailing array.
* tree-ssa-sccvn.c: Remove alloc-pool.h use.
(vn_phi_hasher): Derive from nofree_ptr_hash and remove remove method.
(vn_reference_hasher): Likewise.
(struct vn_tables_s): Remove obstack and alloc-pool members.
(vn_tables_obstack, vn_tables_insert_obstack): New global obstacks.
(vn_nary_build_or_lookup_1): Manually build in vn_tables_insert_obstack.
(vn_reference_insert): Allocate from obstack instead of from alloc-pool.
(vn_reference_insert_pieces): Likewise.
(alloc_vn_nary_op_noinit): Adjust.
(vn_nary_op_insert_stmt): Allocate phiargs in-place.
(vn_phi_eq): Adjust.
(shared_lookup_phiargs): Remove.
(vn_phi_lookup): Allocate temporary vn_phi_s on the stack.
(vn_phi_insert): Allocate from obstack instead of from alloc-pool.
(visit_reference_op_call): Likewise.
(copy_nary, copy_phi, copy_reference): Remove.
(process_scc): Rewind the obstack when iterating. Do not
copy the elements to valid_info but just move them from one
hashtable to the other.
(allocate_vn_table): Adjust.
(free_vn_table): Likewise.
(init_scc_vn): Likewise.
(free_scc_vn): Likewise.
From-SVN: r262879
Diffstat (limited to 'gcc/tree-ssa-sccvn.h')
-rw-r--r-- | gcc/tree-ssa-sccvn.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-sccvn.h b/gcc/tree-ssa-sccvn.h index 5857cfc..4a3bdae 100644 --- a/gcc/tree-ssa-sccvn.h +++ b/gcc/tree-ssa-sccvn.h @@ -65,13 +65,14 @@ typedef struct vn_phi_s /* Unique identifier that all expressions with the same value have. */ unsigned int value_id; hashval_t hashcode; - vec<tree> phiargs; basic_block block; /* Controlling condition lhs/rhs. */ tree cclhs; tree ccrhs; tree type; tree result; + /* The number of args is determined by EDGE_COUT (block->preds). */ + tree phiargs[1]; } *vn_phi_t; typedef const struct vn_phi_s *const_vn_phi_t; |