llvm-project/llvm/lib/Transforms/Scalar
Alina Sbirlea 6227f021ad [SimpleLoopUnswitch] Update DefaultExit condition to check unreachable is not empty.
Summary:
Update the check for the default exit block to not only check that the
terminator is not unreachable, but also check that unreachable block has
*only* the unreachable instruction.

Reviewers: chandlerc

Subscribers: hiraditya, uabelho, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78277
2020-05-07 13:48:30 -07:00
..
ADCE.cpp [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AlignmentFromAssumptions.cpp [Alignment][NFC] Assume AlignmentFromAssumptions::getNewAlignment is always set. 2020-04-06 14:54:57 +00:00
BDCE.cpp Clang-trunk Generates Wrong Debug values with -O1 2019-11-21 13:53:10 -08:00
CMakeLists.txt [Matrix] Add first set of matrix intrinsics and initial lowering pass. 2019-12-12 15:42:18 +00:00
CallSiteSplitting.cpp [CallSite removal][CallSiteSplitting] Use CallBase instead of CallSite. NFC 2020-04-15 15:38:02 -07:00
ConstantHoisting.cpp [NFC][CostModel] Add TargetCostKind to relevant APIs 2020-05-05 10:35:54 +01:00
ConstantProp.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
CorrelatedValuePropagation.cpp [llvm][NFC][CallSite] Removed CallSite from few implementation details 2020-04-23 10:36:36 -07:00
DCE.cpp [AssumeBundles] preserve knowledge in DCE 2020-04-14 12:48:15 +02:00
DeadStoreElimination.cpp [NFC] Rename *ByValOrInalloca* to *PassPointeeByValue* 2020-04-30 09:42:13 -07:00
DivRemPairs.cpp [DivRemPairs] Freeze operands if they can be undef values 2020-03-25 03:46:14 +09:00
EarlyCSE.cpp [AssumeBundles] adapt Assumption cache to assume bundles 2020-04-13 12:04:51 +02:00
FlattenCFGPass.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
Float2Int.cpp [Float2Int] Stop passing around a reference to the class member Roots. NFC 2020-04-16 15:24:13 +02:00
GVN.cpp [GVN] Reduce expression size (NFC) 2020-04-26 09:43:35 +02:00
GVNHoist.cpp [MemorySSA] Moving at the end often means before terminator. 2019-11-20 17:11:00 -08:00
GVNSink.cpp [GVNSink] Simplify code. NFC. 2020-04-01 13:13:00 +02:00
GuardWidening.cpp Broaden the definition of a "widenable branch" 2019-11-21 10:46:16 -08:00
IVUsersPrinter.cpp
IndVarSimplify.cpp [ValueTracking] Let analyses assume a value cannot be partially poison 2020-04-23 08:08:53 +09:00
InductiveRangeCheckElimination.cpp [BPI][NFC] IRCE shoud qequest BPI through analysis manager. 2020-04-30 16:04:06 +07:00
InferAddressSpaces.cpp Bit-pack some pairs. No functionlity change intended. 2020-04-21 20:40:20 +02:00
InstSimplifyPass.cpp [Utils] Use WeakTrackingVH in vector used as scratch storage. 2020-01-23 16:04:57 -08:00
JumpThreading.cpp [JumpThreading] NFC: Simplify ComputeValueKnownInPredecessorsImpl 2020-04-07 18:37:36 -07:00
LICM.cpp [TTI] Add TargetCostKind argument to getUserCost 2020-04-28 08:57:45 +01:00
LLVMBuild.txt
LoopAccessAnalysisPrinter.cpp
LoopDataPrefetch.cpp Quiet some -Wdocumentation warnings. 2020-05-06 11:23:13 +02:00
LoopDeletion.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
LoopDistribute.cpp [LAA] Move CheckingPtrGroup/PointerCheck outside class (NFC). 2020-04-28 21:47:31 +01:00
LoopFuse.cpp [LoopFusion] Move instructions from FC1.GuardBlock to FC0.GuardBlock and 2020-01-30 18:02:22 +00:00
LoopIdiomRecognize.cpp [IVDescriptors] Clean up includes. 2020-04-19 20:07:47 +01:00
LoopInstSimplify.cpp [Utils] Use WeakTrackingVH in vector used as scratch storage. 2020-01-23 16:04:57 -08:00
LoopInterchange.cpp [LoopInterchange] Fix interchanging contents of preheader BBs 2020-03-13 15:59:37 -04:00
LoopLoadElimination.cpp [LAA] Move CheckingPtrGroup/PointerCheck outside class (NFC). 2020-04-28 21:47:31 +01:00
LoopPassManager.cpp Extend TimeTrace to LLVM's new pass manager 2020-03-06 14:45:19 -08:00
LoopPredication.cpp [BPI][NFC] Reuse post dominantor tree from analysis manager when available 2020-04-30 11:31:03 +07:00
LoopRerollPass.cpp Revert "[SCEV] Move ScalarEvolutionExpander.cpp to Transforms/Utils (NFC)." 2020-01-04 18:44:38 +00:00
LoopRotation.cpp [LoopRotate] Get and update MSSA only if available in legacy pass manager. 2020-02-14 10:47:26 -08:00
LoopSimplifyCFG.cpp [IVDescriptors] Remove IRBuilder.h include; NFC 2020-04-04 12:07:57 +02:00
LoopSink.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
LoopStrengthReduce.cpp [LSR] Don't require register reuse under postinc 2020-05-05 16:04:50 +01:00
LoopUnrollAndJamPass.cpp [LoopUnrollAndJam] Changed safety checks to consider more than 2-levels 2020-05-06 21:47:44 +00:00
LoopUnrollPass.cpp [TTI] Add TargetCostKind argument to getUserCost 2020-04-28 08:57:45 +01:00
LoopUnswitch.cpp [llvm][NFC][CallSite] Remove CallSite from a few trivial locations 2020-04-22 08:39:21 -07:00
LoopVersioningLICM.cpp [CallSite removal] Remove unneeded includes of CallSite.h. NFC 2020-04-23 21:01:48 -07:00
LowerAtomic.cpp [Transforms] Simplify with make_early_inc_range 2020-02-02 00:54:32 -08:00
LowerConstantIntrinsics.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
LowerExpectIntrinsic.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
LowerGuardIntrinsic.cpp Move widenable branch formation into makeGuardControlFlowExplicit helper 2019-11-20 12:54:05 -08:00
LowerMatrixIntrinsics.cpp [llvm][NFC][CallSite] Remove CallSite from a few trivial locations 2020-04-22 08:39:21 -07:00
LowerWidenableCondition.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
MakeGuardsExplicit.cpp D'oh. Fix assert after a84922916e. 2019-11-20 22:22:51 -05:00
MemCpyOptimizer.cpp [llvm][NFC][CallSite] Remove CallSite from a few trivial locations 2020-04-22 08:39:21 -07:00
MergeICmps.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
MergedLoadStoreMotion.cpp [Transforms] Simplify with make_early_inc_range 2020-02-02 00:54:32 -08:00
NaryReassociate.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
NewGVN.cpp [AssumeBundles] preserve information in NewGVN 2020-04-14 12:48:14 +02:00
PartiallyInlineLibCalls.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
PlaceSafepoints.cpp [llvm][NFC] CallSite removal from inliner-related files 2020-04-13 21:28:58 -07:00
Reassociate.cpp [Reassociate] Preserve AAManager and BasicAA analyses. 2020-04-15 16:58:03 -07:00
Reg2Mem.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
RewriteStatepointsForGC.cpp [NFC][CostModel] Add TargetCostKind to relevant APIs 2020-05-05 10:35:54 +01:00
SCCP.cpp [SCCP] Re-use pushToWorkList in pushToWorkListMsg (NFC). 2020-05-04 10:19:39 +01:00
SROA.cpp [SVE] Remove calls to isScalable from Transforms 2020-04-23 13:50:07 -07:00
Scalar.cpp [BasicBlockUtils] Add utility to remove redundant dbg.value instrs 2019-12-16 11:41:21 +01:00
Scalarizer.cpp [Scalarizer] Fix a non-deterministic scatter order problem 2020-04-20 16:05:33 +02:00
SeparateConstOffsetFromGEP.cpp Remove getNumUses() comparisons (NFC) 2020-05-02 11:05:19 +02:00
SimpleLoopUnswitch.cpp [SimpleLoopUnswitch] Update DefaultExit condition to check unreachable is not empty. 2020-05-07 13:48:30 -07:00
SimplifyCFGPass.cpp [SimplifyCFG] Skip merging return blocks if it would break a CallBr. 2020-03-10 14:59:13 +01:00
Sink.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
SpeculateAroundPHIs.cpp [NFC][CostModel] Add TargetCostKind to relevant APIs 2020-05-05 10:35:54 +01:00
SpeculativeExecution.cpp [TTI] Add TargetCostKind argument to getUserCost 2020-04-28 08:57:45 +01:00
StraightLineStrengthReduce.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
StructurizeCFG.cpp Introduce unify-loop-exits pass. 2020-03-30 13:23:56 -04:00
TailRecursionElimination.cpp [CallSite removal] Remove unneeded includes of CallSite.h. NFC 2020-04-23 21:01:48 -07:00
WarnMissedTransforms.cpp [TTI] Clean up includes (NFC). 2020-04-19 20:11:59 +01:00