llvm-project/llvm/lib/Transforms/InstCombine
Sanjay Patel ddc1b40f26 [InstCombine] reduce more checks for power-of-2-or-zero using ctpop
Extends the transform from:
rL364341
...to include another (more common?) pattern that tests whether a
value is a power-of-2 (including or excluding zero).

llvm-svn: 364856
2019-07-01 22:00:00 +00:00
..
CMakeLists.txt [InstCombine] Optimize `atomicrmw <op>, 0` into `load atomic` when possible 2019-02-07 21:27:23 +00:00
InstCombineAddSub.cpp [InstCombine] (Y + ~X) + 1 --> Y - X fold (PR42459) 2019-07-01 15:55:24 +00:00
InstCombineAndOrXor.cpp [InstCombine] squash is-not-power-of-2 using ctpop 2019-06-24 22:35:26 +00:00
InstCombineAtomicRMW.cpp [InstCombine] Extend saturating idempotent atomicrmw transform to FP 2019-03-01 19:50:36 +00:00
InstCombineCalls.cpp [InstCombine] reduce funnel-shift i16 X, X, 8 to bswap X 2019-06-24 15:20:49 +00:00
InstCombineCasts.cpp [InstCombine] Update fptrunc (fneg x)) -> (fneg (fptrunc x) for unary FNeg 2019-06-11 15:45:41 +00:00
InstCombineCompares.cpp [InstCombine] reduce more checks for power-of-2-or-zero using ctpop 2019-07-01 22:00:00 +00:00
InstCombineInternal.h [InstCombine] Refactor OptimizeOverflowCheck; NFCI 2019-05-26 11:43:37 +00:00
InstCombineLoadStoreAlloca.cpp Use the DataLayout::typeSizeEqualsStoreSize helper. NFC 2019-05-24 09:20:20 +00:00
InstCombineMulDivRem.cpp [InstCombine] canonicalize fdiv after fmul if reassociation is allowed 2019-04-15 13:23:38 +00:00
InstCombinePHI.cpp [InstCombine] SliceUpIllegalIntegerPHI - bail on out of range shifts 2019-06-24 13:13:36 +00:00
InstCombineSelect.cpp [InstCombine] canonicalize fcmp+select to minnum/maxnum intrinsics 2019-06-30 13:40:31 +00:00
InstCombineShifts.cpp [InstCombine] Shift amount reassociation (PR42391) 2019-06-29 11:51:50 +00:00
InstCombineSimplifyDemanded.cpp [IntrinsicEmitter] Extend argument overloading with forward references. 2019-06-13 08:19:33 +00:00
InstCombineTables.td InstCombine/AMDGPU: Add dimension-aware image intrinsics to SimplifyDemanded 2018-06-21 13:37:31 +00:00
InstCombineVectorOps.cpp [InstCombine] simplify code for inserts -> splat; NFC 2019-06-26 15:52:59 +00:00
InstructionCombining.cpp InstCombine: Preserve nuw when reassociating nuw ops [3/3] 2019-06-24 21:37:03 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00