llvm-project/llvm/lib/Transforms/Scalar
Tim Northover d5fdef016d GVN: tolerate an instruction being replaced without existing in the leaderboard
Sometimes an incidentally created instruction can duplicate a Value used
elsewhere. It then often doesn't end up in the leader table. If it's later
removed, we attempt to remove it from the leader table and segfault.

Instead we should just ignore the removal request, which won't cause any
problems. The reverse situation, where the original instruction is replaced by
the new one (which you might think could leave the leader table empty) cannot
occur, because the incidental instruction will never be found in the first
place.

llvm-svn: 242199
2015-07-14 21:03:18 +00:00
..
ADCE.cpp Revert the new EH instructions 2015-07-10 07:15:17 +00:00
AlignmentFromAssumptions.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
BDCE.cpp Revert the new EH instructions 2015-07-10 07:15:17 +00:00
CMakeLists.txt Add a speculative execution pass 2015-05-15 17:54:48 +00:00
ConstantHoisting.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ConstantProp.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CorrelatedValuePropagation.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DCE.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DeadStoreElimination.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
EarlyCSE.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
FlattenCFGPass.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Float2Int.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GVN.cpp GVN: tolerate an instruction being replaced without existing in the leaderboard 2015-07-14 21:03:18 +00:00
IndVarSimplify.cpp [IndVars] Try to use existing values in RewriteLoopExitValues. 2015-07-09 18:46:12 +00:00
InductiveRangeCheckElimination.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
JumpThreading.cpp Revert the new EH instructions 2015-07-10 07:15:17 +00:00
LICM.cpp [LICM] Don't try to sink values out of loops without any exits 2015-07-12 03:53:05 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
LoadCombine.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopDeletion.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopDistribute.cpp [LoopDist/LoopVer] Move LoopVersioning to a new module, NFC 2015-07-10 18:55:13 +00:00
LoopIdiomRecognize.cpp Loop idiom recognizer was replacing too many uses of popcount. 2015-07-13 21:25:33 +00:00
LoopInstSimplify.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopInterchange.cpp Avoid using Loop::getSubLoopsVector. 2015-07-13 17:21:14 +00:00
LoopRerollPass.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopRotation.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopStrengthReduce.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LoopUnrollPass.cpp Enable runtime unrolling with unroll pragma metadata 2015-07-13 18:26:27 +00:00
LoopUnswitch.cpp This change fixes three bugs in loop unswitching. This change causes an 81% speed-up on a benchmark that is based on EigenConvolutionKernel2D from Eigen3, where the lack of loop unswitching blocks hoisting of loads out of a nested loop (see bug 23816 for how loop unswitching and load hoisting are related). 2015-06-23 18:26:50 +00:00
LowerAtomic.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LowerExpectIntrinsic.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Makefile
MemCpyOptimizer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MergedLoadStoreMotion.cpp [PM/AA] Completely remove the AliasAnalysis::copyValue interface. 2015-07-11 04:39:00 +00:00
NaryReassociate.cpp [NaryReassociate] enhances nsw by leveraging @llvm.assume 2015-07-01 03:38:49 +00:00
PartiallyInlineLibCalls.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PlaceSafepoints.cpp Rename llvm.frameescape and llvm.framerecover to localescape and localrecover 2015-07-07 22:25:32 +00:00
Reassociate.cpp [Reassociate] Don't propogate flags when creating negations 2015-06-24 21:27:36 +00:00
Reg2Mem.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
RewriteStatepointsForGC.cpp [RewriteStatepointsForGC] Generalized vector phi/select handling for base pointers 2015-06-26 22:47:37 +00:00
SCCP.cpp Revert the new EH instructions 2015-07-10 07:15:17 +00:00
SROA.cpp [SROA] Don't de-atomic volatile loads and stores 2015-07-14 06:19:58 +00:00
SampleProfile.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Scalar.cpp Add a speculative execution pass 2015-05-15 17:54:48 +00:00
ScalarReplAggregates.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Scalarizer.cpp Revert 239644. 2015-06-13 01:08:00 +00:00
SeparateConstOffsetFromGEP.cpp SeparateConstOffsetFromGEP: Pass address space to isLegalAddressingMode 2015-06-07 20:17:44 +00:00
SimplifyCFGPass.cpp fix typos; NFC 2015-06-24 20:42:33 +00:00
Sink.cpp [PM/AA] Remove the Location typedef from the AliasAnalysis class now 2015-06-17 07:18:54 +00:00
SpeculativeExecution.cpp [Speculation] NFC: more header comments 2015-05-19 20:52:45 +00:00
StraightLineStrengthReduce.cpp [SLSR] S's basis must have the same type as S 2015-06-28 17:45:05 +00:00
StructurizeCFG.cpp Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
TailRecursionElimination.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00