]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/tree-ssa-ccp.c
* gimple-pretty-print.c (dump_ssaname_info): Print newline also
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Oct 2013 13:55:31 +0000 (13:55 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Oct 2013 13:55:31 +0000 (13:55 +0000)
commitfc08b993096e47f63278b70ea0df4e3ae54115cc
tree3f7b240bb836007eb44a47aff2ecae17e1a2a5ef
parentd9d5743f8314772cdcf12e934ba58543c0d85a79
* gimple-pretty-print.c (dump_ssaname_info): Print newline also
in case of VR_VARYING.  Print get_nonzero_bits if not all ones.
* tree-ssanames.h (struct range_info_def): Add nonzero_bits field.
(set_nonzero_bits, get_nonzero_bits): New prototypes.
* tree-ssa-ccp.c (get_default_value): Use get_range_info to see if
a default def isn't partially constant.
(ccp_finalize): If after IPA, set_range_info if integral SSA_NAME
is known to be partially zero.
(evaluate_stmt): If we'd return otherwise VARYING, use get_range_info
to see if a default def isn't partially constant.
* tree-ssanames.c (set_range_info): Initialize nonzero_bits upon
creation of a range, if VR_RANGE, try to improve nonzero_bits from
the range.
(set_nonzero_bits, get_nonzero_bits): New functions.

* g++.dg/warn/pr33738.C (main): Initialize a2 again to make sure
we warn about it already during VRP1 pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204256 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-pretty-print.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/pr33738.C
gcc/tree-ssa-ccp.c
gcc/tree-ssanames.c
gcc/tree-ssanames.h