Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Switch NodeMap from an std::map to a DenseMap. This speeds up bcwriting | Chris Lattner | 2007-02-10 | 1 | -1/+1 | |
| | | | | | | of 447.dealII from 3.3s to 1.8s (80% faster). llvm-svn: 34138 | |||||
* | use typedefs where appropriate | Chris Lattner | 2007-02-10 | 2 | -3/+3 | |
| | | | | llvm-svn: 34136 | |||||
* | The ModuleLevel vector is often quite sparse. Switch it to a DenseMap. This | Chris Lattner | 2007-02-10 | 2 | -18/+24 | |
| | | | | | | speeds up bcwriting of 447.dealII by 40%, from 4.63s to 3.32s. llvm-svn: 34135 | |||||
* | Make the ModuleLevel datastructure more sane. When a function-local value | Chris Lattner | 2007-02-10 | 2 | -33/+19 | |
| | | | | | | | | is inserted into the table, it remembers that the value needs to be popped off. This makes purgeFunction much faster, speeding up bcwriting of 447.dealII from 6.8->4.6s (47%). llvm-svn: 34133 | |||||
* | Only compute the module levels info once per module, instead of once | Chris Lattner | 2007-02-10 | 1 | -15/+7 | |
| | | | | | | | per function. This speeds up bcwriting on 447.dealII from 10.16s to 6.81s (49%). llvm-svn: 34132 | |||||
* | Clone and specialize CreateSlotIfNeeded into CreateFunctionValueSlot to handle | Chris Lattner | 2007-02-10 | 2 | -63/+101 | |
| | | | | | | | function-local values. This speeds up bcwriting a small 2.2% (10.384->10.156s on 447.dealII), but paves the way for more important changes. llvm-svn: 34131 | |||||
* | make getSlot/getTypeSlot inline | Chris Lattner | 2007-02-10 | 2 | -14/+11 | |
| | | | | llvm-svn: 34130 | |||||
* | getTypeSlot can never fail | Chris Lattner | 2007-02-10 | 3 | -62/+26 | |
| | | | | llvm-svn: 34129 | |||||
* | getSlot can never fail. Make it assert internally, eliminate checks in | Chris Lattner | 2007-02-10 | 3 | -63/+32 | |
| | | | | | | clients. Same for getTypeSlot. llvm-svn: 34128 | |||||
* | simplify getOrCreateTypeSlot, eliminat doInsertType. Eliminate post-order ↵ | Chris Lattner | 2007-02-10 | 2 | -32/+10 | |
| | | | | | | iteration stuff. llvm-svn: 34127 | |||||
* | simplify and speed up recursive type processing. | Chris Lattner | 2007-02-10 | 1 | -4/+2 | |
| | | | | llvm-svn: 34126 | |||||
* | rename getOrCreateSlot -> CreateSlotIfNeeded. Noone cares about the retval | Chris Lattner | 2007-02-10 | 2 | -23/+14 | |
| | | | | llvm-svn: 34125 | |||||
* | refactor callers of insertType. inline insertType into its one remaining ↵ | Chris Lattner | 2007-02-10 | 2 | -23/+11 | |
| | | | | | | caller. llvm-svn: 34124 | |||||
* | simplify code. | Chris Lattner | 2007-02-10 | 2 | -33/+13 | |
| | | | | llvm-svn: 34123 | |||||
* | simplify some logic, reduce nesting | Chris Lattner | 2007-02-10 | 1 | -25/+20 | |
| | | | | llvm-svn: 34122 | |||||
* | Remove dead ctor | Chris Lattner | 2007-02-10 | 2 | -13/+0 | |
| | | | | llvm-svn: 34121 | |||||
* | ModuleContainsAllFunctionConstants is always true | Chris Lattner | 2007-02-10 | 2 | -39/+10 | |
| | | | | llvm-svn: 34120 | |||||
* | only one client of getOrCreateSlot can pass a void typed value. Check type | Chris Lattner | 2007-02-10 | 1 | -2/+3 | |
| | | | | | | there. llvm-svn: 34119 | |||||
* | inline hasNullValue, rename some variables, simplify some code. | Chris Lattner | 2007-02-10 | 2 | -30/+24 | |
| | | | | llvm-svn: 34118 | |||||
* | merge insertValue into its single caller, eliminate some redundant checks. | Chris Lattner | 2007-02-10 | 1 | -12/+1 | |
| | | | | llvm-svn: 34117 | |||||
* | merge doInsertValue into insertValue | Chris Lattner | 2007-02-10 | 2 | -54/+43 | |
| | | | | llvm-svn: 34116 | |||||
* | insertvalue's second operand is always false | Chris Lattner | 2007-02-10 | 2 | -11/+7 | |
| | | | | llvm-svn: 34115 | |||||
* | remove dead 'dontIgnore' flag for insertType | Chris Lattner | 2007-02-10 | 2 | -12/+12 | |
| | | | | llvm-svn: 34114 | |||||
* | rename getSlot -> getSlotType and getOrCreateSlot ->getOrCreateTypeSlot | Chris Lattner | 2007-02-10 | 3 | -42/+43 | |
| | | | | | | for types. llvm-svn: 34113 | |||||
* | Use int32_t and uint32_t to hopefully help weak compilers (cygwin) not | Reid Spencer | 2007-02-09 | 1 | -3/+3 | |
| | | | | | | generate errors about being unable to resolve overloaded type. llvm-svn: 34103 | |||||
* | Make SlotCalculator::getPlane an inline function. It is used inside loops. | Reid Spencer | 2007-02-09 | 2 | -9/+8 | |
| | | | | llvm-svn: 34091 | |||||
* | remove unneeded #includes | Chris Lattner | 2007-02-09 | 1 | -3/+0 | |
| | | | | llvm-svn: 34086 | |||||
* | remove dead code, the outputConstants function is now only called at module ↵ | Chris Lattner | 2007-02-09 | 2 | -14/+6 | |
| | | | | | | scope. llvm-svn: 34085 | |||||
* | 1. constants can never occur in the symbol table. | Chris Lattner | 2007-02-09 | 3 | -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 | |||||
* | move archive-specific stuff out of bcreader into archive library. | Chris Lattner | 2007-02-07 | 3 | -70/+80 | |
| | | | | llvm-svn: 34022 | |||||
* | move an llvmc-specific function out of the bcreader into llvmc. | Chris Lattner | 2007-02-07 | 1 | -16/+0 | |
| | | | | llvm-svn: 34021 | |||||
* | move AnalyzeBytecodeFile out of ReaderWrappers.cpp into Analyzer.cpp. Now | Chris Lattner | 2007-02-07 | 3 | -36/+15 | |
| | | | | | | lli doesn't link in Analyzer.cpp. llvm-svn: 34020 | |||||
* | push bytecode decompressor out through APIs. Now the bytecode reader | Chris Lattner | 2007-02-07 | 6 | -62/+59 | |
| | | | | | | | | | | | | | | | | | | | | 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 Lattner | 2007-02-07 | 3 | -6/+14 | |
| | | | | llvm-svn: 34007 | |||||
* | remove dead ivars, thanks to Reid for noticing this! | Chris Lattner | 2007-02-07 | 1 | -22/+1 | |
| | | | | llvm-svn: 33995 | |||||
* | remove the handleVBR32/handleVBR64 callbacks. They are very fine-grained. | Chris Lattner | 2007-02-07 | 2 | -26/+0 | |
| | | | | llvm-svn: 33994 | |||||
* | parse constantexpr arguments into a smallvector: 1.5% speedup reading 176.gcc | Chris Lattner | 2007-02-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 33980 | |||||
* | Eliminate std::vectors from the bcanalyzer interface. | Chris Lattner | 2007-02-07 | 3 | -32/+45 | |
| | | | | llvm-svn: 33978 | |||||
* | For PR411: | Reid Spencer | 2007-02-05 | 7 | -61/+73 | |
| | | | | | | | | | | 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 Spencer | 2007-02-02 | 1 | -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 Lattner | 2007-01-31 | 1 | -3/+6 | |
| | | | | llvm-svn: 33710 | |||||
* | eliminate a temporary vector | Chris Lattner | 2007-01-31 | 1 | -2/+2 | |
| | | | | llvm-svn: 33695 | |||||
* | For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid | Reid Spencer | 2007-01-30 | 2 | -7/+7 | |
| | | | | | | confusion with external linkage types. llvm-svn: 33663 | |||||
* | Bye, Bye Compaction Tables. The benefit compaction tables provides doesn't | Reid Spencer | 2007-01-30 | 6 | -722/+35 | |
| | | | | | | | | | | | | | | | | | | | 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 Spencer | 2007-01-28 | 1 | -191/+0 | |
| | | | | llvm-svn: 33596 | |||||
* | For PR761: | Reid Spencer | 2007-01-26 | 3 | -36/+16 | |
| | | | | | | | 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 Spencer | 2007-01-19 | 2 | -10/+0 | |
| | | | | llvm-svn: 33347 | |||||
* | For PR761: | Reid Spencer | 2007-01-18 | 2 | -0/+10 | |
| | | | | | | 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 Lattner | 2007-01-15 | 1 | -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 for | Reid Spencer | 2007-01-13 | 1 | -6/+10 | |
| | | | | | | indices with other bit sizes yet. llvm-svn: 33167 |