tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads.
authorDaniel Berlin <dberlin@dberlin.org>
Mon, 6 Feb 2006 14:22:00 +0000 (14:22 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Mon, 6 Feb 2006 14:22:00 +0000 (14:22 +0000)
commit85300b46921605923dadc0368faf992ec1e58e9d
treeee74efc37bf5d056e4f314db64056e617cb96387
parent8a46b94f6ce2aeeb147184fbeaee8d6fb2e7a256
tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads.

2006-02-06  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads.
(ANTIC_SAFE_LOADS): New macro.
(find_or_generate_expression): Add prototype.
(set_contains_value): Allow null set for sake of not always having
to allocate ANTIC_SAFE_LOADS.
(phi_translate): Move placement of AGGREGATE_TYPE_P check.
Allow COMPONENT_REF too.
(valid_in_set): Allow COMPONENT_REF.
Check ANTIC_SAFE_LOADS too.
(compute_antic_aux): Print out ANTIC_SAFE_LOADS.
(compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and
rename.
(can_PRE_operation): Add COMPONENT_REF.
(create_component_ref_by_pieces): New function.
(create_expression_by_pieces): Use create_component_ref_by_pieces.
(insert_aux): Move AGGREGATE_TYPE_P check here.
(compute_avail): Set bb local stmt uids.
(pass_pre): Use TODO_update_ssa_only_virtuals.

2006-02-06  Daniel Berlin  <dberlin@dberlin.org>

* gcc.dg/tree-ssa/loadpre10.c: New test.
* gcc.dg/tree-ssa/loadpre11.c: Ditto.
* gcc.dg/tree-ssa/loadpre6.c: Expect one more elimination.
* gcc.dg/tree-ssa/loadpre4.c: This should pass now.

From-SVN: r110644
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/loadpre10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/loadpre11.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/loadpre4.c
gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c
gcc/tree-ssa-pre.c