Bug 36345 - TBAA-pruning of points-to sets ineffective
TBAA-pruning of points-to sets ineffective
Status: RESOLVED FIXED
Product: gcc
Classification: Unclassified
Component: tree-optimization
4.4.0
: P3 enhancement
: 4.4.0
Assigned To: Richard Biener
: alias, missed-optimization
Depends on: 36343
Blocks:
  Show dependency treegraph
 
Reported: 2008-05-27 13:16 UTC by Richard Biener
Modified: 2008-06-12 10:23 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2008-05-29 12:12:40


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2008-05-27 13:16:57 UTC
As we prune only for pointers that point to pointers.  And of course after
the fix for PR36343 we don't prune anything anymore.
Comment 1 Richard Biener 2008-05-29 12:12:40 UTC
Mine.  I have a patch.
Comment 2 Richard Biener 2008-06-12 10:22:29 UTC
Subject: Bug 36345

Author: rguenth
Date: Thu Jun 12 10:21:45 2008
New Revision: 136695

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136695
Log:
2008-06-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36345
	* tree-flow.h (struct ptr_info_def): Align escape_mask,
	add memory_tag_needed flag.
	(may_alias_p): Declare.
	* tree-ssa-alias.c (may_alias_p): Export.
	(set_initial_properties): Use memory_tag_needed flag.
	(update_reference_counts): Likewise.
	(reset_alias_info): Reset memory_tag_needed flag.
	(create_name_tags): Check memory_tag_needed flag.
	(dump_points_to_info_for): Dump it.
	* tree-ssa-structalias.c (struct variable_info): Remove
	directly_dereferenced flag.
	(new_var_info): Do not initialize it.
	(process_constraint_1): Do not set it.
	(update_alias_info): Set is_dereferenced flag.
	(set_uids_in_ptset): Use may_alias_p.
	(set_used_smts): Check memory_tag_needed flag.
	(find_what_p_points_to): Likewise.  Pass is_dereferenced flag.
	* tree-ssa-alias.c (verify_flow_sensitive_alias_info): Check
	memory_tag_needed flag.
	* tree-ssa-alias-warnings.c (dsa_named_for): Try to recover
	from broken design.

	* gcc.c-torture/execute/20020619-1.c: Remove broken part of
	the testcase.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.c-torture/execute/20020619-1.c
    trunk/gcc/tree-flow.h
    trunk/gcc/tree-ssa-alias-warnings.c
    trunk/gcc/tree-ssa-alias.c
    trunk/gcc/tree-ssa-structalias.c
    trunk/gcc/tree-ssa.c

Comment 3 Richard Biener 2008-06-12 10:23:00 UTC
Fixed.