Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | remove the old bc writer | Chris Lattner | 2007-05-06 | 5 | -1945/+0 |
| | | | | llvm-svn: 36881 | ||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -1/+1 |
| | | | | llvm-svn: 36662 | ||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -1/+1 |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | ||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -0/+1 |
| | | | | llvm-svn: 36632 | ||||
* | Implement protected visibility. This partly implements PR1363. Linker | Anton Korobeynikov | 2007-04-29 | 1 | -2/+3 |
| | | | | | | should be taught to deal with protected symbols. llvm-svn: 36565 | ||||
* | Implement review feedback. Aliasees can be either GlobalValue's or | Anton Korobeynikov | 2007-04-28 | 2 | -5/+19 |
| | | | | | | bitcasts of them. llvm-svn: 36537 | ||||
* | Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part | Anton Korobeynikov | 2007-04-25 | 1 | -1/+26 |
| | | | | | | will follow. llvm-svn: 36435 | ||||
* | PR400 work phase 1. Add attributed load/store instructions for ↵ | Christopher Lamb | 2007-04-22 | 1 | -6/+35 |
| | | | | | | volatile/align to LLVM. llvm-svn: 36349 | ||||
* | Revert Christopher Lamb's load/store alignment changes. | Reid Spencer | 2007-04-21 | 1 | -27/+5 |
| | | | | llvm-svn: 36309 | ||||
* | add support for alignment attributes on load/store instructions | Christopher Lamb | 2007-04-21 | 1 | -5/+27 |
| | | | | llvm-svn: 36301 | ||||
* | Make long line fit in 80 cols. | Reid Spencer | 2007-04-16 | 1 | -1/+1 |
| | | | | llvm-svn: 36183 | ||||
* | Implement the "thread_local" keyword. | Lauro Ramos Venancio | 2007-04-12 | 1 | -5/+6 |
| | | | | llvm-svn: 35950 | ||||
* | For PR1146: | Reid Spencer | 2007-04-09 | 4 | -17/+36 |
| | | | | | | | | 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 | ||||
* | Fix a bug that caused alignment information to occasionally get stripped off | Chris Lattner | 2007-04-09 | 1 | -2/+11 |
| | | | | | | of an allocation instruction when writing to bytecode. llvm-svn: 35796 | ||||
* | Implement writing of arbitrary precision integers. | Reid Spencer | 2007-02-28 | 1 | -4/+14 |
| | | | | llvm-svn: 34717 | ||||
* | For PR1195: | Reid Spencer | 2007-02-15 | 1 | -4/+4 |
| | | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293 | ||||
* | From Dan Gohman: | Chris Lattner | 2007-02-14 | 1 | -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 | ||||
* | Switch ValueSymbolTable to use StringMap<Value*> instead of ↵ | Chris Lattner | 2007-02-12 | 3 | -11/+11 |
| | | | | | | | | | std::map<std::string, Value*> as its main datastructure. There are many improvements yet to be made, but this speeds up opt --std-compile-opts on 447.dealII by 7.3%. llvm-svn: 34193 | ||||
* | Undo the last patch. It slowed down bcwriter by 1.8% but only sped up | Reid Spencer | 2007-02-11 | 1 | -67/+5 |
| | | | | | | the bc reader by 0.8%. Deemed "not worth it" llvm-svn: 34169 | ||||
* | For PR1194: | Reid Spencer | 2007-02-10 | 1 | -5/+67 |
| | | | | | | | | | | | | The bcreader counts on "primitive" types being inserted before they are referenced in other types. With recent changes to the bcwriter, this fact became exposed since IntegerType is no longer "primitive". We can no longer count on all IntegerTypes being inserted early. This patch modifies getOrCreateTypeSlot to insert any sub-type that can't possibly recurse before we create the slot for the type. This has the benefit of reducing the number of OpaqueType objects the reader needs to deal with. llvm-svn: 34147 | ||||
* | Fix a comment. | Reid Spencer | 2007-02-10 | 1 | -1/+1 |
| | | | | llvm-svn: 34146 | ||||
* | Change the table datastructure to be a vector<smallvector>, instead of | Chris Lattner | 2007-02-10 | 3 | -16/+14 |
| | | | | | | | | | | vector<vector> to avoid allocations. This speeds up bcwriting of 447.dealII from 0.8276 to 0.7637s (8.4%). This concludes this round of proding the bcwriter into submission. Final speedup from 24.4s to 0.7637s (32x). llvm-svn: 34142 | ||||
* | Make BytecodeWriter::outputValueSymbolTable *significantly* less abusive | Chris Lattner | 2007-02-10 | 1 | -3/+4 |
| | | | | | | | of memory, through a combination of DenseMap and SmallVector. This speeds up bcwriter on 447.dealII from 1.31s to 0.82s (60% faster). llvm-svn: 34141 | ||||
* | make the datastructure used in BytecodeWriter::outputValueSymbolTable | Chris Lattner | 2007-02-10 | 1 | -4/+4 |
| | | | | | | | *slightly* less abusive of memory. This speeds up the bcwriter from 1.83s to 1.32s (39% faster) on 447.dealII. llvm-svn: 34140 | ||||
* | Switch typemap over to DenseMap. No significant speedup. | Chris Lattner | 2007-02-10 | 1 | -2/+1 |
| | | | | llvm-svn: 34139 | ||||
* | 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 |