summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
Commit message (Collapse)AuthorAgeFilesLines
...
* InsertValue and ExtractValue constant expressions are alwaysDan Gohman2008-07-212-61/+0
| | | | | | | folded. Remove code that handled the case where they aren't folded, and remove bitcode reader/writer support for them. llvm-svn: 53887
* Add a little wrapper header that is put around bc files when emittingChris Lattner2008-07-092-2/+125
| | | | | | | | | | | | | | | | bc files for modules with a target triple that indicates they are for darwin. The reader unconditionally handles this, and the writer could turn this on for more targets if we care. This change has two benefits for darwin: 1) it allows us to encode the cpu type of the file in an easy to read place that doesn't require decoding the bc file. 2) it works around a bug (IMO) in darwin's AR where it is incapable of handling files that are not a multiple of 8 bytes long. BC files are only guaranteed to be multiples of 4 bytes long. llvm-svn: 53275
* fix warning when assertion disabled.Chris Lattner2008-06-211-1/+1
| | | | llvm-svn: 52588
* Better test for availability of __gnu_cxx::stdio_filebuf.Gordon Henriksen2008-06-111-1/+7
| | | | | | If this doesn't work, I'll write a configure test. llvm-svn: 52213
* Turn stdout into binary mode during bitcode emission.Anton Korobeynikov2008-06-061-0/+5
| | | | | | | This is necessary on windows targets, since stdout is in text mode there. Patch by Julien Lerouge! llvm-svn: 52038
* Improved bitcode support for insertvalue/extractvalue.Dan Gohman2008-05-312-8/+15
| | | | llvm-svn: 51822
* IR, bitcode reader, bitcode writer, and asmparser changes toDan Gohman2008-05-312-43/+71
| | | | | | | | | | | insertvalue and extractvalue to use constant indices instead of Value* indices. And begin updating LangRef.html. There's definately more to come here, but I'm checking this basic support in now to make it available to people who are interested. llvm-svn: 51806
* eliminate calls to deprecated Use::init() interfaceGabor Greif2008-05-262-3/+3
| | | | llvm-svn: 51570
* Make structs and arrays first-class types, and add assemblyDan Gohman2008-05-233-7/+95
| | | | | | | | | and bitcode support for the extractvalue and insertvalue instructions and constant expressions. Note that this does not yet include CodeGen support. llvm-svn: 51468
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-161-2/+2
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
* Allow an extra bit for CommonLinkage.Dale Johannesen2008-05-151-1/+1
| | | | | | | | This changes the .bc file format, but if I understand how it works correctly, old .bc files continue to be readable. llvm-svn: 51161
* Fix a bunch of 80col violations that arose from the Create API change. Tweak ↵Gabor Greif2008-05-151-1/+2
| | | | | | makefile targets to find these better. llvm-svn: 51143
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-142-0/+2
| | | | | | | | | | are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
* 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
* 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-122-3/+15
| | | | | | 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-252-17/+1
| | | | | | 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-125-38/+28
| | | | | | | | | | | | | | | | | | | | | | | 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-112-1/+3
| | | | llvm-svn: 48248
* Add an unwind_to field to basic blocks, making them Users instead of Values.Nick Lewycky2008-03-022-1/+17
| | | | | | 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
* Remove debugging help.Devang Patel2008-02-261-1/+0
| | | | llvm-svn: 47585
* Update bitcode reader and writer to handle multiple return values. Devang Patel2008-02-262-18/+34
| | | | | | Take 2. llvm-svn: 47583
* Backing out r47521 for now. This has broken a number of tests.Evan Cheng2008-02-232-39/+18
| | | | llvm-svn: 47533
* Properly read and write bitcodes for multiple return values.Devang Patel2008-02-232-18/+39
| | | | 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-222-2/+2
| | | | | | | stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. llvm-svn: 47504
* Read and write getresult.Devang Patel2008-02-222-0/+15
| | | | llvm-svn: 47471
* Support alignment within ParamAttrs in the I/O handling.Dale Johannesen2008-02-201-1/+1
| | | | llvm-svn: 47401
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-0/+1
| | | | | | annoying warnings. llvm-svn: 47367
* Expand ParameterAttributes to 32 bits (in preparationDale Johannesen2008-02-191-1/+1
| | | | | | | for adding alignment info, not there yet). Clean up interfaces to reference ParameterAttributes consistently. llvm-svn: 47342
* 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-2914-28/+28
| | | | llvm-svn: 45418
* remove attribution from lib Makefiles.Chris Lattner2007-12-293-6/+6
| | | | 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 part of review feedback for address spaces.Christopher Lamb2007-12-121-6/+5
| | | | llvm-svn: 44933
* Fix compilation.Duncan Sands2007-12-111-1/+2
| | | | llvm-svn: 44864
* Implement address space attribute for LLVM pointer types. Address spaces are Christopher Lamb2007-12-112-10/+34
| | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud