This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 17 Jul 2012 09:19:34 +0000
- Subject: [Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
- Auto-submitted: auto-generated
- References: <bug-53986-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-07-17
CC| |rguenth at gcc dot gnu.org
Component|middle-end |tree-optimization
Summary|missing vrp on bit-mask |missing vrp on bit-mask
|test |test, LSHIFT_EXPR not
| |handled
Ever Confirmed|0 |1
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-17 09:19:34 UTC ---
VRP does not handle LSHIFT like
D.1734_10 = (long unsigned int) D.1731_7;
csui.1_9 = 1 << D.1734_10;
it only handles LSHIFTs with a constant shift amount:
Visiting statement:
D.1734_10 = (long unsigned int) D.1731_8;
Found new range for D.1734_10: [0, 7]
Visiting statement:
csui.1_9 = 1 << D.1734_10;
Found new range for csui.1_9: [0, +INF]
Visiting statement:
D.1735_11 = csui.1_9 & 145;
Found new range for D.1735_11: [0, 145]