diff options
author | Richard Guenther <rguenther@suse.de> | 2005-12-15 10:34:44 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2005-12-15 10:34:44 +0000 |
commit | 6bec9271941b9b72ad47b3b357a243ed0690baa7 (patch) | |
tree | 37e6c4df71824b584a70181905ff6a757f809b5f /gcc/tree-ssa-structalias.c | |
parent | cd6dba21ac4803bde1b149365d543dd81500ded5 (diff) | |
download | gcc-6bec9271941b9b72ad47b3b357a243ed0690baa7.zip gcc-6bec9271941b9b72ad47b3b357a243ed0690baa7.tar.gz gcc-6bec9271941b9b72ad47b3b357a243ed0690baa7.tar.bz2 |
tree-flow.h (okay_component_ref_for_subvars): Remove.
2005-12-15 Richard Guenther <rguenther@suse.de>
* tree-flow.h (okay_component_ref_for_subvars): Remove.
(get_ref_base_and_extent): Declare.
* tree-dfa.c (okay_component_ref_for_subvars): Remove.
(get_ref_base_and_extent): New function.
* tree-ssa-alias.c (find_used_portions): Use it.
* tree-ssa-structalias.c (get_constraint_for_component_ref):
Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
From-SVN: r108568
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r-- | gcc/tree-ssa-structalias.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 7f3446b..9ed4d78 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -2348,11 +2348,8 @@ get_constraint_for_component_ref (tree t, VEC(ce_s, heap) **results, { tree orig_t = t; HOST_WIDE_INT bitsize = -1; + HOST_WIDE_INT bitmaxsize = -1; HOST_WIDE_INT bitpos; - tree offset = NULL_TREE; - enum machine_mode mode; - int unsignedp; - int volatilep; tree forzero; struct constraint_expr *result; unsigned int beforelength = VEC_length (ce_s, *results); @@ -2374,8 +2371,7 @@ get_constraint_for_component_ref (tree t, VEC(ce_s, heap) **results, return; } - t = get_inner_reference (t, &bitsize, &bitpos, &offset, &mode, - &unsignedp, &volatilep, false); + t = get_ref_base_and_extent (t, &bitpos, &bitsize, &bitmaxsize); get_constraint_for (t, results, anyoffset); result = VEC_last (ce_s, *results); @@ -2386,11 +2382,11 @@ get_constraint_for_component_ref (tree t, VEC(ce_s, heap) **results, result->type = SCALAR; /* If we know where this goes, then yay. Otherwise, booo. */ - - if (offset == NULL && bitsize != -1) + if (bitmaxsize != -1 + && bitsize == bitmaxsize) { result->offset = bitpos; - } + } /* FIXME: Handle the DEREF case. */ else if (anyoffset && result->type != DEREF) { |