llvm/lib/Transforms/Utils
Craig Topper d49344495d [KnownBits] Add bit counting methods to KnownBits struct and use them where possible
This patch adds min/max population count, leading/trailing zero/one bit counting methods.

The min methods return answers based on bits that are known without considering unknown bits. The max methods give answers taking into account the largest count that unknown bits could give.

Differential Revision: https://reviews.llvm.org/D32931

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302925 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 17:20:30 +00:00
..
AddDiscriminators.cpp [AddDiscriminators] Assign discriminators to MemIntrinsic calls. 2017-04-11 19:07:30 +00:00
ASanStackFrameLayout.cpp
BasicBlockUtils.cpp Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +00:00
BreakCriticalEdges.cpp
BuildLibCalls.cpp TargetLibraryInfo: Introduce wcslen 2017-05-05 20:25:50 +00:00
BypassSlowDivision.cpp [KnownBits] Add bit counting methods to KnownBits struct and use them where possible 2017-05-12 17:20:30 +00:00
CloneFunction.cpp Make it illegal for two Functions to point to the same DISubprogram 2017-05-09 19:47:37 +00:00
CloneModule.cpp Remove spurious cast of nullptr. NFC. 2017-05-11 08:53:00 +00:00
CMakeLists.txt MemorySSA: Move to Analysis, from Transforms/Utils. It's used as 2017-04-11 20:06:36 +00:00
CmpInstAnalysis.cpp [APInt] Rename getSignBit to getSignMask 2017-04-20 16:56:25 +00:00
CodeExtractor.cpp [CodeExtractor]: Fixup use refs of the old phi. 2017-04-25 04:51:19 +00:00
CtorUtils.cpp
DemoteRegToStack.cpp Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
EscapeEnumerator.cpp Suppress all uses of LLVM_END_WITH_NULL. NFC. 2017-05-09 19:31:13 +00:00
Evaluator.cpp [IR] Redesign the case iterator in SwitchInst to actually be an iterator 2017-04-12 07:27:28 +00:00
FlattenCFG.cpp
FunctionComparator.cpp Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
FunctionImportUtils.cpp
GlobalStatus.cpp
ImportedFunctionsInliningStatistics.cpp [ThinLTO] Correct counting of functions in inliner stats 2017-03-24 17:59:06 +00:00
InlineFunction.cpp [ProfileSummary] Make getProfileCount a non-static member function. 2017-05-09 23:21:10 +00:00
InstructionNamer.cpp [InstNamer] Use range-for 2017-05-08 23:18:43 +00:00
IntegerDivision.cpp
LCSSA.cpp [LCSSA] Don't insert tokens into the worklist at all. 2017-04-17 14:32:05 +00:00
LibCallsShrinkWrap.cpp [LibCallsShrinkWrap] Remove an unnecessary class member variable. 2017-04-26 21:28:40 +00:00
LLVMBuild.txt
Local.cpp [KnownBits] Add bit counting methods to KnownBits struct and use them where possible 2017-05-12 17:20:30 +00:00
LoopSimplify.cpp Kill off the old SimplifyInstruction API by converting remaining users. 2017-04-28 19:55:38 +00:00
LoopUnroll.cpp Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +00:00
LoopUnrollPeel.cpp [LoopPeeling] Get rid of Phis that become invariant after N steps 2017-04-17 09:52:02 +00:00
LoopUnrollRuntime.cpp Avoid warning of unused variable in release builds. NFC 2017-05-03 19:25:04 +00:00
LoopUtils.cpp Add a late IR expansion pass for the experimental reduction intrinsics. 2017-05-10 09:42:49 +00:00
LoopVersioning.cpp
LowerInvoke.cpp
LowerMemIntrinsics.cpp
LowerSwitch.cpp LowerSwitch: Fix producing invalid IR on unreachable code 2017-04-21 23:54:12 +00:00
Mem2Reg.cpp [Mem2Reg] Remove AliasSetTracker updating logic from the pass. 2017-04-09 20:47:14 +00:00
MetaRenamer.cpp [MetaRenamer] Don't rename library functions. 2017-03-23 23:21:07 +00:00
ModuleUtils.cpp Suppress all uses of LLVM_END_WITH_NULL. NFC. 2017-05-09 19:31:13 +00:00
NameAnonGlobals.cpp
PredicateInfo.cpp Simplify the code and remove dead code 2017-04-11 08:21:27 +00:00
PromoteMemoryToRegister.cpp Kill off the old SimplifyInstruction API by converting remaining users. 2017-04-28 19:55:38 +00:00
SanitizerStats.cpp
SimplifyCFG.cpp [ConstantRange][SimplifyCFG] Add a helper method to allow SimplifyCFG to determine if a ConstantRange has more than 8 elements without requiring an allocation if the ConstantRange is 64-bits wide. 2017-05-07 22:22:11 +00:00
SimplifyIndVar.cpp Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +00:00
SimplifyInstructions.cpp Kill off the old SimplifyInstruction API by converting remaining users. 2017-04-28 19:55:38 +00:00
SimplifyLibCalls.cpp Suppress all uses of LLVM_END_WITH_NULL. NFC. 2017-05-09 19:31:13 +00:00
SplitModule.cpp
SSAUpdater.cpp
StripGCRelocates.cpp
StripNonLineTableDebugInfo.cpp
SymbolRewriter.cpp
UnifyFunctionExitNodes.cpp
Utils.cpp MemorySSA: Move to Analysis, from Transforms/Utils. It's used as 2017-04-11 20:06:36 +00:00
ValueMapper.cpp Suppress all uses of LLVM_END_WITH_NULL. NFC. 2017-05-09 19:31:13 +00:00
VNCoercion.cpp [GVN] Fix a crash on encountering non-integral pointers 2017-05-09 21:07:20 +00:00