llvm-6502/lib/Transforms/IPO
Bill Wendling 2b7923665d Use a worklist to avoid a sneaky iterator invalidation.
The iterator could be invalidated when it's recursively deleting a whole bunch
of constant expressions in a constant initializer.

Note: This was only reproducible if `opt' was run on a `.bc' file. If `opt' was
run on a `.ll' file, it wouldn't crash. This is why the test first pushes the
`.ll' file through `llvm-as' before feeding it to `opt'.

PR15440


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178531 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02 08:16:45 +00:00
..
ArgumentPromotion.cpp Use the AttributeSet instead of AttributeWithIndex. 2013-01-27 01:57:28 +00:00
BarrierNoopPass.cpp Introduce a BarrierNoop pass, a hack designed to allow *some* control 2012-10-18 08:05:46 +00:00
CMakeLists.txt Introduce a BarrierNoop pass, a hack designed to allow *some* control 2012-10-18 08:05:46 +00:00
ConstantMerge.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DeadArgumentElimination.cpp Revert accidental commit (ran svn commit from wrong directory). 2013-02-02 00:25:26 +00:00
ExtractGV.cpp Check isDiscardableIfUnused, rather than hasLocalLinkage, when bumping 2013-03-04 22:40:44 +00:00
FunctionAttrs.cpp Move library call prototype attribute inference to functionattrs 2013-03-21 00:55:59 +00:00
GlobalDCE.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
GlobalOpt.cpp Use a worklist to avoid a sneaky iterator invalidation. 2013-04-02 08:16:45 +00:00
InlineAlways.cpp Make the inline cost a proper analysis pass. This remains essentially 2013-01-21 11:39:18 +00:00
Inliner.cpp Add the IR attribute 'sspstrong'. 2013-01-23 06:41:41 +00:00
InlineSimple.cpp Make the inline cost a proper analysis pass. This remains essentially 2013-01-21 11:39:18 +00:00
Internalize.cpp added ability to dynamically change the ExportList of an already 2013-01-25 19:41:03 +00:00
IPConstantPropagation.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
IPO.cpp Change the internalize pass to internalize all symbols when given an empty 2012-10-26 18:47:48 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LoopExtractor.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Makefile
MergeFunctions.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
PartialInlining.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
PassManagerBuilder.cpp Use LLVMBool instead of 'bool' in the C API. Based on a patch by Peter Zotov! 2013-03-10 21:58:22 +00:00
PruneEH.cpp Remove addRetAttributes and addFnAttributes, which aren't useful abstractions. 2013-01-30 23:40:31 +00:00
StripDeadPrototypes.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
StripSymbols.cpp Move TypeFinder.h into the IR tree, it clearly belongs with the IR library. 2013-01-07 15:43:51 +00:00