aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-07-07 15:48:23 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-07-07 15:48:23 +0000
commite5bae89b993cca27165a7b3bcfc33cad5f68992b (patch)
treee593ea89c560060af1cb0a96659d392dc5ae6d94 /gcc/tree-ssa-alias.c
parent77092cda69052ab6d1eca621173e76040266e5d9 (diff)
downloadgcc-e5bae89b993cca27165a7b3bcfc33cad5f68992b.zip
gcc-e5bae89b993cca27165a7b3bcfc33cad5f68992b.tar.gz
gcc-e5bae89b993cca27165a7b3bcfc33cad5f68992b.tar.bz2
tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
2008-07-07 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (struct variable_info): Add is_full_var flag. (new_var_info): Set it to false. (solution_set_add): Correctly handle pointers outside a var and inside a field. (type_safe): Treat variables with is_full_var properly. (do_sd_constraint): Likewise. (do_ds_constraint): Likewise. (process_constraint): Remove zeroing offset for !use_field_sensitive. (get_constraint_for_ptr_offset): New function. (get_constraint_for_component_ref): For addresses at least include the last field of the variable. Handle is_full_vars properly. (get_constraint_for_1): Factor common code, handle POINTER_PLUS_EXPR. (handle_ptr_arith): Remove. (find_func_aliases): Simplify assignment handling. (create_function_info_for): For parameter and result varinfos set is_full_var flag. (create_variable_info_for): Set is_full_var flag whenever we just created a single varinfo for a decl. (init_alias_vars): Initialize use_field_sensitive from max-fields-for-field-sensitive parameter. * gcc.dg/torture/pta-ptrarith-1.c: New testcase. * gcc.dg/torture/pta-ptrarith-2.c: Likewise. * gcc.dg/torture/ipa-pta-1.c: Likewise. From-SVN: r137573
Diffstat (limited to 'gcc/tree-ssa-alias.c')
0 files changed, 0 insertions, 0 deletions