[llvm-bugs] [Bug 48900] [InstCombine] Infinite loop with select / icmp

via llvm-bugs llvm-bugs at lists.llvm.org
Tue May 4 09:05:12 PDT 2021


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

Sanjay Patel <spatel+llvm at rotateright.com> changed:

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

--- Comment #3 from Sanjay Patel <spatel+llvm at rotateright.com> ---
The existing test looks similar, but it's not the same as the new problem case. 

I added a test that shows we can hit the same infinite loop using a different
combination of predicates here:
https://reviews.llvm.org/rGa6f79b56711e

The opposing transforms are within
InstCombinerImpl::foldICmpWithDominatingICmp() and
canonicalizeMinMaxWithConstant().

For intrinsics, I also added the min/max clamp optimization suggested in the
previous comment::
https://reviews.llvm.org/rG025bb5290379

We could replicate that for cmp+select, but I'm not sure if that would
guarantee that we don't inf-loop. Hopefully, we can switch over to the
intrinsics soon and not have to deal with these conflicts as much within
instcombine.

-- 
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/20210504/9f2e2023/attachment.html>


More information about the llvm-bugs mailing list