This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled


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]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]