aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-sccvn.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2012-11-20 16:21:30 -0500
committerDiego Novillo <dnovillo@gcc.gnu.org>2012-11-20 16:21:30 -0500
commit6e1aa84836e166fbfb4b53ac004d1d63e03d9f05 (patch)
treedf5dd32febb0dc65ea6ce7f725aab90791a1dbc4 /gcc/tree-ssa-sccvn.c
parentb014e124e46edd418d02316ce4c65563d0568ad8 (diff)
downloadgcc-6e1aa84836e166fbfb4b53ac004d1d63e03d9f05.zip
gcc-6e1aa84836e166fbfb4b53ac004d1d63e03d9f05.tar.gz
gcc-6e1aa84836e166fbfb4b53ac004d1d63e03d9f05.tar.bz2
Introduce vNULL to use as a nil initializer for vec<>.
This patch implements Jakub's idea of adding an empty struct with a typecast operator that returns nil vectors. This is useful to shorten all the initializers when declaring vec instances or passing nil vectors as function arguments. 2012-11-20 Diego Novillo <dnovillo@google.com> Jakub Jelinek <jakub@redhat.com> ChangeLog * vec.h (struct vnull): Declare. (vNULL): Declare. * vec.c (vNULL): Define. * bb-reorder.c: Replace all vec<T, A>() initializers with vNULL. * cfgexpand.c: Likewise. * cfgloop.c: Likewise. * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * cgraph.c: Likewise. * config/c6x/c6x.c: Likewise. * config/i386/i386.c: Likewise. * df-core.c: Likewise. * dominance.c: Likewise. * dwarf2out.c: Likewise. * except.c: Likewise. * function.c: Likewise. * gcse.c: Likewise. * genautomata.c: Likewise. * graphds.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * ipa-cp.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-prop.c: Likewise. * ipa-split.c: Likewise. * ipa-utils.c: Likewise. * ira-build.c: Likewise. * lto-cgraph.c: Likewise. * lto-streamer-in.c: Likewise. * lto-symtab.c: Likewise. * opts-global.c: Likewise. * passes.c: Likewise. * ree.c: Likewise. * sched-deps.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched-ir.h: Likewise. * sel-sched.c: Likewise. * stor-layout.c: Likewise. * trans-mem.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-data-ref.c: Likewise. * tree-diagnostic.c: Likewise. * tree-eh.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-predcom.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-stdarg.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * value-prof.c: Likewise. * varasm.c: Likewise. ada/ChangeLog * gcc-interface/decl.c: Replace all vec<T,A>() initializers with vNULL. cp/ChangeLog * name-lookup.c: Replace all vec<T, A>() initializers with vNULL. * semantics.c: Likewise. fortran/ChangeLog * trans-openmp.c: Replace all vec<T, A>() initializers with vNULL. lto/ChangeLog * lto.c: Replace all vec<T, A>() initializers with vNULL. objc/ChangeLog * objc-act.c: Replace all vec<T, A>() initializers with vNULL. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r193677
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r--gcc/tree-ssa-sccvn.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index ed89a5a..a7f0f9a 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -1027,7 +1027,7 @@ copy_reference_ops_from_call (gimple call,
static vec<vn_reference_op_s>
create_reference_ops_from_ref (tree ref)
{
- vec<vn_reference_op_s> result = vec<vn_reference_op_s>();
+ vec<vn_reference_op_s> result = vNULL;
copy_reference_ops_from_ref (ref, &result);
return result;
@@ -1039,7 +1039,7 @@ create_reference_ops_from_ref (tree ref)
static vec<vn_reference_op_s>
create_reference_ops_from_call (gimple call)
{
- vec<vn_reference_op_s> result = vec<vn_reference_op_s>();
+ vec<vn_reference_op_s> result = vNULL;
copy_reference_ops_from_call (call, &result);
return result;
@@ -1316,7 +1316,7 @@ static vec<vn_reference_op_s>
valueize_shared_reference_ops_from_ref (tree ref, bool *valueized_anything)
{
if (!ref)
- return vec<vn_reference_op_s>();
+ return vNULL;
shared_lookup_references.truncate (0);
copy_reference_ops_from_ref (ref, &shared_lookup_references);
shared_lookup_references = valueize_refs_1 (shared_lookup_references,
@@ -1332,7 +1332,7 @@ static vec<vn_reference_op_s>
valueize_shared_reference_ops_from_call (gimple call)
{
if (!call)
- return vec<vn_reference_op_s>();
+ return vNULL;
shared_lookup_references.truncate (0);
copy_reference_ops_from_call (call, &shared_lookup_references);
shared_lookup_references = valueize_refs (shared_lookup_references);
@@ -1452,7 +1452,7 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_)
tree base;
HOST_WIDE_INT offset, maxsize;
static vec<vn_reference_op_s>
- lhs_ops = vec<vn_reference_op_s>();
+ lhs_ops = vNULL;
ao_ref lhs_ref;
bool lhs_ref_ok = false;
@@ -1658,7 +1658,7 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_)
HOST_WIDE_INT offset2, size2, maxsize2;
int i, j;
vec<vn_reference_op_s>
- rhs = vec<vn_reference_op_s>();
+ rhs = vNULL;
vn_reference_op_t vro;
ao_ref r;
@@ -1715,7 +1715,7 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_)
vr->operands.safe_grow (i + 1 + rhs.length ());
if (old == shared_lookup_references
&& vr->operands != old)
- shared_lookup_references = vec<vn_reference_op_s>();
+ shared_lookup_references = vNULL;
}
else
vr->operands.truncate (i + 1 + rhs.length ());
@@ -2507,7 +2507,7 @@ vn_phi_insert (gimple phi, tree result)
void **slot;
vn_phi_t vp1 = (vn_phi_t) pool_alloc (current_info->phis_pool);
unsigned i;
- vec<tree> args = vec<tree>();
+ vec<tree> args = vNULL;
/* Canonicalize the SSA_NAME's to their value number. */
for (i = 0; i < gimple_phi_num_args (phi); i++)
@@ -3672,7 +3672,7 @@ process_scc (vec<tree> scc)
static bool
extract_and_process_scc_for_name (tree name)
{
- vec<tree> scc = vec<tree>();
+ vec<tree> scc = vNULL;
tree x;
/* Found an SCC, pop the components off the SCC stack and
@@ -3721,8 +3721,8 @@ extract_and_process_scc_for_name (tree name)
static bool
DFS (tree name)
{
- vec<ssa_op_iter> itervec = vec<ssa_op_iter>();
- vec<tree> namevec = vec<tree>();
+ vec<ssa_op_iter> itervec = vNULL;
+ vec<tree> namevec = vNULL;
use_operand_p usep = NULL;
gimple defstmt;
tree use;