summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Writer
Commit message (Collapse)AuthorAgeFilesLines
...
* Make SlotCalculator::getPlane an inline function. It is used inside loops.Reid Spencer2007-02-092-9/+8
| | | | llvm-svn: 34091
* remove unneeded #includesChris Lattner2007-02-091-3/+0
| | | | llvm-svn: 34086
* remove dead code, the outputConstants function is now only called at module ↵Chris Lattner2007-02-092-14/+6
| | | | | | scope. llvm-svn: 34085
* 1. constants can never occur in the symbol table.Chris Lattner2007-02-093-21/+0
| | | | | | | | | | | 2. All function-level constants are now incorporated into the module-level constant pool, since the compaction table was removed. Eliminate extra work to check for them. This speeds up the bcwriter from 24.4s to 13.1s on 447.dealII and .73 -> .56s on kc++ in a release build. llvm-svn: 34084
* For PR411:Reid Spencer2007-02-054-28/+35
| | | | | | | | | | 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
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-5/+5
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Bye, Bye Compaction Tables. The benefit compaction tables provides doesn'tReid Spencer2007-01-303-492/+16
| | | | | | | | | | | | | | | | | | | 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
* This file has been dead for a long time. Remove it.Reid Spencer2007-01-281-191/+0
| | | | llvm-svn: 33596
* For PR761:Reid Spencer2007-01-261-11/+5
| | | | | | | 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-3/+0
| | | | llvm-svn: 33347
* For PR761:Reid Spencer2007-01-181-0/+3
| | | | | | Implement reading and writing of the Module's data layout string. llvm-svn: 33346
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-151-1/+1
| | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
* Make sure that GEP indices are only 32 or 64 bits. We're not ready forReid Spencer2007-01-131-6/+10
| | | | | | indices with other bit sizes yet. llvm-svn: 33167
* remove unneeded special case for boolChris Lattner2007-01-121-6/+1
| | | | llvm-svn: 33156
* Eliminate a log(n) lookupChris Lattner2007-01-121-3/+3
| | | | llvm-svn: 33155
* * PIC codegen for X86/Linux has been implementedAnton Korobeynikov2007-01-121-5/+17
| | | | | | | | * 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-123-56/+84
| | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | 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
* For PR411:Reid Spencer2007-01-064-34/+45
| | | | | | | | | Take an incremental step towards type plane elimination. This change separates types from values in the symbol tables by finally making use of the TypeSymbolTable class. This yields more natural interfaces for dealing with types and unclutters the SymbolTable class. llvm-svn: 32956
* For PR950:Reid Spencer2006-12-312-23/+15
| | | | | | | | | | | | | | Update for signless integer types and parameter attribute implementation. Of significant note: 1. This changes the bytecode format yet again. 2. There are 1/2 as many integer type planes (this is a good thing) 3. GEP indices now use only 1 bit to identify their type which means more GEP instructions won't be relegated to format 0 (size win) 4. Parameter attributes are implemented but currently being stored verbosely for each function type. Some other day this needs to be optimized for size. llvm-svn: 32783
* switch statistics over to not use static ctors.Chris Lattner2006-12-191-2/+2
| | | | llvm-svn: 32709
* This snuck in. Reverted.Bill Wendling2006-12-171-2/+0
| | | | llvm-svn: 32638
* Added an automatic cast to "std::ostream*" etc. from OStream. We then canBill Wendling2006-12-171-0/+2
| | | | | | | rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. llvm-svn: 32636
* Packed StructuresAndrew Lenharth2006-12-081-3/+5
| | | | llvm-svn: 32361
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-072-7/+7
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-1/+1
| | | | | | is 'unsigned'. llvm-svn: 32279
* Fix a CmpInst writing bug by removing merge cruft that I *know* I've removedReid Spencer2006-12-061-9/+4
| | | | | | | before. Also, make sure we write the predicate value for Cmp instructions using instruction format 0. llvm-svn: 32253
* For PR950: Implement read/write of ICmp and FCmp constant expressionsReid Spencer2006-12-041-0/+2
| | | | llvm-svn: 32172
* Support ICmp/FCmp constant expression reading and writing.Reid Spencer2006-12-031-0/+7
| | | | llvm-svn: 32160
* Implement reading and writing of the ICmp and FCmp instructions.Reid Spencer2006-12-031-0/+9
| | | | llvm-svn: 32149
* Replacing std::iostreams with llvm iostreams. Some of these changes involveBill Wendling2006-11-292-11/+12
| | | | | | | adding a temporary wrapper around the ostream to make it friendly to functions expecting an LLVM stream. This should be fixed in the future. llvm-svn: 31990
* For PR950:Reid Spencer2006-11-271-18/+12
| | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931
* Bump the bytecode version number to 7. Implement upgrade of version 6 andReid Spencer2006-11-081-1/+1
| | | | | | version 6 bytecode. llvm-svn: 31573
* For PR786:Reid Spencer2006-11-021-1/+1
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* For PR950:Reid Spencer2006-10-261-1/+1
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* For PR950:Reid Spencer2006-10-201-6/+6
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-9/+26
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* formatting cleanupsChris Lattner2006-07-281-12/+11
| | | | llvm-svn: 29396
* For PR787:Reid Spencer2006-06-071-0/+6
| | | | | | | | | | | | Provide new llvm::sys::Program facilities for converting the stdout and stdin to binary mode. There is no standard way to do this and the available mechanisms are platform specific. Adjust the bytecode reader and writer to use these methods when their input is stdin or output is stdout. THis avoids the problem with \n writing CRLF to a bytecode file on windows. Patch Contributed by Michael Smith. llvm-svn: 28722
* Fix a bug where the types for inlineasm nodes were not properly entered intoChris Lattner2006-06-071-2/+2
| | | | | | | the compaction table for a function. This broke compilation of hexxagon on darwin/x86 with recent changes. llvm-svn: 28717
* Use archive libraries instead of object files for VMCore, BCReader,Reid Spencer2006-06-011-0/+1
| | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. llvm-svn: 28610
* Fix a bug in the bc reader/writer: we were not correctly encoding varargsChris Lattner2006-05-261-1/+10
| | | | | | | | | nonccc calls (we were dropping the CC and tail flag). This broke several FORTRAN programs. Testcase here: Regression/Assembler/2006-05-26-VarargsCallEncode.ll llvm-svn: 28501
* Fix misencoding of calling conventionsChris Lattner2006-05-191-2/+3
| | | | llvm-svn: 28411
* add bc reader/writer support for inline asmChris Lattner2006-01-254-24/+41
| | | | llvm-svn: 25621
* Rename methodChris Lattner2006-01-241-1/+1
| | | | llvm-svn: 25571
* Add support for reading/writing inline asmChris Lattner2006-01-231-0/+3
| | | | llvm-svn: 25564
* trivial cleanupChris Lattner2005-11-121-2/+2
| | | | llvm-svn: 24330
* Read and write section info from/to .bc filesChris Lattner2005-11-122-10/+38
| | | | llvm-svn: 24321
OpenPOWER on IntegriCloud