llvm-6502/lib/Transforms/IPO
Hal Finkel 1e3d96622a Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers
GlobalOpt's CleanupConstantGlobalUsers function uses a worklist array to manage
constant users to be visited. The pointers in this array need to be weak
handles because when we delete a constant array, we may also be holding a
pointer to one of its elements (or an element of one of its elements if we're
dealing with an array of arrays) in the worklist.

Fixes PR17347.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197178 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-12 20:45:24 +00:00
..
ArgumentPromotion.cpp
BarrierNoopPass.cpp
CMakeLists.txt
ConstantMerge.cpp
DeadArgumentElimination.cpp
ExtractGV.cpp
FunctionAttrs.cpp
GlobalDCE.cpp
GlobalOpt.cpp Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers 2013-12-12 20:45:24 +00:00
InlineAlways.cpp
Inliner.cpp
InlineSimple.cpp
Internalize.cpp
IPConstantPropagation.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
IPO.cpp Initialize the barrier pass llvm::initializeIPO 2013-12-12 20:45:08 +00:00
LLVMBuild.txt Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
LoopExtractor.cpp
Makefile
MergeFunctions.cpp
PartialInlining.cpp
PassManagerBuilder.cpp Add #pragma vectorize enable/disable to LLVM 2013-12-05 21:20:02 +00:00
PruneEH.cpp
StripDeadPrototypes.cpp
StripSymbols.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00