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/64853] [5 Regression] wrong code at -Os and above on x86_64-linux-gnu


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64853

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think the problem is that:


Visiting statement:
_15 = _56 & 1;
Applying pattern match.pd:312, gimple-match.c:13772
Applying pattern match.pd:235, gimple-match.c:13525
Match-and-simplified _56 & 1 to 0
Intersecting
  [0, 0]
and
  [0, 1]
to
  [0, 0]
Found new range for _15: [0, 0]


might be reasonable during iteration, when not yet considering the backedge as
executable, but we actually never visit this statement again, perhaps due to
match-and-simplify looking at earlier statements.  Richard, can you please have
a look?


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