llvm-project/llvm/lib/IR
Fedor Sergeev cc7cb05e9d [BasicBlock] fix looping in getPostdominatingDeoptimizeCall
Blindly following unique-successors chain appeared to be a bad idea.
In a degenerate case when block jumps to itself that goes into endless loop.

Discovered this problem when playing with additional changes,
managed to reproduce it on existing LoopPredication code.

Fix by checking a "visited" set while iterating through unique successors.

Reviewed By: skatkov

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72908
2020-01-17 15:40:02 +03:00
..
AbstractCallSite.cpp [Attributor] Use abstract call sites to determine associated arguments 2019-12-31 01:33:22 -06:00
AsmWriter.cpp [ThinLTO] Always import constants 2020-01-15 19:29:01 +03:00
AttributeImpl.h [Alignment][NFC] Attributes use Align/MaybeAlign 2019-10-22 09:51:06 +00:00
Attributes.cpp [IR] Use a reference in a range-based for 2019-12-17 21:57:58 +01:00
AttributesCompatFunc.td
AutoUpgrade.cpp AArch64: fix bitcode upgrade of @llvm.neon.addp. 2020-01-14 13:41:32 +00:00
BasicBlock.cpp [BasicBlock] fix looping in getPostdominatingDeoptimizeCall 2020-01-17 15:40:02 +03:00
CMakeLists.txt [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
Comdat.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ConstantFold.cpp [ConstantFold][SVE] Fix constant folding for shufflevector. 2019-12-09 15:31:50 -08:00
ConstantFold.h Add FNeg IR constant folding support 2019-05-05 16:07:09 +00:00
ConstantRange.cpp [ConstantRange] Respect destination bitwidth for cast results. 2019-12-27 17:38:34 +00:00
Constants.cpp [IR] fix crash in Constant::isElementWiseEqual() with FP types 2020-01-16 16:49:16 -05:00
ConstantsContext.h [ConstantFold][SVE] Fix constant folding for shufflevector. 2019-12-09 15:31:50 -08:00
Core.cpp IR: remove "else" after "return". NFCI. 2020-01-09 15:00:54 +00:00
DIBuilder.cpp Fix case style warnings in DIBuilder. NFC. 2019-12-23 07:27:18 +00:00
DataLayout.cpp Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
DebugInfo.cpp DebugInfo: Factor out logic to update locations in MD_loop metadata, NFC 2020-01-15 13:02:36 -08:00
DebugInfoMetadata.cpp Rename DW_AT_LLVM_isysroot to DW_AT_LLVM_sysroot 2019-12-20 13:11:17 -08:00
DebugLoc.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DiagnosticHandler.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DiagnosticInfo.cpp Reland "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2019-09-11 16:19:50 +00:00
DiagnosticPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Dominators.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
FPEnv.cpp Move floating point related entities to namespace level 2019-11-20 19:05:46 +07:00
Function.cpp Resubmit "[Alignment][NFC] Deprecate CreateMemCpy/CreateMemMove" 2019-12-17 10:07:46 +01:00
GVMaterializer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Globals.cpp [Alignment][NFC] Remove dependency on GlobalObject::setAlignment(unsigned) 2019-10-15 11:24:36 +00:00
IRBuilder.cpp [Alignment][NFC] Align compatible methods for CreateElementUnorderedAtomicMemSet 2019-12-19 20:03:35 +01:00
IRPrintingPasses.cpp [PassInstrumentation] Remove excess newline for the new pass manager 2019-11-28 17:20:17 -08:00
InlineAsm.cpp [SVE][Inline-Asm] Add constraints for SVE predicate registers 2019-09-16 09:45:27 +00:00
Instruction.cpp [IR] Redefine Freeze instruction 2019-11-12 10:49:00 +09:00
Instructions.cpp Resubmit "[Alignment][NFC] Deprecate CreateMemCpy/CreateMemMove" 2019-12-17 10:07:46 +01:00
IntrinsicInst.cpp [FPEnv] Constrained FCmp intrinsics 2019-12-07 11:28:39 +01:00
LLVMBuild.txt [Remarks] Add string deduplication using a string table 2019-04-24 00:06:24 +00:00
LLVMContext.cpp Add Windows Control Flow Guard checks (/guard:cf). 2019-10-28 15:19:39 +00:00
LLVMContextImpl.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
LLVMContextImpl.h Rename DW_AT_LLVM_isysroot to DW_AT_LLVM_sysroot 2019-12-20 13:11:17 -08:00
LegacyPassManager.cpp [LegacyPassManager] Simplify FunctionPass::assignPassManager 2019-11-28 14:06:55 -08:00
MDBuilder.cpp Reland "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2019-09-11 16:19:50 +00:00
Mangler.cpp Standardize on MSVC behavior for triples with no environment 2019-07-08 21:05:20 +00:00
Metadata.cpp [Metadata] Add TBAA struct metadata to `AAMDNode` 2020-01-06 11:05:15 +03:00
MetadataImpl.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Module.cpp [IR] Module's NamedMD table needn't be 'void *' 2020-01-15 18:27:25 -05:00
ModuleSummaryIndex.cpp [ThinLTO] Always import constants 2020-01-15 19:29:01 +03:00
Operator.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OptBisect.cpp Fix IR/Analysis layering issue with OptBisect 2019-02-28 04:00:55 +00:00
Pass.cpp [LegacyPassManager] Delete BasicBlockPass/Manager. 2019-10-30 11:40:16 -07:00
PassInstrumentation.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PassManager.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PassRegistry.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PassTimingInfo.cpp [Legacy][TimePasses] allow -time-passes reporting into a custom stream 2019-03-22 23:11:08 +00:00
ProfileSummary.cpp [PGO] Context sensitive PGO (part 2) 2019-02-28 19:55:07 +00:00
RemarkStreamer.cpp Add missing includes needed to prune LLVMContext.h include, NFC 2019-11-14 15:23:15 -08:00
SafepointIRVerifier.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
Statepoint.cpp [CallSite removal] Migrate the statepoint GC infrastructure to use the 2019-02-11 07:42:30 +00:00
SymbolTableListTraitsImpl.h [ADT] Notify ilist traits about in-list transfers 2019-01-23 22:59:52 +00:00
Type.cpp [SVE][IR] Scalable Vector size queries and IR instruction support 2019-10-08 12:53:54 +00:00
TypeFinder.cpp [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-01 20:01:37 +01:00
Use.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
User.cpp Reinstate MSan suppression of PR24578. 2019-11-22 11:25:24 -08:00
Value.cpp Add missing includes needed to prune LLVMContext.h include, NFC 2019-11-14 15:23:15 -08:00
ValueSymbolTable.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Verifier.cpp [AArch64] Add function attribute "patchable-function-entry" to add NOPs at function entry 2020-01-10 09:55:51 -08:00