llvm-project/llvm/lib/Transforms/InstCombine
Sanjay Patel 3a27b51b27 [InstCombine] reduce code for freeze of undef
The description was ambiguous about the behavior
when boths select arms are constant or both arms
are not constant. I don't think there's any
evidence to support either way, but this matches
the code with a more specified description.

We can extend this to deal with vector constants
with undef/poison elements. Currently, those don't
get folded anywhere.
2022-04-18 15:14:02 -04:00
..
CMakeLists.txt
InstCombineAddSub.cpp [InstCombine] Fold sub(add(x,y),min/max(x,y)) -> max/min(x,y) (PR38280) 2022-04-11 11:32:56 +01:00
InstCombineAndOrXor.cpp [InstCombine] try to fold low-mask of ashr to lshr 2022-04-11 11:56:40 -04:00
InstCombineAtomicRMW.cpp Cleanup includes: Transform/Scalar 2022-03-03 07:56:34 +01:00
InstCombineCalls.cpp [builtin_object_size] Basic support for posix_memalign 2022-04-08 09:31:11 +02:00
InstCombineCasts.cpp Cleanup includes: Transform/Scalar 2022-03-03 07:56:34 +01:00
InstCombineCompares.cpp [InstCombine] Fold srem(X, PowerOf2) == C into (X & Mask) == C for positive C 2022-04-03 03:57:05 +00:00
InstCombineInternal.h [InstCombine] fold more constant divisor to select-of-constants divisor 2022-04-08 10:19:24 +08:00
InstCombineLoadStoreAlloca.cpp Cleanup includes: Transform/Scalar 2022-03-03 07:56:34 +01:00
InstCombineMulDivRem.cpp [InstCombine] fold more constant remainder to select-of-constants remainder 2022-04-12 09:40:56 +08:00
InstCombineNegator.cpp [InstCombine] Fold sub(Y,and(lshr(X,C),1)) --> add(ashr(shl(X,(BW-1)-C),BW-1),Y) (PR53610) 2022-02-15 13:24:20 +00:00
InstCombinePHI.cpp Reapply [InstCombine] Support switch in phi to cond fold 2022-03-17 10:03:09 +01:00
InstCombineSelect.cpp [InstCombine] canonicalize select with signbit test 2022-04-14 14:28:47 -04:00
InstCombineShifts.cpp [InstCombine] guard against splat-mul corner case 2022-04-11 15:50:13 -04:00
InstCombineSimplifyDemanded.cpp [InstCombine] SimplifyDemandedUseBits - allow and(srem(X,Pow2),C) -> and(X,C) to work on vector types 2022-04-07 15:24:45 +01:00
InstCombineVectorOps.cpp [InstCombine] merge shuffled vector negate and multiply 2022-03-24 10:25:16 -04:00
InstructionCombining.cpp [InstCombine] reduce code for freeze of undef 2022-04-18 15:14:02 -04:00