2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-24 20:01:19 +08:00

tree-ssa-alias.c (merge_pointed_to_info): Fix comment regarding PT_MALLOC.

* tree-ssa-alias.c (merge_pointed_to_info): Fix comment
	regarding PT_MALLOC.

From-SVN: r91164
This commit is contained in:
Diego Novillo 2004-11-24 14:46:23 +00:00 committed by Diego Novillo
parent 4f51451498
commit 3eebae0bb1
2 changed files with 15 additions and 13 deletions

@ -1,3 +1,8 @@
2004-11-24 Diego Novillo <dnovillo@redhat.com>
* tree-ssa-alias.c (merge_pointed_to_info): Fix comment
regarding PT_MALLOC.
2004-11-24 Joseph Myers <joseph@codesourcery.com>
* config/i386/i386.c (optimization_options): Use

@ -1714,20 +1714,17 @@ merge_pointed_to_info (struct alias_info *ai, tree dest, tree orig)
...
P_j = P_i + X;
P_j would be marked as PT_MALLOC, which is wrong because
PT_MALLOC implies that the pointer may not point to another
variable.
P_j would be marked as PT_MALLOC, however we currently do not
handle cases of more than one pointer pointing to the same
malloc'd area.
FIXME 1: Subsequent analysis may determine that P_j
cannot alias anything else, but we are being conservative
here.
FIXME 2: If the merging comes from a copy assignment, we
ought to merge PT_MALLOC, but then both pointers would end up
getting different name tags because create_name_tags is not
smart enough to determine that the two come from the same
malloc call. Copy propagation before aliasing should cure
this. */
FIXME: If the merging comes from an expression that preserves
the PT_MALLOC attribute (copy assignment, address
arithmetic), we ought to merge PT_MALLOC, but then both
pointers would end up getting different name tags because
create_name_tags is not smart enough to determine that the
two come from the same malloc call. Copy propagation before
aliasing should cure this. */
gcc_assert (orig_pi != dest_pi);
dest_pi->pt_malloc = 0;