[llvm-bugs] [Bug 43188] Incorrect fold of uadd.with.overflow with undef

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Sep 1 05:31:07 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=43188

Nuno Lopes <nunoplopes at sapo.pt> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #5 from Nuno Lopes <nunoplopes at sapo.pt> ---
I've just added support for struct consts in Alive2, so we can verify these now
:)
We now get:
define {i8, i1} @uadd_undef() {
%0:
  %t = uadd_overflow i8 142, undef
  ret {i8, i1} %t
}
=>
define {i8, i1} @uadd_undef() {
%0:
  ret {i8, i1} { undef, 0 }
}


This is still incorrect. It has to be { undef, 1 }.  You cannot get, for
example, {0, 0} in the original program, while the optimized one can produce
that.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190901/966897b3/attachment.html>


More information about the llvm-bugs mailing list