From: Richard Guenther Date: Thu, 15 Nov 2007 09:06:58 +0000 (+0000) Subject: tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to type for TBAA pruning. X-Git-Tag: releases/gcc-4.3.0~1508 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f83ca2512f522d26fd9282b0e803e1a0afeb935d;p=thirdparty%2Fgcc.git tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to type for TBAA pruning. 2007-11-15 Richard Guenther * tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to type for TBAA pruning. (find_what_p_points_to): Call set_uids_in_ptset with the original pointer, not the decl of the solution we collapsed to. From-SVN: r130195 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 308c9353426c..c9e518393be7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-11-15 Richard Guenther + + * tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to + type for TBAA pruning. + (find_what_p_points_to): Call set_uids_in_ptset with the original + pointer, not the decl of the solution we collapsed to. + 2007-11-14 David Daney * config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 479145ab6e9a..3820b1907cbe 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -4719,7 +4719,10 @@ set_uids_in_ptset (tree ptr, bitmap into, bitmap from, bool is_derefed, { unsigned int i; bitmap_iterator bi; - alias_set_type ptr_alias_set = get_alias_set (TREE_TYPE (ptr)); + alias_set_type ptr_alias_set; + + gcc_assert (POINTER_TYPE_P (TREE_TYPE (ptr))); + ptr_alias_set = get_alias_set (TREE_TYPE (TREE_TYPE (ptr))); EXECUTE_IF_SET_IN_BITMAP (from, 0, i, bi) { @@ -4996,7 +4999,7 @@ find_what_p_points_to (tree p) pi->pt_global_mem = 1; } - set_uids_in_ptset (vi->decl, finished_solution, vi->solution, + set_uids_in_ptset (p, finished_solution, vi->solution, vi->directly_dereferenced, vi->no_tbaa_pruning); result = shared_bitmap_lookup (finished_solution);