llvm/lib/Transforms/Utils
Daniel Berlin 4ddfe6915d PredicateInfo: Support switch statements
Summary:
Depends on D29606 and D29682

Makes us pass GVN's edge.ll (we also will pass a few other testcases
they just need cleaning up).

Thoughts on the Predicate* hiearchy of classes especially welcome :)
(it's not clear to me how best to organize it, and currently, the getBlock* seems ... uglier than maybe wasting a field somewhere or something).

Reviewers: davide

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295889 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-22 22:20:58 +00:00
..
AddDiscriminators.cpp Encode duplication factor from loop vectorization and loop unrolling to discriminator. 2017-02-10 21:09:07 +00:00
ASanStackFrameLayout.cpp
BasicBlockUtils.cpp [BasicBlockUtils] Use getFirstNonPHIOrDbg to set debugloc for instructions created in SplitBlockPredecessors 2017-02-14 21:10:40 +00:00
BreakCriticalEdges.cpp
BuildLibCalls.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
BypassSlowDivision.cpp
CloneFunction.cpp [JumpThreading] Re-enable JumpThreading for guards 2017-02-17 04:21:14 +00:00
CloneModule.cpp Cloning: Copy comdats when cloning globals. 2017-01-18 20:02:31 +00:00
CMakeLists.txt NVPTX: Extract mem intrinsic expansions into utilities 2017-02-08 17:49:52 +00:00
CmpInstAnalysis.cpp
CodeExtractor.cpp Use const-ref in range-loop for to avoid copying pairs of std::string 2017-02-22 06:34:04 +00:00
CtorUtils.cpp
DemoteRegToStack.cpp
EscapeEnumerator.cpp
Evaluator.cpp
FlattenCFG.cpp
FunctionComparator.cpp
FunctionImportUtils.cpp FunctionImport: Use IRMover directly. 2017-02-03 16:56:27 +00:00
GlobalStatus.cpp [Transforms/Utils] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-14 00:32:38 +00:00
ImportedFunctionsInliningStatistics.cpp
InlineFunction.cpp [InlineFunction] use getFunction(); NFC 2017-02-15 15:22:18 +00:00
InstructionNamer.cpp
IntegerDivision.cpp
LCSSA.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
LibCallsShrinkWrap.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
LLVMBuild.txt
Local.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
LoopSimplify.cpp [LoopSimplify] Simplify how we compute UniqueExit 2017-02-21 19:10:58 +00:00
LoopUnroll.cpp Encode duplication factor from loop vectorization and loop unrolling to discriminator. 2017-02-10 21:09:07 +00:00
LoopUnrollPeel.cpp Update domtree incrementally in loop peeling. 2017-01-24 06:58:39 +00:00
LoopUnrollRuntime.cpp [LoopUnroll] Use addClonedBlockToLoopInfo to clone the top level loop (NFC) 2017-01-31 11:13:44 +00:00
LoopUtils.cpp Fix up a comment. NFC. 2017-01-18 19:05:48 +00:00
LoopVersioning.cpp [LoopVersioning] Require loop-simplify form for loop versioning. 2016-12-19 17:13:37 +00:00
LowerInvoke.cpp
LowerMemIntrinsics.cpp NVPTX: Extract mem intrinsic expansions into utilities 2017-02-08 17:49:52 +00:00
LowerSwitch.cpp
Mem2Reg.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
MemorySSA.cpp Move updating functions to MemorySSAUpdater. 2017-02-22 22:19:55 +00:00
MemorySSAUpdater.cpp Move updating functions to MemorySSAUpdater. 2017-02-22 22:19:55 +00:00
MetaRenamer.cpp
ModuleUtils.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
NameAnonGlobals.cpp
PredicateInfo.cpp PredicateInfo: Support switch statements 2017-02-22 22:20:58 +00:00
PromoteMemoryToRegister.cpp Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
SanitizerStats.cpp
SimplifyCFG.cpp SimplifyCFG: Register cloned assume intrinsics with assumption cache when creating critical edge. 2017-02-15 03:01:11 +00:00
SimplifyIndVar.cpp
SimplifyInstructions.cpp [ValueTracking] emit a remark when we detect a conflicting assumption (PR31809) 2017-02-06 18:26:06 +00:00
SimplifyLibCalls.cpp [LangRef] Make @llvm.sqrt(x) return undef, rather than have UB, for negative x. 2017-01-27 00:58:03 +00:00
SplitModule.cpp
SSAUpdater.cpp [Target, Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-18 00:57:48 +00:00
StripGCRelocates.cpp
StripNonLineTableDebugInfo.cpp
SymbolRewriter.cpp
UnifyFunctionExitNodes.cpp
Utils.cpp Add PredicateInfo utility and printing pass 2017-02-07 21:10:46 +00:00
ValueMapper.cpp "Use" lambda captures which are otherwise only used in asserts. NFC 2017-01-13 21:02:41 +00:00