llvm-6502/include/llvm
Chandler Carruth 5c5b3cf5b8 Teach the new SROA to handle cases where an alloca that has already been
scheduled for processing on the worklist eventually gets deleted while
we are processing another alloca, fixing the original test case in
PR13990.

To facilitate this, add a remove_if helper to the SetVector abstraction.
It's not easy to use the standard abstractions for this because of the
specifics of SetVectors types and implementation.

Finally, a nice small test case is included. Thanks to Benjamin for the
fantastic reduced test case here! All I had to do was delete some empty
basic blocks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165065 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02 22:46:45 +00:00
..
ADT Teach the new SROA to handle cases where an alloca that has already been 2012-10-02 22:46:45 +00:00
Analysis Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
Assembly
Bitcode Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
CodeGen Remove the SavePoint infrastructure from fast isel, replace 2012-10-02 21:16:50 +00:00
Config Make backtraces work again with both the configure and cmake build. 2012-09-28 10:10:46 +00:00
DebugInfo
ExecutionEngine Clean-up of memory buffer and object ownership model in MCJIT 2012-10-02 21:18:39 +00:00
MC [ms-inline asm] Add basic support for wildcard MCParsedAsmOperands. This type 2012-10-02 21:49:07 +00:00
Object Add LLVM support for Swift. 2012-09-29 21:43:49 +00:00
Support Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
TableGen
Target TargetData: s/uint32_t/unsigned/ per Kuba's request. 2012-10-01 11:56:16 +00:00
Transforms
Argument.h
Attributes.h Remove unused methods. 2012-09-28 21:22:24 +00:00
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h Add in support for SPIR to LLVM core. This adds a new target and two new calling conventions. 2012-10-01 17:01:31 +00:00
CMakeLists.txt
Constant.h
Constants.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
DebugInfo.h
DefaultPasses.h
DerivedTypes.h
DIBuilder.h
Function.h Buildbot Fix. 2012-09-26 23:38:00 +00:00
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
GVMaterializer.h
InitializePasses.h
InlineAsm.h
InstrTypes.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
Instruction.def
Instruction.h
Instructions.h
IntrinsicInst.h
Intrinsics.h
Intrinsics.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsHexagon.td
IntrinsicsMips.td
IntrinsicsNVVM.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
IRBuilder.h Add IRBuilder code for adding !tbaa.struct metadata tags to llvm.memcpy calls. 2012-09-26 22:17:14 +00:00
LinkAllPasses.h
LinkAllVMCore.h
Linker.h
LLVMContext.h
MDBuilder.h
Metadata.h
Module.h
OperandTraits.h
Operator.h Remove more LLVM_DELETED_FUNCTIONs from destructors to fix -std=c++11 build on gcc 4.7. 2012-09-29 02:25:34 +00:00
Pass.h
PassAnalysisSupport.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h
SymbolTableListTraits.h
Type.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
TypeBuilder.h
TypeFinder.h
Use.h
User.h
Value.h
ValueSymbolTable.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00