mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
adddf2a5ad
This reverts commit 11dccf8d3aa5d55210f8b886fb21926c7a8353ca. A bootstrapped clang crashes (due to ArrayRef::front called on an empty ArrayRef) when compiling some files. Very strangely, this only reproduces with modules. ``` 13 0x0000564d3349e968 llvm::ArrayRef<llvm::BasicBlock*>::front() const /proc/self/cwd/llvm/include/llvm/ADT/ArrayRef.h:160:7 14 0x0000564d3349e896 llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getHeader() const /proc/self/cwd/llvm/include/llvm/Analysis/LoopInfo.h:104:50 15 0x0000564d3349fd9d llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getLoopLatch() const /proc/self/cwd/llvm/include/llvm/Analysis/LoopInfoImpl.h:210:11 16 0x0000564d33593c8a llvm::ScalarEvolution::computeBackedgeTakenCount(llvm::Loop const*, bool) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:6933:15 17 0x0000564d33592ebc llvm::ScalarEvolution::getBackedgeTakenInfo(llvm::Loop const*) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:0:30 18 0x0000564d33593a54 llvm::ScalarEvolution::getBackedgeTakenCount(llvm::Loop const*, llvm::ScalarEvolution::ExitCountKind) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:6487:36 19 0x0000564d32be2402 llvm::ScalarEvolution::getConstantMaxBackedgeTakenCount(llvm::Loop const*) /proc/self/cwd/llvm/include/llvm/Analysis/ScalarEvolution.h:768:5 20 0x0000564d33590807 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:5495:19 21 0x0000564d320abab7 llvm::ScalarEvolution::getSignedRange(llvm::SCEV const*) /proc/self/cwd/llvm/include/llvm/Analysis/ScalarEvolution.h:840:12 22 0x0000564d335a03aa llvm::ScalarEvolution::isKnownPredicateViaConstantRanges(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:9239:60 23 0x0000564d33586a80 llvm::ScalarEvolution::isKnownViaNonRecursiveReasoning(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:10284:60 ``` |
||
---|---|---|
.. | ||
ADCE | ||
AddDiscriminators | ||
AggressiveInstCombine | ||
AlignmentFromAssumptions | ||
ArgumentPromotion | ||
AtomicExpand | ||
Attributor | ||
BDCE | ||
BlockExtractor | ||
BranchFolding | ||
CalledValuePropagation | ||
CallSiteSplitting | ||
CanonicalizeAliases | ||
CanonicalizeFreezeInLoops | ||
CodeExtractor | ||
CodeGenPrepare | ||
ConstantHoisting | ||
ConstantMerge | ||
ConstraintElimination | ||
Coroutines | ||
CorrelatedValuePropagation | ||
CrossDSOCFI | ||
DCE | ||
DeadArgElim | ||
DeadStoreElimination | ||
DivRemPairs | ||
EarlyCSE | ||
EliminateAvailableExternally | ||
EntryExitInstrumenter | ||
ExpandMemCmp | ||
FixIrreducible | ||
Float2Int | ||
ForcedFunctionAttrs | ||
FunctionAttrs | ||
FunctionImport | ||
GCOVProfiling | ||
GlobalDCE | ||
GlobalMerge | ||
GlobalOpt | ||
GlobalSplit | ||
GuardWidening | ||
GVN | ||
GVNHoist | ||
GVNSink | ||
HardwareLoops | ||
HelloNew | ||
HotColdSplit | ||
IndirectBrExpand | ||
IndVarSimplify | ||
InferAddressSpaces | ||
InferFunctionAttrs | ||
Inline | ||
InstCombine | ||
InstMerge | ||
InstNamer | ||
InstSimplify | ||
InterleavedAccess | ||
Internalize | ||
IRCE | ||
JumpThreading | ||
LCSSA | ||
LICM | ||
LoadStoreVectorizer | ||
LoopDataPrefetch | ||
LoopDeletion | ||
LoopDistribute | ||
LoopFusion | ||
LoopIdiom | ||
LoopInstSimplify | ||
LoopInterchange | ||
LoopLoadElim | ||
LoopPredication | ||
LoopReroll | ||
LoopRotate | ||
LoopSimplify | ||
LoopSimplifyCFG | ||
LoopStrengthReduce | ||
LoopTransformWarning | ||
LoopUnroll | ||
LoopUnrollAndJam | ||
LoopUnswitch | ||
LoopVectorize | ||
LoopVersioning | ||
LoopVersioningLICM | ||
LowerAtomic | ||
LowerConstantIntrinsics | ||
LowerExpectIntrinsic | ||
LowerGuardIntrinsic | ||
LowerInvoke | ||
LowerMatrixIntrinsics | ||
LowerSwitch | ||
LowerTypeTests | ||
LowerWidenableCondition | ||
MakeGuardsExplicit | ||
Mem2Reg | ||
MemCpyOpt | ||
MergeFunc | ||
MergeICmps | ||
MetaRenamer | ||
NameAnonGlobals | ||
NaryReassociate | ||
NewGVN | ||
ObjCARC | ||
OpenMP | ||
PartialInlining | ||
PartiallyInlineLibCalls | ||
PGOProfile | ||
PhaseOrdering | ||
PlaceSafepoints | ||
PreISelIntrinsicLowering | ||
PruneEH | ||
Reassociate | ||
Reg2Mem | ||
RewriteStatepointsForGC | ||
SafeStack | ||
SampleProfile | ||
ScalarizeMaskedMemIntrin | ||
Scalarizer | ||
SCCP | ||
SeparateConstOffsetFromGEP | ||
SimpleLoopUnswitch | ||
SimplifyCFG | ||
Sink | ||
SLPVectorizer | ||
SpeculateAroundPHIs | ||
SpeculativeExecution | ||
SROA | ||
StraightLineStrengthReduce | ||
StripDeadPrototypes | ||
StripSymbols | ||
StructurizeCFG | ||
SyntheticCountsPropagation | ||
TailCallElim | ||
ThinLTOBitcodeWriter | ||
TypePromotion/ARM | ||
UnifyFunctionExitNodes | ||
UnifyLoopExits | ||
UniqueInternalLinkageNames | ||
Util | ||
VectorCombine | ||
WholeProgramDevirt |