1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Transforms
Nikita Popov e62476ce5e [InstCombine] Simplify select operand based on equality condition
For selects of the type X == Y ? A : B, check if we can simplify A
by using the X == Y equality and replace the operand if that's
possible. We already try to do this in InstSimplify, but will only
fold if the result of the simplification is the same as B, in which
case the select can be dropped entirely. Here the select will be
retained, just one operand simplified.

As we are performing an actual replacement here, we don't have
problems with refinement / poison values.

Differential Revision: https://reviews.llvm.org/D87480
2020-09-14 20:07:06 +02:00
..
AggressiveInstCombine [SVE] Remove calls to VectorType::getNumElements from AggressiveInstCombine 2020-08-14 16:40:34 -07:00
CFGuard [NFCI][IR] Introduce CallBase::Create() wrapper 2020-07-07 01:16:36 +03:00
Coroutines [Coroutine] Make dealing with alloca spills more robust 2020-09-08 10:59:13 -07:00
Hello
InstCombine [InstCombine] Simplify select operand based on equality condition 2020-09-14 20:07:06 +02:00
Instrumentation GCOVProfiling: Avoid use-after-move 2020-09-13 12:54:36 -07:00
IPO [ArgumentPromotion]: Copy function metadata after promoting arguments 2020-09-10 13:08:57 -04:00
ObjCARC [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an 2020-08-28 17:45:14 -07:00
Scalar [DSE] Only eliminate candidates that always store the same loc. 2020-09-14 12:06:58 +01:00
Utils collectBitParts - use const references. NFCI. 2020-09-14 18:23:00 +01:00
Vectorize [LV][ARM] Add preferInloopReduction target hook. 2020-09-12 17:47:04 +01:00
CMakeLists.txt
LLVMBuild.txt