]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/29738 (Missed constant propagation into loops)
authorZdenek Dvorak <dvorakz@suse.cz>
Thu, 9 Nov 2006 00:09:43 +0000 (01:09 +0100)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Thu, 9 Nov 2006 00:09:43 +0000 (00:09 +0000)
commit106dec717fad0279496049194edfbcad782b40da
treef954bb3cfcd6ce1c81fbe5f7585478ecdae6ff10
parent5e3c2d4c683546748ea64ac2904e1fcc40300d64
re PR tree-optimization/29738 (Missed constant propagation into loops)

PR tree-optimization/29738
* tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments.
(ccp_lattice_t): Remove UNKNOWN_VAL.
(dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node):
Do not handle UNKNOWN_VAL.
(get_default_value): Set initial value of virtual operands to
VARYING.
(get_value): Always use get_default_value on uninitialized
operands.
(set_value_varying, surely_varying_stmt_p): New functions.
(set_lattice_value): Do not pass argument to get_value.
Do not handle UNKNOWN_VAL.
(likely_value): Follow the semantics described in the comment.
(ccp_initialize): Use surely_varying_stmt_p.  Do not mark
phi nodes DONT_SIMULATE_AGAIN.
(ccp_fold): Do not pass argument to get_value.
(fold_const_aggregate_ref, visit_assignment): Ditto.  Do not
handle UNKNOWN_VAL.

* gcc.dg/tree-ssa/ssa-ccp-14.c: New test.
* gcc.dg/tree-ssa/ssa-ccp-15.c: New test.

From-SVN: r118602
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-14.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-15.c [new file with mode: 0644]
gcc/tree-ssa-ccp.c