summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Write and read metadata attachments.Devang Patel2009-09-181-1/+22
| | | | llvm-svn: 82259
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-3/+4
| | | | llvm-svn: 78948
* Use separate ValueList for metadata.Devang Patel2009-08-041-26/+55
| | | | | | This fixes PR4666. llvm-svn: 78056
* Work around a dangling pointer dereference when enumerating NamedMDNodes.Benjamin Kramer2009-07-311-0/+3
| | | | llvm-svn: 77675
* Enumerate NamedMDNode elements first.Devang Patel2009-07-301-4/+0
| | | | llvm-svn: 77636
* Read and write NamedMDNode.Devang Patel2009-07-291-0/+12
| | | | llvm-svn: 77517
* 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
* Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into ↵Devang Patel2009-07-231-13/+15
| | | | | | METADATA_BLOCK in bitcode file. llvm-svn: 76834
* Use isa<> instead of dyn_cast<>.Devang Patel2009-07-221-1/+1
| | | | llvm-svn: 76767
* Fixed build warning. No functionality change.Sanjiv Gupta2009-07-221-1/+1
| | | | llvm-svn: 76761
* Introduce MetadataBase, a base class for MDString and MDNode.Devang Patel2009-07-221-3/+7
| | | | | | | Derive MDString directly from MetadataBase. Introduce new bitcode block to hold metadata. llvm-svn: 76759
* Don't remove aggregate-typed module level constants before encoding functionsNick Lewycky2009-06-121-16/+0
| | | | | | since functions may contain aggregate constants too. llvm-svn: 73220
* Make MDNode use CallbackVH. Also change MDNode to store Value* instead ofNick Lewycky2009-05-101-0/+18
| | | | | | | Constant* in preperation of a future change to support holding non-Constants in an MDNode. llvm-svn: 71407
* Large mechanical patch.Devang Patel2008-09-251-8/+8
| | | | | | | | | | | | | | | s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
* Make structs and arrays first-class types, and add assemblyDan Gohman2008-05-231-7/+7
| | | | | | | | | and bitcode support for the extractvalue and insertvalue instructions and constant expressions. Note that this does not yet include CodeGen support. llvm-svn: 51468
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-13/+15
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Reimplement the parameter attributes support, phase #1. hilights:Chris Lattner2008-03-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | 1. There is now a "PAListPtr" class, which is a smart pointer around the underlying uniqued parameter attribute list object, and manages its refcount. It is now impossible to mess up the refcount. 2. PAListPtr is now the main interface to the underlying object, and the underlying object is now completely opaque. 3. Implementation details like SmallVector and FoldingSet are now no longer part of the interface. 4. You can create a PAListPtr with an arbitrary sequence of ParamAttrsWithIndex's, no need to make a SmallVector of a specific size (you can just use an array or scalar or vector if you wish). 5. All the client code that had to check for a null pointer before dereferencing the pointer is simplified to just access the PAListPtr directly. 6. The interfaces for adding attrs to a list and removing them is a bit simpler. Phase #2 will rename some stuff (e.g. PAListPtr) and do other less invasive changes. llvm-svn: 48289
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-5/+12
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* Fix a nasty problem where we would miss enumeration of some types. This fixesChris Lattner2007-05-061-1/+17
| | | | | | issues with CE_CAST etc. llvm-svn: 36864
* enumerate the operands of a constant before we enumerate the constant itselfChris Lattner2007-05-061-9/+22
| | | | | | This avoids fwd references in the reader. llvm-svn: 36822
* implement the 'string constant' optimization. This shrinks kc.bit fromChris Lattner2007-05-061-4/+5
| | | | | | 2878544 to 2815788 llvm-svn: 36818
* optimize constant layout. This fixes encoding of 181.mcf (by ensuringChris Lattner2007-05-041-5/+46
| | | | | | | integer structure idx's are emitted before constant expr geps) and shrinks files slightly. For example kc++ shrinks from 4326188 to 4240128 bytes. llvm-svn: 36742
* simple optimization for the type tableChris Lattner2007-05-041-5/+29
| | | | llvm-svn: 36741
* enumerate parameter attr lists.Chris Lattner2007-05-031-0/+17
| | | | llvm-svn: 36709
* fix encoding of BB names in the symtabChris Lattner2007-05-031-1/+1
| | | | llvm-svn: 36704
* start code for writing out instructions. Separate BB#s from normal valueChris Lattner2007-04-261-3/+7
| | | | | | #'s. llvm-svn: 36472
* enumerate BB's separately from other function values.Chris Lattner2007-04-261-1/+6
| | | | llvm-svn: 36467
* add support for incorporating and purging functions to the value enumeratorChris Lattner2007-04-261-96/+31
| | | | llvm-svn: 36465
* move some code around, fix a bug in the reader reading globalinits (whichChris Lattner2007-04-261-0/+16
| | | | | | | I just introduced), stub out function reading, purge aggregate values from the value table before reading functions. llvm-svn: 36463
* add bitcode alias supportChris Lattner2007-04-261-0/+10
| | | | llvm-svn: 36461
* Emit module-level constants.Chris Lattner2007-04-241-1/+4
| | | | llvm-svn: 36384
* Initial support for writing bitcode files. This currently only writes types,Chris Lattner2007-04-221-0/+235
the type symtab, and global/function protos, and is missing the important size optimization, but it is a place to start. llvm-svn: 36331
OpenPOWER on IntegriCloud