aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-sccvn.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-07-19 12:19:07 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-07-19 12:19:07 +0000
commit851fd3661346f314bf33d846bb9b88194523857e (patch)
tree44764015b393324b246686a32099b8ef51045a93 /gcc/tree-ssa-sccvn.h
parentea298fe5e6de519926d4aa121885d041c191e397 (diff)
downloadgcc-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.h3
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;