summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader
Commit message (Collapse)AuthorAgeFilesLines
...
* Simplify some checksNate Begeman2008-05-121-4/+4
| | | | llvm-svn: 50998
* Pointer comparisons should use icmp, not vicmpNate Begeman2008-05-121-1/+1
| | | | llvm-svn: 50996
* Pointer comparisons should be handled by icmp, not vicmp :)Nate Begeman2008-05-121-1/+1
| | | | llvm-svn: 50994
* Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRefNate Begeman2008-05-121-3/+11
| | | | | | for details. CodeGen support coming in a follow up patch llvm-svn: 50985
* merge of use-diet branch to trunkGabor Greif2008-05-102-27/+74
| | | | llvm-svn: 50943
* Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989Nick Lewycky2008-04-251-9/+0
| | | | | | r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
* Switch to using Simplified ConstantFP::get API.Chris Lattner2008-04-201-5/+5
| | | | llvm-svn: 49977
* Gabor points out that reserveOperandSpace takes # of values, Chris Lattner2008-04-131-1/+1
| | | | | | not # of operands as an input. llvm-svn: 49599
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-15/+19
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* Add explicit keywords.Dan Gohman2008-03-251-1/+2
| | | | llvm-svn: 48801
* Reimplement the parameter attributes support, phase #1. hilights:Chris Lattner2008-03-122-21/+10
| | | | | | | | | | | | | | | | | | | | | | | 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
* when the bitcode reader is referencing a paramattr, make sure to bump its ↵Chris Lattner2008-03-121-1/+12
| | | | | | refcount. llvm-svn: 48276
* Be backward compatibleAnton Korobeynikov2008-03-121-1/+4
| | | | llvm-svn: 48268
* Honour aliases visibility when reading from/writing to bitcodeAnton Korobeynikov2008-03-111-1/+2
| | | | llvm-svn: 48248
* Add an unwind_to field to basic blocks, making them Users instead of Values.Nick Lewycky2008-03-021-0/+9
| | | | | | This is the first checkin for PR1269, the new EH infrastructure. llvm-svn: 47802
* Use SmallVector while constructing ReturnInst.Devang Patel2008-02-261-2/+4
| | | | llvm-svn: 47619
* Update bitcode reader and writer to handle multiple return values. Devang Patel2008-02-261-11/+18
| | | | | | Take 2. llvm-svn: 47583
* Backing out r47521 for now. This has broken a number of tests.Evan Cheng2008-02-231-24/+11
| | | | llvm-svn: 47533
* Properly read and write bitcodes for multiple return values.Devang Patel2008-02-231-11/+24
| | | | llvm-svn: 47521
* Fixed buffer overflow reported by Argiris Kirtzidis.Ted Kremenek2008-02-231-1/+1
| | | | llvm-svn: 47517
* Split ParameterAttributes.h, putting the complicatedDale Johannesen2008-02-221-1/+1
| | | | | | | stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. llvm-svn: 47504
* Read and write getresult.Devang Patel2008-02-221-0/+10
| | | | llvm-svn: 47471
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-0/+1
| | | | | | annoying warnings. llvm-svn: 47367
* Use empty() instead of comparing size() with zero.Dan Gohman2008-01-292-2/+2
| | | | llvm-svn: 46514
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-296-12/+12
| | | | llvm-svn: 45418
* remove attribution from lib Makefiles.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45415
* Adding bindings for memory buffers and module providers. SwitchingGordon Henriksen2007-12-191-13/+21
| | | | | | to exceptions rather than variants for error handling in Ocaml. llvm-svn: 45226
* Bring back int_x86_sse2_movl_dq intrinsic for backward compatibility. Make sureEvan Cheng2007-12-171-1/+2
| | | | | | it's auto-upgraded to a shufflevector instruction. llvm-svn: 45131
* Modified Deserializer::ReadCStr to allow C-strings to be read into aTed Kremenek2007-12-171-3/+10
| | | | | | std::vector<char> starting from any index in the vector. llvm-svn: 45129
* Change the PointerType api for creating pointer types. The old functionality ↵Christopher Lamb2007-12-171-1/+1
| | | | | | of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. llvm-svn: 45082
* Implement address space attribute for LLVM pointer types. Address spaces are Christopher Lamb2007-12-111-4/+24
| | | | | | | | | | | | | | | | | regions of memory that have a target specific relationship, as described in the Embedded C Technical Report. This also implements the 2007-12-11-AddressSpaces test, which demonstrates how address space attributes can be used in LLVM IR. In addition, this patch changes the bitcode signature for stores (in a backwards compatible manner), such that the pointer type, rather than the pointee type, is encoded. This permits type information in the pointer (e.g. address space) to be preserved for stores. LangRef updates are forthcoming. llvm-svn: 44858
* Adding Ocaml bindings for the bitreader as requested by SarahGordon Henriksen2007-12-111-0/+42
| | | | | | | | | | | | | | | | | | | Thompson. Usage should be something like this: open Llvm open Llvm_bitreader match read_bitcode_file fn with | Bitreader_failure msg -> prerr_endline msg | Bitreader_success m -> ...; dispose_module m Compile with: ocamlc llvm.cma llvm_bitreader.cma ocamlopt llvm.cmxa llvm_bitreader.cmxa llvm-svn: 44824
* Adding a collector name attribute to Function in the IR. These Gordon Henriksen2007-12-101-1/+14
| | | | | | | | | | | | | | | | | | | | methods are new to Function: bool hasCollector() const; const std::string &getCollector() const; void setCollector(const std::string &); void clearCollector(); The assembly representation is as such: define void @f() gc "shadow-stack" { ... The implementation uses an on-the-side table to map Functions to collector names, such that there is no overhead. A StringPool is further used to unique collector names, which are extremely likely to be unique per process. llvm-svn: 44769
* Fixed subtle bug in Deserializer::JumpTo when jumping when the block-nestingTed Kremenek2007-11-301-9/+27
| | | | | | | information matching did not exactly match the underlying stream's scoping information. llvm-svn: 44470
* Unbreak backwards compatibility with bytecode format. RegressionChris Lattner2007-11-271-4/+5
| | | | | | | introduced by this patch: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071126/055824.html llvm-svn: 44364
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-15/+16
| | | | | | | | | | | | 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
* In order for parameter attribute uniquing to makeDuncan Sands2007-11-201-6/+4
| | | | | | | | | | | | any sense it is important that ParamAttr::None gets treated the same as not supplying an attribute at all. Rather than stripping ParamAttr::None out of the list of attributes, assert if ParamAttr::None is seen. Fix up the bitcode reader which liked to insert ParamAttr::None all over the place. Patch based on one by Török Edwin. llvm-svn: 44250
* Add explicit keywords.Dan Gohman2007-11-191-1/+1
| | | | llvm-svn: 44234
* Removed debug #define that was accidentally checked in while debuggingTed Kremenek2007-11-141-3/+1
| | | | | | | | | the deserializer. Fixed assertion when "stream jumping" in the deserializer to properly function when we have reached the end of the stream. llvm-svn: 44124
* Added two new overloaded versions of BatchEmitOwnedPtrs andTed Kremenek2007-11-141-5/+13
| | | | | | BatchReadOwnedPtrs. llvm-svn: 44105
* Added versions of ReadPtr that takes an explicit SerializedPtrID. This allowsTed Kremenek2007-11-121-4/+6
| | | | | | | | | | | | clients of the Deserializer to read the pointer ID before they are ready to deserialize the object (which can mean registering a pointer reference with the backpatcher). Changed some methods that took an argument "SerializedPtrID" to "const SerializedPtrID&" (pass-by-reference). This is to accommodate a future revision of SerializedPtrID where it may be much fatter than an unsigned integer. llvm-svn: 44021
* Updated method signature to conform with the typedef in the method prototype.Ted Kremenek2007-11-101-1/+1
| | | | llvm-svn: 43982
* Added "random access" to the Deserializer to allow a client to jump to anyTed Kremenek2007-11-101-8/+116
| | | | | | | | serialized block in the bitstream, including a block in an entirely different nesting than the current block. This is useful for deserializing objects from a bitstream in an order different from the order that they were serialized. llvm-svn: 43973
* Updated Deserializer class to provide more information about the currentTed Kremenek2007-11-091-48/+97
| | | | | | | | | block that is being visited in the bitstream. The client can also now skip blocks before reading them, and query the current abbreviation number as seen from the perspective of the Deserializer. This allows the client to be more interactive in the deserialization process (if they so choose). llvm-svn: 43916
* Added typedef "SerializedPtrID" to represent the pointer handle written to diskTed Kremenek2007-11-081-4/+25
| | | | | | | | | | | instead of just using "unsigned". This gives us more flexibility in changing the definition of the handle later, and is more self-documenting. Added tracking of block stack in the Deserializer. Now clients can query if they are still within a block using the methods GetCurrentBlockLocation() and FinishedBlock(). llvm-svn: 43903
* Implemented generic serialization of APFloat.Ted Kremenek2007-11-071-0/+24
| | | | llvm-svn: 43829
* Implemented serialization of signed integers.Ted Kremenek2007-11-071-0/+15
| | | | llvm-svn: 43828
* Augmented ReadPtr and ReadOwnedPtr to control whether or not a pointer is ↵Ted Kremenek2007-11-061-1/+4
| | | | | | | | allowed to be backpatched or can be registered with the deserializer to backpatch other pointers. llvm-svn: 43783
* Added support for processing abbreviations in the Deserializer.Ted Kremenek2007-11-061-2/+19
| | | | | | Added some #ifdef-controlled messages for debugging backpatching. llvm-svn: 43771
* Added support in serializer and deserializer to create arbitrary blocks.Ted Kremenek2007-11-051-1/+15
| | | | | | Added detection of end-of-stream in deserializer. llvm-svn: 43736
OpenPOWER on IntegriCloud