summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a pointer to the owning LLVMContext to Module. This requires threading ↵Owen Anderson2009-07-011-2/+4
| | | | | | | | | | LLVMContext through a lot of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools. Patches for Clang and LLVM-GCC to follow. llvm-svn: 74614
* Make a major API change to BitstreamReader: split all the readingChris Lattner2009-04-261-1/+2
| | | | | | | | | state out of the BitstreamReader class into a BitstreamCursor class. Doing this allows the client to have multiple cursors into the same file, each with potentially different live block stacks and abbreviation records. llvm-svn: 70157
* reimplement BitcodeReaderValueList in terms of WeakVH instead of makingChris Lattner2009-03-311-59/+18
| | | | | | it be an LLVM IR User object. llvm-svn: 68156
* Now Attributes are divided in three groupsDevang Patel2008-09-261-4/+4
| | | | | | | | | | | | | - return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. This patch requires corresponding changes in llvm-gcc and clang. llvm-svn: 56704
* Large mechanical patch.Devang Patel2008-09-251-7/+7
| | | | | | | | | | | | | | | 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
* s/ParameterAttributes/Attributes/gDevang Patel2008-09-231-1/+1
| | | | llvm-svn: 56513
* recommit bcreader, handling packed structs correctly. ApparentlyChris Lattner2008-08-211-5/+31
| | | | | | people want fast *and* correct. Sheesh. llvm-svn: 55102
* Revert 55090, regressions in:Daniel Dunbar2008-08-211-31/+5
| | | | | | | | - Postgres - llvm-test/SingleSource/UnitTests/{2006-01-23-InitializedBitField, 2004-11-28-GlobalBoolLayout, 2003-05-02-DependentPHI} llvm-svn: 55100
* Fix an N^2 issue handling constant resolution due to RAUW in large arraysChris Lattner2008-08-211-5/+31
| | | | | | | this speeds up the bcreader from 6.67s to 0.12s on a testcase Daniel provided. rdar://6158117 llvm-svn: 55090
* eliminate calls to deprecated Use::init() interfaceGabor Greif2008-05-261-1/+1
| | | | llvm-svn: 51570
* merge of use-diet branch to trunkGabor Greif2008-05-101-15/+35
| | | | llvm-svn: 50943
* Add explicit keywords.Dan Gohman2008-03-251-1/+2
| | | | llvm-svn: 48801
* Reimplement the parameter attributes support, phase #1. hilights:Chris Lattner2008-03-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | 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
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-041-0/+5
| | | | | | | | LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. llvm-svn: 40807
* Fix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9.Chris Lattner2007-05-181-1/+9
| | | | llvm-svn: 37204
* implement the ModuleProvider::dematerializeFunction hookChris Lattner2007-05-151-1/+2
| | | | llvm-svn: 37080
* Keep header file free of 'possible loss of data' warnings.Jeff Cohen2007-05-061-3/+3
| | | | llvm-svn: 36832
* stop encoding type/value pairs when the type is implied by the value.Chris Lattner2007-05-061-0/+28
| | | | | | This shrinks the function block of kc++ from 1055K to 906K llvm-svn: 36816
* add support for reading the param attrs blockChris Lattner2007-05-041-0/+13
| | | | llvm-svn: 36731
* add reader logic for terminator instrs.Chris Lattner2007-05-021-0/+4
| | | | llvm-svn: 36642
* handle function-level forward references, read binops.Chris Lattner2007-05-011-0/+19
| | | | llvm-svn: 36620
* implement materializeModule, force deallocation of vector memory when weChris Lattner2007-05-011-9/+8
| | | | | | are done with them, start implementing ParseFunctionBody llvm-svn: 36617
* The stream to read from is now an ivarChris Lattner2007-05-011-7/+6
| | | | llvm-svn: 36615
* implement scafolding for lazy deserialization of function bodiesChris Lattner2007-05-011-5/+22
| | | | llvm-svn: 36614
* Switch the bitcode reader interface to take a MemoryBuffer instead of knowingChris Lattner2007-04-291-5/+12
| | | | | | | | | | | | | | anything about disk I/O itself. This greatly simplifies its interface - eliminating the need for the ReaderWrappers.cpp file. This adds a new option to llvm-dis (-bitcode) which instructs it to read the input file as bitcode. Until/unless the bytecode reader is taught to read from MemoryBuffer, there is no way to handle stdin reading without it. I don't plan to switch the bytecode reader over, I'd rather delete it :), so the option will stay around temporarily. llvm-svn: 36554
* move some code around, fix a bug in the reader reading globalinits (whichChris Lattner2007-04-261-0/+5
| | | | | | | 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/+2
| | | | llvm-svn: 36461
* ensure that every error return sets a message (and goes through Error, forChris Lattner2007-04-241-0/+1
| | | | | | | | | easy breakpointing). Fix bugs reading constantexpr geps. We now can disassemble kc++ global initializers. llvm-svn: 36398
* implement support for reading aggregate constants, including handling forwardChris Lattner2007-04-241-4/+31
| | | | | | constant references, etc. llvm-svn: 36391
* read basic constants: null, undef, integers <= 64bitsChris Lattner2007-04-241-2/+3
| | | | llvm-svn: 36389
* track global initsChris Lattner2007-04-241-0/+2
| | | | llvm-svn: 36385
* Read global symtabChris Lattner2007-04-231-0/+3
| | | | llvm-svn: 36378
* promote LLVMBitCodes to be a public headerChris Lattner2007-04-231-1/+1
| | | | llvm-svn: 36358
* Fix build problem with Gentoo 4.1.1-r3.Jeff Cohen2007-04-221-1/+1
| | | | llvm-svn: 36348
* Initial support for reading bitcode files. They currently only read types,Chris Lattner2007-04-221-0/+66
the type symtab, and global/function protos, and are missing the important size optimization, but it is a place to start. llvm-svn: 36330
OpenPOWER on IntegriCloud