llvm-project/llvm/lib/Transforms/Utils
Hal Finkel f5a3eaea55 UpdatePHINodes in BasicBlockUtils should not crash on duplicate predecessors
UpdatePHINodes has an optimization to reuse an existing PHI node, where it
first deletes all of its entries and then replaces them. Unfortunately, in the
case where we had duplicate predecessors (which are allowed so long as the
associated PHI entries have the same value), the loop removing the existing PHI
entries from the to-be-reused PHI would assert (if that PHI was not the one
which had the duplicates).

llvm-svn: 192001
2013-10-04 23:41:05 +00:00
..
BasicBlockUtils.cpp UpdatePHINodes in BasicBlockUtils should not crash on duplicate predecessors 2013-10-04 23:41:05 +00:00
BreakCriticalEdges.cpp Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
BuildLibCalls.cpp Convert BuildLibCalls.cpp to using the AttributeSet methods instead of AttributeWithIndex. 2013-01-26 00:03:11 +00:00
BypassSlowDivision.cpp Bypass Slow Divides 2013-03-04 18:13:57 +00:00
CMakeLists.txt Factor FlattenCFG out from SimplifyCFG 2013-08-06 02:43:45 +00:00
CloneFunction.cpp Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
CloneModule.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CmpInstAnalysis.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CodeExtractor.cpp Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
DemoteRegToStack.cpp Reimplement isPotentiallyReachable to make nocapture deduction much stronger. 2013-07-27 01:24:00 +00:00
FlattenCFG.cpp Convert manual insert point restores to the new RAII object. 2013-09-30 15:40:17 +00:00
InlineFunction.cpp Fix a use after free. RI is freed before the call to getDebugLoc(). To 2013-04-30 22:45:10 +00:00
InstructionNamer.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
IntegerDivision.cpp Enhance integer division emulation support to handle types smaller than 32 bits, 2013-02-26 23:33:20 +00:00
LCSSA.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Local.cpp Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
LoopSimplify.cpp Rename LoopSimplify.h to LoopUtils.h 2013-05-20 20:46:30 +00:00
LoopUnroll.cpp Replace some unnecessary vector copies with references. 2013-09-15 22:04:42 +00:00
LoopUnrollRuntime.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LowerExpectIntrinsic.cpp Fix spelling intruction -> instruction. 2013-09-28 11:46:15 +00:00
LowerInvoke.cpp Remove several unused variables. 2013-10-01 13:32:03 +00:00
LowerSwitch.cpp Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
Makefile
Mem2Reg.cpp Revert r187191, which broke opt -mem2reg on the testcases included in PR16867. 2013-08-13 22:51:58 +00:00
MetaRenamer.cpp Add 'const' qualifier to some arrays. 2013-07-15 08:02:13 +00:00
ModuleUtils.cpp Respect llvm.used in Internalize. 2013-07-25 03:23:25 +00:00
PromoteMemoryToRegister.cpp Add a function object to compare the first or second component of a std::pair. 2013-08-24 12:54:27 +00:00
SSAUpdater.cpp Update comments for SSAUpdater to use the modern doxygen comment 2013-07-28 22:00:33 +00:00
SimplifyCFG.cpp Provide basic type safety for array_pod_sort comparators. 2013-09-22 14:09:50 +00:00
SimplifyIndVar.cpp Don't use a potentially expensive shift if all we want is one set bit. 2013-07-11 16:05:50 +00:00
SimplifyInstructions.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SimplifyLibCalls.cpp Use StringRef::npos for StringRef instead of std::string one 2013-09-10 00:41:53 +00:00
SpecialCaseList.cpp Introduce SpecialCaseList::isIn overload for GlobalAliases. 2013-08-19 19:00:35 +00:00
UnifyFunctionExitNodes.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Utils.cpp This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
ValueMapper.cpp Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00