1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib/Transforms
Sanjay Patel 4345e14522 [InstCombine] avoid infinite loops from min/max canonicalization
The intrinsics have an extra chunk of known bits logic
compared to the normal cmp+select idiom. That allows
folding the icmp in each case to something better, but
that then opposes the canonical form of min/max that
we try to form for a select.

I'm carving out a narrow exception to preserve all
existing regression tests while avoiding the inf-loop.
It seems unlikely that this is the only bug like this
left, but this should fix:
https://llvm.org/PR51419

(cherry picked from commit b267d3ce8defa092600bda717ff18440d002f316)
2021-08-16 11:35:38 -07:00
..
AggressiveInstCombine [NewPM] Don't mark AA analyses as preserved 2021-05-18 13:49:03 -07:00
CFGuard
Coroutines [Coroutine] Record the elided coroutines 2021-07-27 13:14:09 +08:00
Hello
InstCombine [InstCombine] avoid infinite loops from min/max canonicalization 2021-08-16 11:35:38 -07:00
Instrumentation [ASAN] NFC: Remove redundant variable 2021-07-27 12:02:37 -07:00
IPO [Attributor][NFC] Try to make the windows build bots happy 2021-08-11 09:15:37 -07:00
ObjCARC [ObjC][ARC] Prevent moving objc_retain calls past objc_release calls 2021-07-05 12:16:15 -07:00
Scalar [DebugInfo][LSR] Avoid crashes on large integer inputs 2021-08-05 10:38:19 +01:00
Utils [DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR 2021-08-05 10:34:33 +01:00
Vectorize [LoopVectorize] Improve vectorisation of some intrinsics by treating them as uniform 2021-08-16 11:32:41 -07:00
CMakeLists.txt [NewPM][HelloWorld] Move HelloWorld to Utils 2021-02-03 12:59:40 -08:00