llvm/lib/VMCore
Torok Edwin 2cd5155c0e Free the constants that have no uses in ~LLVMContext.
This fixes leaks from LLVMContext in multithreaded apps.
Since constants are only deleted if they have no uses, it is safe to not delete
a Module on shutdown, as many single-threaded tools do.
Multithreaded apps should however delete the Module before destroying the
Context to ensure that there are no leaks (assuming they use a different context
for each thread).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31 16:14:59 +00:00
..
AsmWriter.cpp eliminate the std::ostream form of WriteAsOperand and update clients. 2009-08-23 05:17:37 +00:00
Attributes.cpp Add an 'inline hint' attribute to represent source 2009-08-26 01:08:21 +00:00
AutoUpgrade.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
BasicBlock.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
CMakeLists.txt Update CMakeLists. 2009-08-04 23:02:53 +00:00
ConstantFold.cpp Cleanup whitespace and indentation. 2009-08-29 23:35:16 +00:00
ConstantFold.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Constants.cpp switch a couple things off std::ostream 2009-08-23 04:02:03 +00:00
ConstantsContext.h Free the constants that have no uses in ~LLVMContext. 2009-08-31 16:14:59 +00:00
Core.cpp Expose creating constant ints and floats from strings in llvm-c. 2009-08-16 23:36:46 +00:00
Dominators.cpp Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
Function.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Globals.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
InlineAsm.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Instruction.cpp This should use isIndenticalToWhenDefined. 2009-08-25 22:24:20 +00:00
Instructions.cpp Fix the InsertAtEnd form of ShuffleVectorInst constructor to use 2009-08-25 23:27:45 +00:00
IntrinsicInst.cpp The fields for the stoppoint debug intrinsic have not changed, so update the 2008-12-19 19:56:36 +00:00
LeakDetector.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
LeaksContext.h switch from std::ostream to raw ostream, fix file header. 2009-08-23 03:56:06 +00:00
LLVMContext.cpp Actually privatize a IntegerTypes, and fix a few bugs exposed by this. 2009-08-13 23:27:32 +00:00
LLVMContextImpl.h Free the constants that have no uses in ~LLVMContext. 2009-08-31 16:14:59 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Mangler.cpp Add prefix only if it is needed. 2009-08-17 23:17:17 +00:00
Metadata.cpp Remove an entry from ValueMap before removing elements. 2009-08-27 15:32:38 +00:00
Module.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
ModuleProvider.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Pass.cpp Remove some unused fields. 2009-08-29 23:34:14 +00:00
PassManager.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
PrintModulePass.cpp It's not necessary for PrintModulePass to flush the output streams 2009-04-20 16:26:25 +00:00
SymbolTableListTraitsImpl.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Type.cpp Free the constants that have no uses in ~LLVMContext. 2009-08-31 16:14:59 +00:00
TypesContext.h Free the constants that have no uses in ~LLVMContext. 2009-08-31 16:14:59 +00:00
TypeSymbolTable.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
Use.cpp Rearrange operands of the BranchInst, to be able to 2009-03-12 18:34:49 +00:00
Value.cpp Teach getUnderlyingObject and skipPointerCasts about GlobalAliases. 2009-08-27 17:55:13 +00:00
ValueSymbolTable.cpp remove some DOUTs 2009-08-23 04:44:11 +00:00
ValueTypes.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
Verifier.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00