OSDN Git Service

2010-02-05 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2010 15:28:31 +0000 (15:28 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2010 15:28:31 +0000 (15:28 +0000)
commit6872bf3c9ec31fbfa08c92fffb68780cfcd9eb15
tree229795994b4de581bb95aae0ad647146d6c5a116
parent1697bcd26ec304453fb25abdd7fdf6dd55992e54
2010-02-05  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (get_symbol_constant_value): Strip all
conversions.
(fold_const_aggregate_ref): Likewise.
(ccp_fold_stmt): Substitute loads.
(maybe_fold_reference): Verify types before substituting.
Unshare properly.
(fold_gimple_assign): Unshare properly.
(fold_stmt_1): Insert conversion if necessary before replacing
the RHS.

* gcc.dg/tree-ssa/ssa-ccp-28.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156519 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-28.c [new file with mode: 0644]
gcc/tree-ssa-ccp.c