re PR middle-end/64614 (bogus used initialized warning (in gcc 4.9.2); switch stateme...
authorRichard Biener <rguenther@suse.de>
Fri, 16 Jan 2015 13:26:10 +0000 (13:26 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 16 Jan 2015 13:26:10 +0000 (13:26 +0000)
commit666e8e0603d805541983e493354e96685bf0437d
tree77c2c4cbf400083f8491986b099931ccc2a98ae0
parent6220fdff17b91f6d1e06a119967b716f87a8e82b
re PR middle-end/64614 (bogus used initialized warning (in gcc 4.9.2); switch statement versus &)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR middle-end/64614
* tree-ssa-uninit.c: Include tree-cfg.h.
(MAX_SWITCH_CASES): New define.
(convert_control_dep_chain_into_preds): Handle switch statements.
(is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
(normalize_one_pred_1): Do not split bit-manipulations.
Record (x & CST).

* gcc.dg/uninit-18.c: New testcase.

From-SVN: r219739
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/uninit-18.c [new file with mode: 0644]
gcc/tree-ssa-uninit.c