gimple-pretty-print.c (dump_ssaname_info): Print newline also in case of VR_VARYING.
authorJakub Jelinek <jakub@redhat.com>
Thu, 31 Oct 2013 13:55:31 +0000 (14:55 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 31 Oct 2013 13:55:31 +0000 (14:55 +0100)
commitc853f62af3d69969bfca8e29c2ee17cb77fc6b1a
tree3f7b240bb836007eb44a47aff2ecae17e1a2a5ef
parentd8202b848c1d8b270fb9f82c8e91b507ec266cdb
gimple-pretty-print.c (dump_ssaname_info): Print newline also in case of VR_VARYING.

* 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.

From-SVN: r204256
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