summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed assertion in Deserializer::~Deserializer that checks forTed Kremenek2007-10-281-2/+6
| | | | | | pointers that were not backpatched (previously checked the wrong invariant). llvm-svn: 43425
* Updated backpatching logic during object deserialization to performTed Kremenek2007-10-281-24/+38
| | | | | | | | eager backpatching instead of waithing until all objects have been deserialized. This allows us to reduce the memory footprint needed for backpatching. llvm-svn: 43422
* Added serialization support for APInt.Ted Kremenek2007-10-262-0/+64
| | | | llvm-svn: 43405
* Updated backpatching during object deserialization to support "smart"Ted Kremenek2007-10-251-1/+3
| | | | | | pointers that employ unused bits in a pointer to store extra data. llvm-svn: 43373
* Disambiguated variable name to comply with VC++'s archaic variable scoping ↵Hartmut Kaiser2007-10-251-5/+5
| | | | | | rules. llvm-svn: 43369
* Added special treatment of serializing NULL pointers.Ted Kremenek2007-10-252-1/+9
| | | | llvm-svn: 43357
* Implemented prototype serialization of pointers, including supportTed Kremenek2007-10-252-3/+63
| | | | | | | | for backpatching. Added Deserialize::ReadVal. llvm-svn: 43319
* Split Serialization.h into separate headers: Serialize.h andTed Kremenek2007-10-242-24/+49
| | | | | | | Deserialize.h Serialization.h now includes trait speciailizations for unsigned long, etc. llvm-svn: 43307
* Added preliminary implementation of generic object serialization to bitcode.Ted Kremenek2007-10-232-0/+135
| | | | llvm-svn: 43261
* Next PPC long double bits. First cut at constants.Dale Johannesen2007-10-112-5/+3
| | | | | | | | | No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize. llvm-svn: 42865
* Bindings for the verifier.Gordon Henriksen2007-10-061-2/+2
| | | | llvm-svn: 42707
* Removing the silly CHelpers header by rolling wrap and unwrap into the CGordon Henriksen2007-10-051-1/+0
| | | | | | bindings headers themselves, hidden behind #ifdef __cplusplus. llvm-svn: 42666
* Demoting CHelpers.h to include/llvm/Support.Gordon Henriksen2007-09-291-1/+1
| | | | llvm-svn: 42465
* Make temporaries explicit to avoid prematureDale Johannesen2007-09-261-2/+5
| | | | | | destruction of compiler-created ones. llvm-svn: 42383
* C bindings for libLLVMCore.a and libLLVMBitWriter.a.Gordon Henriksen2007-09-181-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | - The naming prefix is LLVM. - All types are represented using opaque references. - Functions are not named LLVM{Type}{Method}; the names became unreadable goop. Instead, they are named LLVM{ImperativeSentence}. - Where an attribute only appears once in the class hierarchy (e.g., linkage only applies to values; parameter types only apply to function types), the class is omitted from identifiers for brevity. Tastes like methods. - Strings are C strings or string/length tuples on a case-by-case basis. - APIs which give the caller ownership of an object are not mapped (removeFromParent, certain constructor overloads). This keeps keep memory management as simple as possible. For each library with bindings: llvm-c/<LIB>.h - Declares the bindings. lib/<LIB>/<LIB>.cpp - Implements the bindings. So just link with the library of your choice and use the C header instead of the C++ one. llvm-svn: 42077
* Revise previous patch per review comments.Dale Johannesen2007-09-122-6/+2
| | | | | | | Next round of x87 long double stuff. Getting close now, basically works. llvm-svn: 41875
* Add APInt interfaces to APFloat (allows directlyDale Johannesen2007-09-112-11/+19
| | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). llvm-svn: 41858
* Revert previous change to IR.Dale Johannesen2007-09-072-5/+4
| | | | llvm-svn: 41769
* Next round of APFloat changes.Dale Johannesen2007-09-062-8/+12
| | | | | | | | | | | | | | Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
* Update GEP constructors to use an iterator interface to fixDavid Greene2007-09-041-1/+1
| | | | | | GLIBCXX_DEBUG issues. llvm-svn: 41697
* Update InvokeInst to work like CallInstDavid Greene2007-08-271-1/+1
| | | | llvm-svn: 41506
* Patch 10 for long double. Doing constants right needs expanding ConstantFPDale Johannesen2007-08-092-3/+13
| | | | | | | | | | | | to handle values bigger than double. If we assume host==target and host long double works correctly, this is not too bad, but we don't want to have that limitation longterm. I could implement accepting double constants as long double or something like that, which would lead to incorrect codegen with no errors; the more I think about that the worse it seems. Rather than do such a hack that would be backed out later, I'm settling for giving reasonable error messages, for now. llvm-svn: 40974
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-042-0/+44
| | | | | | | | 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
* Long double, part 1 of N. Support in IR.Dale Johannesen2007-08-032-0/+12
| | | | llvm-svn: 40774
* New CallInst interface to address GLIBCXX_DEBUG errors caused byDavid Greene2007-08-011-1/+1
| | | | | | | | indexing an empty std::vector. Updates to all clients. llvm-svn: 40660
* remove a dead caseChris Lattner2007-07-051-1/+0
| | | | llvm-svn: 37916
* Here is the bulk of the sanitizing.Gabor Greif2007-07-051-3/+3
| | | | | | Almost all occurrences of "bytecode" in the sources have been eliminated. llvm-svn: 37913
* Fix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9.Chris Lattner2007-05-182-54/+91
| | | | llvm-svn: 37204
* implement the ModuleProvider::dematerializeFunction hookChris Lattner2007-05-152-9/+21
| | | | llvm-svn: 37080
* allow partially materialized modules to be written out, which just strips outChris Lattner2007-05-111-0/+1
| | | | | | the functions which haven't been read. llvm-svn: 36999
* Make a preemptive bitcode format change to support PR1146. This lets us doChris Lattner2007-05-082-20/+48
| | | | | | | pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should be merged into the 2.0 release branch. llvm-svn: 36928
* fix off-by-one that caused the llvm2cpp test to failChris Lattner2007-05-061-2/+4
| | | | llvm-svn: 36880
* Flush the file after writing bitcode so that clients who don't close theirChris Lattner2007-05-061-0/+3
| | | | | | ofstreams will be ok. llvm-svn: 36878
* Fix a nasty problem where we would miss enumeration of some types. This fixesChris Lattner2007-05-062-1/+18
| | | | | | issues with CE_CAST etc. llvm-svn: 36864
* Allow structs with zero fields.Chris Lattner2007-05-061-1/+1
| | | | llvm-svn: 36862
* add a missing checkChris Lattner2007-05-061-0/+1
| | | | llvm-svn: 36859
* Keep header file free of 'possible loss of data' warnings.Jeff Cohen2007-05-061-3/+3
| | | | llvm-svn: 36832
* Unbreak VC++.Jeff Cohen2007-05-061-1/+1
| | | | llvm-svn: 36831
* add abbrevs for binops and casts. This shrinks a testcase from 725132->682500Chris Lattner2007-05-061-3/+29
| | | | | | bytes. llvm-svn: 36829
* add a new CreateBitcodeWriterPass method, which creates a bitcode writer asChris Lattner2007-05-061-0/+43
| | | | | | a pass llvm-svn: 36828
* implement reading/writing of inlineasm objectsChris Lattner2007-05-062-6/+37
| | | | llvm-svn: 36827
* add some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388Chris Lattner2007-05-061-3/+31
| | | | llvm-svn: 36823
* 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
* add a denser encoding for null terminated strings, add a 6-bit abbrev asChris Lattner2007-05-062-8/+50
| | | | | | well. This shrinks kc++ from 2724088 to 2717360 bytes. llvm-svn: 36821
* add an abbreviation for the string constants opzn, shrinking the constnatsChris Lattner2007-05-061-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | block from: Block ID #11 (CONSTANTS_BLOCK): Num Instances: 1722 Total Size: 3.85976e+06b/482470B/120617W % of file: 16.7609 Average Size: 2241.44b/280.18B/70.045W Tot/Avg SubBlocks: 0/0 Tot/Avg Abbrevs: 1/0.00058072 Tot/Avg Records: 26423/15.3444 % Abbrev Recs: 69.1746 to: Block ID #11 (CONSTANTS_BLOCK): Num Instances: 1724 Total Size: 2.62406e+06b/328008B/82001.9W % of file: 12.041 Average Size: 1522.08b/190.26B/47.5649W Tot/Avg SubBlocks: 0/0 Tot/Avg Abbrevs: 2/0.00116009 Tot/Avg Records: 26280/15.2436 % Abbrev Recs: 68.9992 This shrinks kc++ from 2815788 to 2724088 bytes, which means the bitcode file is now smaller than the bytecode file. llvm-svn: 36820
* implement the 'string constant' optimization. This shrinks kc.bit fromChris Lattner2007-05-063-4/+25
| | | | | | 2878544 to 2815788 llvm-svn: 36818
* further reduce the redundancy of types in the instruction encoding. ThisChris Lattner2007-05-062-84/+77
| | | | | | shrinks function bodies in kc++ from 891913B to 884073B llvm-svn: 36817
* stop encoding type/value pairs when the type is implied by the value.Chris Lattner2007-05-063-110/+145
| | | | | | This shrinks the function block of kc++ from 1055K to 906K llvm-svn: 36816
* add support for BLOCKINFO records at the module level. This fixes the readerChris Lattner2007-05-051-0/+4
| | | | | | issues reid noticed last night. llvm-svn: 36785
* add an abbrev for loads. This shrinks the function block about 50K, from:Chris Lattner2007-05-051-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Block ID #12 (FUNCTION_BLOCK): Num Instances: 2344 Total Size: 8.8434e+06b/1.10542e+06B/276356W % of file: 35.6726 Average Size: 3772.78b/471.598B/117.899W Tot/Avg SubBlocks: 4065/1.73422 Tot/Avg Abbrevs: 0/0 Tot/Avg Records: 128487/54.8153 % Abbrev Recs: 0 to: Block ID #12 (FUNCTION_BLOCK): Num Instances: 2344 Total Size: 8.44518e+06b/1.05565e+06B/263912W % of file: 34.6203 Average Size: 3602.89b/450.362B/112.59W Tot/Avg SubBlocks: 4065/1.73422 Tot/Avg Abbrevs: 0/0 Tot/Avg Records: 128487/54.8153 % Abbrev Recs: 22.2077 llvm-svn: 36779
OpenPOWER on IntegriCloud