summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/LLVMContextImpl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename VMCore directory to IR.Chandler Carruth2013-01-021-149/+0
| | | | | | | | | | | | | | | | | | Aside from moving the actual files, this patch only updates the build system and the source file comments under lib/... that are relevant. I'll be updating other docs and other files in smaller subsequnet commits. While I've tried to test this, but it is entirely possible that there will still be some build system fallout. Also, note that I've not changed the library name itself: libLLVMCore.a is still the library name. I'd be interested in others' opinions about whether we should rename this as well (I think we should, just not sure what it might break) llvm-svn: 171359
* Rename LLVMContext diagnostic handler types and functions.Bob Wilson2012-12-251-2/+2
| | | | | | | | | These are now generally used for all diagnostics from the backend, not just for inline assembly, so this drops the "InlineAsm" from the names. No functional change. (I've left aliases for the old names but only for long enough to let me switch over clang to use the new ones.) llvm-svn: 171047
* s/AttributesImpl/AttributeImpl/g This is going to apply to Attribute, not ↵Bill Wendling2012-12-201-2/+2
| | | | | | Attributes. llvm-svn: 170631
* s/AttributeListImpl/AttributeSetImpl/g to match the namechange of AttributeList.Bill Wendling2012-12-191-2/+2
| | | | llvm-svn: 170600
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-1/+1
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Make the AttrListPtr object a part of the LLVMContext.Bill Wendling2012-11-201-1/+8
| | | | | | | | | When code deletes the context, the AttributeImpls that the AttrListPtr points to are now invalid. Therefore, instead of keeping a separate managed static for the AttrListPtrs that's reference counted, move it into the LLVMContext and delete it when deleting the AttributeImpls. llvm-svn: 168354
* Fix use after free when deleting attributes in a chained folding set.Benjamin Kramer2012-10-141-3/+5
| | | | | | Can't follow the intrusive linked list when the element is gone. llvm-svn: 165898
* Initial commit for the AttributesImpl class.Bill Wendling2012-09-261-0/+7
| | | | | | | | This opaque class will contain all of the attributes. All attribute queries will go through this object. This object will also be uniqued in the LLVMContext. Currently not used, so no implementation change. llvm-svn: 164722
* Efficient Constant Uniquing.Talin2012-02-051-3/+13
| | | | llvm-svn: 149848
* start the implementation of a new ConstantDataVector and ConstantDataArrayChris Lattner2012-01-231-0/+5
| | | | | | | classes, per PR1324. Not all of their helper functions are implemented, nothing creates them, and the rest of the compiler doesn't handle them yet. llvm-svn: 148741
* convert CAZ, UndefValue, and CPN to use DenseMap's again, this time withoutChris Lattner2012-01-231-3/+5
| | | | | | | | using OwningPtr. OwningPtr would barf when the densemap had to reallocate, which doesn't appear to happen on the regression test suite, but obviously happens in real life :) llvm-svn: 148700
* revert r148691 and 148693Chris Lattner2012-01-231-5/+3
| | | | llvm-svn: 148698
* switch UndefValue and ConstantPointerNull over to DenseMap's for uniquing.Chris Lattner2012-01-231-2/+4
| | | | llvm-svn: 148693
* Replace a use of ConstantUniqueMap for CAZ constants with a simple DenseMap.Chris Lattner2012-01-231-1/+1
| | | | | | | Now that the type system rewrite has landed, there is no need for its complexity and std::map'ness. llvm-svn: 148691
* Unweaken vtables as per ↵David Blaikie2011-12-201-0/+21
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* The powers that be have decided that LLVM IR should now support 16-bitDan Gohman2011-12-171-0/+1
| | | | | | | | "half precision" floating-point with a first-class type. This patch adds basic IR support (but not codegen support). llvm-svn: 146786
* bump pointer allocate LLVM IR types, since they are never deallocated.Chris Lattner2011-07-151-16/+0
| | | | llvm-svn: 135248
* stop leaking all named struct types with an empty name. ThanksChris Lattner2011-07-131-6/+7
| | | | | | to Benjamin Kramer for steering me in the right direction here. llvm-svn: 135031
* TypeMap had a destructor that destroyed the types it held. DenseMap did not, soNick Lewycky2011-07-121-14/+18
| | | | | | destroy those types in ~LLVMContext. llvm-svn: 134945
* Land the long talked about "type system rewrite" patch. ThisChris Lattner2011-07-091-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
* More SmallVectorImpls.Dan Gohman2010-10-121-1/+1
| | | | llvm-svn: 116279
* Add X86 MMX type to bitcode and Type.Dale Johannesen2010-09-101-0/+1
| | | | | | | (The Ada bindings probably need it too, but all the obvious places to change say "do not edit this file".) llvm-svn: 113618
* Clarify the ownership model of LLVMContext and Module. Namely, contexts ownOwen Anderson2010-09-081-0/+10
| | | | | | | modules are instantiated in them. If the context is deleted, all of its owned modules are also deleted. llvm-svn: 113374
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-281-3/+0
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* Fix a bunch of namespace polution.Dan Gohman2010-04-151-0/+1
| | | | llvm-svn: 101376
* give LLVMContext an inline asm diagnostic hook member.Chris Lattner2010-04-061-0/+3
| | | | llvm-svn: 100506
* Free all Constants in ~LLVMConstantImpl. We avoid assertion failuresJeffrey Yasskin2010-03-221-4/+25
| | | | | | | | | by dropping all references from all constants that can use other constants before trying to destroy any of them. I also had to free bugpoint's Module in ~BugDriver(). llvm-svn: 99160
* Re-add the Metadata.h include to LLVMContextImpl.h so that MDNode is completeJeffrey Yasskin2010-03-211-1/+0
| | | | | | | where FoldingSet<MDNode> is instantiated. Clang and MSVC complain; gcc doesn't. llvm-svn: 99147
* Move the LLVMContextImpl implementation into a .cpp file.Jeffrey Yasskin2010-03-211-0/+83
| | | | llvm-svn: 99146
* Factor some of the constants+context related code out into a separate ↵Owen Anderson2009-08-041-36/+0
| | | | | | | | header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. llvm-svn: 78115
* Privatize the last bit of Constant-creation state.Owen Anderson2009-08-041-0/+13
| | | | llvm-svn: 78097
* One two many newlines at end of file LLVMContextImpl.cppEdward O'Callaghan2009-08-021-1/+0
| | | | llvm-svn: 77911
* Fix no newline at end of LLVMContextImpl.cppEdward O'Callaghan2009-08-021-1/+2
| | | | llvm-svn: 77907
* Move the metadata constructors back to 2.5 syntax.Owen Anderson2009-07-311-48/+1
| | | | llvm-svn: 77733
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-15/+0
| | | | llvm-svn: 77635
* Rename MDNode.h header. It defines MDnode and other metadata classes.Devang Patel2009-07-281-1/+1
| | | | | | New name is Metadata.h. llvm-svn: 77370
* Return ConstantVector to 2.5 API.Owen Anderson2009-07-281-39/+0
| | | | llvm-svn: 77366
* Change ConstantArray to 2.5 API.Owen Anderson2009-07-281-111/+0
| | | | llvm-svn: 77347
* Move ConstantStruct back to 2.5 API.Owen Anderson2009-07-271-88/+1
| | | | llvm-svn: 77266
* Move ConstantFP construction back to the 2.5-ish API.Owen Anderson2009-07-271-35/+0
| | | | llvm-svn: 77247
* Remove Value::{isName, getNameRef}.Daniel Dunbar2009-07-251-2/+1
| | | | | | Also, change MDString to use a StringRef. llvm-svn: 77098
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-372/+14
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Privatize the ConstantVector tables.Owen Anderson2009-07-241-1/+55
| | | | llvm-svn: 76922
* Privatize the ConstantStruct table.Owen Anderson2009-07-231-0/+104
| | | | llvm-svn: 76912
* Convert StringMap to using StringRef for its APIs.Daniel Dunbar2009-07-231-3/+3
| | | | | | | | | | | | - Yay for '-'s and simplifications! - I kept StringMap::GetOrCreateValue for compatibility purposes, this can eventually go away. Likewise the StringMapEntry Create functions still follow the old style. - NIFC. llvm-svn: 76888
* MDStringDevang Patel2009-07-231-5/+6
| | | | | | | - Rename member function size(). New name is length(). - Store string beginning and length. Earlier it used to store string end. llvm-svn: 76841
* Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into ↵Devang Patel2009-07-231-1/+1
| | | | | | METADATA_BLOCK in bitcode file. llvm-svn: 76834
* Privatize the ConstantArray table.Owen Anderson2009-07-211-2/+129
| | | | llvm-svn: 76639
* Privatize the first of the value maps.Owen Anderson2009-07-211-0/+300
| | | | llvm-svn: 76634
* Privatize the MDNode uniquing table.Owen Anderson2009-07-161-0/+30
| | | | llvm-svn: 76126
OpenPOWER on IntegriCloud