diff options
author | Richard Guenther <rguenther@suse.de> | 2010-04-07 15:31:37 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-04-07 15:31:37 +0000 |
commit | 2ea9dc6459761bae70146f8ea85436f70eca25eb (patch) | |
tree | 24b98f856ca6626ac198b3511f687951a4a1ec86 /gcc/tree-ssa-structalias.c | |
parent | 5fd5c97a3458128c95577bbff190795f39e4cdfb (diff) | |
download | gcc-2ea9dc6459761bae70146f8ea85436f70eca25eb.zip gcc-2ea9dc6459761bae70146f8ea85436f70eca25eb.tar.gz gcc-2ea9dc6459761bae70146f8ea85436f70eca25eb.tar.bz2 |
ipa-reference.c (mark_load): Use get_base_address.
2010-04-07 Richard Guenther <rguenther@suse.de>
* ipa-reference.c (mark_load): Use get_base_address.
(mark_store): Likewise.
* tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
inserting GIMPLE_NOPs into the IL.
* tree-ssa-structalias.c (get_constraint_for_component_ref):
Explicitly strip handled components and indirect references.
* fold-const.c (fold_unary_loc): Do not strip qualifiers when
folding address expressions.
* gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
* tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
operand_equal_p to compare decls.
(ptr_deref_may_alias_decl_p): Likewise.
* tree-ssa-operands.c (get_asm_expr_operands): Simplify
* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
Handle reversed comparison ops.
* tree-sra.c (asm_visit_addr): Use get_base_address.
* ipa-prop.c (visit_store_addr_for_mod_analysis): Use
get_base_address.
* ipa-reference.c (mark_address): Use get_base_address.
From-SVN: r158069
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r-- | gcc/tree-ssa-structalias.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 1516634..2384099 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -2951,7 +2951,8 @@ get_constraint_for_component_ref (tree t, VEC(ce_s, heap) **results, /* Some people like to do cute things like take the address of &0->a.b */ forzero = t; - while (!SSA_VAR_P (forzero) && !CONSTANT_CLASS_P (forzero)) + while (handled_component_p (forzero) + || INDIRECT_REF_P (forzero)) forzero = TREE_OPERAND (forzero, 0); if (CONSTANT_CLASS_P (forzero) && integer_zerop (forzero)) |