Chris Lattner
1ccd185cb4
stop using methods that take vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34205 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 22:56:41 +00:00
Chris Lattner
48d3c108b6
more notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34204 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 21:20:26 +00:00
Chris Lattner
08ba1de2d2
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34202 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 20:26:34 +00:00
Zhou Sheng
d93f00c35d
1. Make APInt::shl work correctly and more efficiently.
...
2. Add functions to support the numberical conversion between APInt and
double/float.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34201 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 20:02:55 +00:00
Chris Lattner
dd8cec59fc
avoid creating a temporary string when reading the symbol table for a
...
module. This speeds up the bcreader 11%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34198 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 18:53:43 +00:00
Chris Lattner
042ad36871
Add new setName accessor which doesn't require creating a string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34197 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 18:52:59 +00:00
Chris Lattner
dec628eead
Switch ValueSymbolTable to use StringMap<Value*> instead of 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%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34193 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 05:18:08 +00:00
Chris Lattner
8adde28039
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34188 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 21:40:10 +00:00
Chris Lattner
c02659f675
add #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34187 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 21:39:35 +00:00
Chris Lattner
44dcd01cb3
Add support for removing elements out of StringMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34185 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 20:58:00 +00:00
Chris Lattner
b5bb9f5b5c
Replace the ugly FindValue method with STL-like find methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34183 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 19:49:41 +00:00
Chris Lattner
ea7acb8591
fix uninitialized variable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34182 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 19:12:18 +00:00
Chris Lattner
360cac8fef
remove support for stringmap visitors now that iterators exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34180 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 08:22:15 +00:00
Chris Lattner
a86559ec42
add support for iterators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34179 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 08:20:35 +00:00
Chris Lattner
86cc423555
simplify code by using Value::takeName
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34177 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 01:37:51 +00:00
Chris Lattner
6934a04a8c
Simplify code by using value::takename
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34176 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 01:23:03 +00:00
Chris Lattner
046800a712
simplify name juggling through the use of Value::takeName.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34175 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 01:08:35 +00:00
Chris Lattner
f41916e75d
add an optimization for the case where the src has no name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34174 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 01:04:09 +00:00
Nick Lewycky
3e051647c0
Fix comments to match names of functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34173 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 00:58:49 +00:00
Chris Lattner
33f294930e
simplify this code by using value::takename
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34172 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 00:39:38 +00:00
Chris Lattner
7216811ea2
add a helper method: Value::takeName
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34171 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 00:37:27 +00:00
Reid Spencer
b508987e84
Undo the last patch. It slowed down bcwriter by 1.8% but only sped up
...
the bc reader by 0.8%. Deemed "not worth it"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34169 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 00:03:39 +00:00
Chris Lattner
a77600e861
Switch some std::vector's to SmallVectors. This speeds up -load-vn -gcse
...
by 6% on tramp3d.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34167 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 22:15:31 +00:00
Chris Lattner
fd1ad3b730
modify CheckGEPInstructions to take a pointer and size instead of a vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34166 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 22:12:53 +00:00
Reid Spencer
cc5dc2e792
Assert that elements of packed are pointer/float/opaque.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 22:02:45 +00:00
Chris Lattner
829621c59e
eliminate use of TargetData::getIndexedOffset that takes a vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34163 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 20:35:22 +00:00
Chris Lattner
309f87e34a
completely eliminate a temporary vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34162 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 20:33:15 +00:00
Chris Lattner
7f6b9d2f1a
eliminate temporary vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34161 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 20:31:59 +00:00
Chris Lattner
f6ca09a22b
Switch LayoutInfo to be a DenseMap instead of an std::map. This speeds up
...
-load-vn -gcse by 2.3%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34160 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 20:26:17 +00:00
Chris Lattner
a12bd03f07
add a typedef
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34159 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 20:18:06 +00:00
Chris Lattner
9182e3f205
eliminate the std::vector from StructLayout, allocating the elements immediately
...
after the StructLayout object in memory. This marginally improves locality,
speeding up -load-vn -gcse by ~0.8%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34158 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 20:15:41 +00:00
Chris Lattner
b0c39a3b4d
encapsulate the rest of the StructLayout members.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34157 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 19:59:22 +00:00
Chris Lattner
b1919e2f08
Privatize StructLayout::MemberOffsets, adding an accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34156 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 19:55:17 +00:00
Chris Lattner
ec6478b8f3
Use ManagedStatic to manage LayoutInfo, instead of rolling our own.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34154 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 19:43:18 +00:00
Chris Lattner
ddce8d21ea
Change TargetData::getIndexedOffset interface to not require indices
...
in a vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34153 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 19:33:15 +00:00
Reid Spencer
e463fc8098
Allow PackedType to be constructed with an abstract type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34152 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 19:03:01 +00:00
Reid Spencer
91c4af242a
Compaction tables don't exist any more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34148 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 14:07:56 +00:00
Reid Spencer
fe3cccfb8f
For PR1194:
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34147 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 14:04:08 +00:00
Reid Spencer
c834553b72
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34146 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 11:59:10 +00:00
Chris Lattner
f8edb62e22
convert some vectors to smallvector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34145 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 08:33:11 +00:00
Chris Lattner
8552faeb7e
speed up the verifier 8.5% by using a smallvector instead of vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34144 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 08:30:29 +00:00
Chris Lattner
78287b400a
Change an std::set to a SmallPtrSet. This speeds up the verifier on
...
447.dealII from 1.27s to 0.86s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34143 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 08:19:44 +00:00
Chris Lattner
863da4c4f5
Change the table datastructure to be a vector<smallvector>, instead of
...
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34142 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 07:42:59 +00:00
Chris Lattner
ae052aa5a7
Make BytecodeWriter::outputValueSymbolTable *significantly* less abusive
...
of memory, through a combination of DenseMap and SmallVector. This speeds
up bcwriter on 447.dealII from 1.31s to 0.82s (60% faster).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34141 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 07:31:44 +00:00
Chris Lattner
b8cb5fe12c
make the datastructure used in BytecodeWriter::outputValueSymbolTable
...
*slightly* less abusive of memory. This speeds up the bcwriter from
1.83s to 1.32s (39% faster) on 447.dealII.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34140 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 07:11:51 +00:00
Chris Lattner
f98aad66fa
Switch typemap over to DenseMap. No significant speedup.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34139 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 07:06:46 +00:00
Chris Lattner
362df0d4b7
Switch NodeMap from an std::map to a DenseMap. This speeds up bcwriting
...
of 447.dealII from 3.3s to 1.8s (80% faster).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34138 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 07:01:05 +00:00
Chris Lattner
dc45f0fb40
use typedefs where appropriate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34136 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 06:42:23 +00:00
Chris Lattner
13dc07c7dc
The ModuleLevel vector is often quite sparse. Switch it to a DenseMap. This
...
speeds up bcwriting of 447.dealII by 40%, from 4.63s to 3.32s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34135 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 06:38:19 +00:00
Chris Lattner
7cad3cf448
Make the ModuleLevel datastructure more sane. When a function-local value
...
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%).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34133 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 06:09:41 +00:00