summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader
Commit message (Collapse)AuthorAgeFilesLines
* remove bytecode readerChris Lattner2007-05-065-3646/+0
| | | | llvm-svn: 36882
* Implement protected visibility. This partly implements PR1363. LinkerAnton Korobeynikov2007-04-291-0/+2
| | | | | | should be taught to deal with protected symbols. llvm-svn: 36565
* Implement review feedback. Aliasees can be either GlobalValue's orAnton Korobeynikov2007-04-283-10/+61
| | | | | | bitcasts of them. llvm-svn: 36537
* Implement aliases. This fixes PR1017 and it's dependent bugs. CFE partAnton Korobeynikov2007-04-251-2/+49
| | | | | | will follow. llvm-svn: 36435
* fix a memory leakChris Lattner2007-04-242-14/+15
| | | | llvm-svn: 36396
* PR400 phase 1 implementation feedback.Christopher Lamb2007-04-221-4/+2
| | | | llvm-svn: 36354
* PR400 work phase 1. Add attributed load/store instructions for ↵Christopher Lamb2007-04-221-3/+21
| | | | | | volatile/align to LLVM. llvm-svn: 36349
* For PR1146:Reid Spencer2007-04-221-6/+8
| | | | | | | | Make ParamAttrsList objects unique. You can no longer directly create or destroy them but instead must go through the ParamAttrsList::get() interface. llvm-svn: 36327
* Revert Christopher Lamb's load/store alignment changes.Reid Spencer2007-04-211-21/+3
| | | | llvm-svn: 36309
* add support for alignment attributes on load/store instructionsChristopher Lamb2007-04-211-3/+21
| | | | llvm-svn: 36301
* Implement the "thread_local" keyword.Lauro Ramos Venancio2007-04-122-5/+8
| | | | llvm-svn: 35950
* Fix a bug where calling materializeModule could corrupt the module, readingChris Lattner2007-04-091-9/+8
| | | | | | multiple copies of the function into the Function*. llvm-svn: 35831
* For PR1146:Reid Spencer2007-04-092-8/+26
| | | | | | | | Use ParamAttrsList for writing parameter attributes. Since they are sparse now, we also write them sparsely (saves a few bytes). Unfortunately, this is a bytecode file format change. llvm-svn: 35811
* No functional change, this is just easier to read and debug.Reid Spencer2007-04-081-9/+10
| | | | llvm-svn: 35782
* the bytecode reader supports dematerializeFunctionChris Lattner2007-03-292-7/+22
| | | | llvm-svn: 35475
* Use a simpler constructor for ConstantInt.Reid Spencer2007-03-011-1/+1
| | | | llvm-svn: 34803
* Implement reading of arbitrary precision integers.Reid Spencer2007-02-281-4/+9
| | | | llvm-svn: 34718
* For PR1195:Reid Spencer2007-02-152-8/+8
| | | | | | | Change use of "packed" term to "vector" in comments, strings, variable names, etc. llvm-svn: 34300
* For PR1195:Reid Spencer2007-02-152-12/+12
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* From Dan Gohman:Chris Lattner2007-02-141-1/+1
| | | | | | | | | | While preparing http://llvm.org/PR1198 I noticed several asserts protecting unprepared code from i128 types that weren't actually failing when they should because they were written as assert("foo") instead of something like assert(0 && "foo"). This patch fixes all the cases that a quick grep found. llvm-svn: 34267
* Use a SmallVector to reduce heap traffic. This speeds up bcreader 10%Chris Lattner2007-02-131-1/+1
| | | | llvm-svn: 34231
* now that we can pass ranges into CallInst ctors, eliminate vector heap trafficChris Lattner2007-02-131-2/+2
| | | | llvm-svn: 34229
* stop passing vector into ctorsChris Lattner2007-02-131-2/+2
| | | | llvm-svn: 34218
* avoid creating a temporary string when reading the symbol table for aChris Lattner2007-02-123-9/+26
| | | | | | module. This speeds up the bcreader 11%. llvm-svn: 34198
* Compaction tables don't exist any more.Reid Spencer2007-02-101-35/+0
| | | | llvm-svn: 34148
* move archive-specific stuff out of bcreader into archive library.Chris Lattner2007-02-071-67/+0
| | | | llvm-svn: 34022
* move an llvmc-specific function out of the bcreader into llvmc.Chris Lattner2007-02-071-16/+0
| | | | llvm-svn: 34021
* move AnalyzeBytecodeFile out of ReaderWrappers.cpp into Analyzer.cpp. NowChris Lattner2007-02-073-36/+15
| | | | | | lli doesn't link in Analyzer.cpp. llvm-svn: 34020
* push bytecode decompressor out through APIs. Now the bytecode readerChris Lattner2007-02-073-50/+42
| | | | | | | | | | | | | | | | | | | | api's look like this: ModuleProvider *getBytecodeModuleProvider( const std::string &Filename, ///< Name of file to be read BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer, std::string* ErrMsg = 0, ///< Optional error message holder BytecodeHandler* H = 0 ///< Optional handler for reader events ); This is ugly, but allows a client to say: getBytecodeModuleProvider("foo", 0); If they do this, there is no dependency on the compression libraries, saving codesize. llvm-svn: 34012
* Move compressor out of the core Reader.cpp file.Chris Lattner2007-02-073-6/+14
| | | | llvm-svn: 34007
* remove dead ivars, thanks to Reid for noticing this!Chris Lattner2007-02-071-22/+1
| | | | llvm-svn: 33995
* remove the handleVBR32/handleVBR64 callbacks. They are very fine-grained.Chris Lattner2007-02-072-26/+0
| | | | llvm-svn: 33994
* parse constantexpr arguments into a smallvector: 1.5% speedup reading 176.gccChris Lattner2007-02-071-1/+1
| | | | llvm-svn: 33980
* Eliminate std::vectors from the bcanalyzer interface.Chris Lattner2007-02-073-32/+45
| | | | llvm-svn: 33978
* For PR411:Reid Spencer2007-02-053-33/+38
| | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. llvm-svn: 33918
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-021-7/+0
| | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. llvm-svn: 33776
* eliminate a temporary vector while parsing gep's from bc files.Chris Lattner2007-01-311-3/+6
| | | | llvm-svn: 33710
* eliminate a temporary vectorChris Lattner2007-01-311-2/+2
| | | | llvm-svn: 33695
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-2/+2
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Bye, Bye Compaction Tables. The benefit compaction tables provides doesn'tReid Spencer2007-01-303-230/+19
| | | | | | | | | | | | | | | | | | | outweight its computational costs. This patch removes all compaction table handling from the bcreader and bcwriter. For the record, here's the difference betweeen having and not having compaction tables for some tests: Test With Without Size Chg Olden/mst 5,602 5,598 +0.1% viterbi 18,026 17,795 +1.3% obsequi 162,133 166,663 -2.8% burg 224,090 228,148 -1.8% kimwitu++ 4,933,263 5,121,159 -3.8% 176.gcc 8,470,424 9,141,539 -7.3% It seems that it is more beneficial to larger files, but even on the largest test case we have (176.gcc) it only amounts ot an I/O saving of 7.3%. llvm-svn: 33661
* For PR761:Reid Spencer2007-01-262-25/+11
| | | | | | | Remove the Endianness and PointerSize fields from the ModuleHeader and replace it with the DataLayout field. llvm-svn: 33529
* Back out last changes for dataLayout. Much more work is needed.Reid Spencer2007-01-191-7/+0
| | | | llvm-svn: 33347
* For PR761:Reid Spencer2007-01-181-0/+7
| | | | | | Implement reading and writing of the Module's data layout string. llvm-svn: 33346
* Get rid of some useless distinction between bool and integer.Reid Spencer2007-01-131-11/+4
| | | | llvm-svn: 33166
* * PIC codegen for X86/Linux has been implementedAnton Korobeynikov2007-01-122-6/+37
| | | | | | | | * PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) llvm-svn: 33136
* For PR1064:Reid Spencer2007-01-122-39/+55
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-1/+1
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-111-3/+3
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-1/+1
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* remove support for old-style varargs upgradingChris Lattner2007-01-071-106/+6
| | | | llvm-svn: 32979
OpenPOWER on IntegriCloud