Chris Lattner [Tue, 13 Feb 2007 06:30:42 +0000 (06:30 +0000)]
now that we can pass ranges into CallInst ctors, eliminate vector heap traffic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34229
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 06:22:32 +0000 (06:22 +0000)]
eliminate instruction ctors that take vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 06:06:26 +0000 (06:06 +0000)]
eliminate vector-related ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 06:05:43 +0000 (06:05 +0000)]
eliminate use of vector-related ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 06:04:17 +0000 (06:04 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34225
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 06:03:48 +0000 (06:03 +0000)]
remove use of vector-related ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 06:01:22 +0000 (06:01 +0000)]
eliminate vector-related allocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 05:58:53 +0000 (05:58 +0000)]
eliminate a bunch of vector-related heap traffic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 05:53:56 +0000 (05:53 +0000)]
eliminate use of vector ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 02:10:56 +0000 (02:10 +0000)]
Eliminate use of ctors that take vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 01:53:54 +0000 (01:53 +0000)]
stop passing vector into ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34218
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Feb 2007 01:30:55 +0000 (01:30 +0000)]
Allow any MachineBasicBlock (not just the entry block) to have live-in physical
registers. Make sure liveinterval analysis is correctly creating live ranges
for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34217
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 01:05:56 +0000 (01:05 +0000)]
Fix switch lowering to order cases in zext order, which is how we emit the
comparisons. This fixes an infinite loop on CodeGen/Generic/switch-lower.ll
and PR1197
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 01:05:10 +0000 (01:05 +0000)]
new testcase for PR1197
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 01:04:01 +0000 (01:04 +0000)]
Add invokeinst and callinst ctors that don't take vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 00:58:44 +0000 (00:58 +0000)]
remove some dead methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 00:58:01 +0000 (00:58 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34212
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Feb 2007 00:57:40 +0000 (00:57 +0000)]
eliminate use of methods that take vectors as args
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34211
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 13 Feb 2007 00:37:50 +0000 (00:37 +0000)]
I love non-deturminism. Returning objects with references to stack objects is a bad idea (TM).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34210
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 22:58:38 +0000 (22:58 +0000)]
stop using me thods that take a vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34206
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 22:56:41 +0000 (22:56 +0000)]
stop using methods that take vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 21:20:26 +0000 (21:20 +0000)]
more notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 20:26:34 +0000 (20:26 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34202
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Mon, 12 Feb 2007 20:02:55 +0000 (20:02 +0000)]
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
Jim Laskey [Mon, 12 Feb 2007 19:05:51 +0000 (19:05 +0000)]
Wrong value type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 18:53:43 +0000 (18:53 +0000)]
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
Chris Lattner [Mon, 12 Feb 2007 18:52:59 +0000 (18:52 +0000)]
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
Lauro Ramos Venancio [Mon, 12 Feb 2007 18:31:46 +0000 (18:31 +0000)]
Fix build error on ARM.
Since CompilerDriver.cpp revision 1.44, llvmc must be linked against LLVMCore.a (llvm::Module::~Module) and LLVMBCReader.a
(llvm::getBytecodeModuleProvider).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34196
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 05:18:08 +0000 (05:18 +0000)]
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
Reid Spencer [Mon, 12 Feb 2007 05:03:33 +0000 (05:03 +0000)]
Remove references to the now deprecated gccas and gccld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34192
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 12 Feb 2007 05:02:56 +0000 (05:02 +0000)]
Update for llvm-gcc v4.0 usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34191
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Feb 2007 05:00:35 +0000 (05:00 +0000)]
add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 21:46:36 +0000 (21:46 +0000)]
add new ShouldRehash method to factor out common code. Fix the dtor to not
delete tombstones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 21:40:10 +0000 (21:40 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 21:39:35 +0000 (21:39 +0000)]
add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 21:07:36 +0000 (21:07 +0000)]
do not allow hash table to be filled with tombstones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 20:58:00 +0000 (20:58 +0000)]
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
Reid Spencer [Sun, 11 Feb 2007 20:18:32 +0000 (20:18 +0000)]
For PR1196:
Prevent infinite loops and memory bombs by setting a ulimit on time and
space for running the dejagnu tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34184
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 19:49:41 +0000 (19:49 +0000)]
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
Chris Lattner [Sun, 11 Feb 2007 19:12:18 +0000 (19:12 +0000)]
fix uninitialized variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34182
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 08:22:15 +0000 (08:22 +0000)]
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
Chris Lattner [Sun, 11 Feb 2007 08:20:35 +0000 (08:20 +0000)]
add support for iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34179
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 08:12:13 +0000 (08:12 +0000)]
add iterator support, plus support for size() and empty().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34178
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 01:37:51 +0000 (01:37 +0000)]
simplify code by using Value::takeName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34177
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 01:23:03 +0000 (01:23 +0000)]
Simplify code by using value::takename
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34176
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 01:08:35 +0000 (01:08 +0000)]
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
Chris Lattner [Sun, 11 Feb 2007 01:04:09 +0000 (01:04 +0000)]
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
Nick Lewycky [Sun, 11 Feb 2007 00:58:49 +0000 (00:58 +0000)]
Fix comments to match names of functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34173
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 00:39:38 +0000 (00:39 +0000)]
simplify this code by using value::takename
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34172
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 00:37:27 +0000 (00:37 +0000)]
add a helper method: Value::takeName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34171
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Feb 2007 00:10:26 +0000 (00:10 +0000)]
Split StringMapEntry construction out of StringMap, into StringMapEntry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34170
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 11 Feb 2007 00:03:39 +0000 (00:03 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 22:15:31 +0000 (22:15 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 22:12:53 +0000 (22:12 +0000)]
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
Reid Spencer [Sat, 10 Feb 2007 22:02:45 +0000 (22:02 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 20:37:40 +0000 (20:37 +0000)]
remove dead method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 20:35:22 +0000 (20:35 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 20:33:15 +0000 (20:33 +0000)]
completely eliminate a temporary vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 20:31:59 +0000 (20:31 +0000)]
eliminate temporary vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 20:26:17 +0000 (20:26 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 20:18:06 +0000 (20:18 +0000)]
add a typedef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34159
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 20:15:41 +0000 (20:15 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 19:59:22 +0000 (19:59 +0000)]
encapsulate the rest of the StructLayout members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34157
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 19:55:17 +0000 (19:55 +0000)]
Privatize StructLayout::MemberOffsets, adding an accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34156
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 19:54:24 +0000 (19:54 +0000)]
add helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 19:43:18 +0000 (19:43 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 19:33:15 +0000 (19:33 +0000)]
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
Reid Spencer [Sat, 10 Feb 2007 19:03:01 +0000 (19:03 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 18:35:31 +0000 (18:35 +0000)]
fix a grammar ambiguity noticed by Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34151
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 10 Feb 2007 15:14:00 +0000 (15:14 +0000)]
Align make log output with the rest of llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34150
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 10 Feb 2007 14:07:56 +0000 (14:07 +0000)]
Compaction tables don't exist any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34148
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 10 Feb 2007 14:04:08 +0000 (14:04 +0000)]
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
Reid Spencer [Sat, 10 Feb 2007 11:59:10 +0000 (11:59 +0000)]
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 08:33:11 +0000 (08:33 +0000)]
convert some vectors to smallvector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 08:30:29 +0000 (08:30 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 08:19:44 +0000 (08:19 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 07:42:59 +0000 (07:42 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 07:31:44 +0000 (07:31 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 07:11:51 +0000 (07:11 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 07:06:46 +0000 (07:06 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 07:01:05 +0000 (07:01 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 06:58:17 +0000 (06:58 +0000)]
Make find return the appropriate iterator/const_iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34137
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 06:42:23 +0000 (06:42 +0000)]
use typedefs where appropriate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34136
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 06:38:19 +0000 (06:38 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 06:34:58 +0000 (06:34 +0000)]
Allow DenseMAp to take an explicit DenseMapKeyInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 06:09:41 +0000 (06:09 +0000)]
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
Chris Lattner [Sat, 10 Feb 2007 05:54:33 +0000 (05:54 +0000)]
Only compute the module levels info once per module, instead of once
per function. This speeds up bcwriting on 447.dealII from 10.16s to 6.81s
(49%).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34132
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 05:45:09 +0000 (05:45 +0000)]
Clone and specialize CreateSlotIfNeeded into CreateFunctionValueSlot to handle
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 05:18:35 +0000 (05:18 +0000)]
make getSlot/getTypeSlot inline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 05:17:48 +0000 (05:17 +0000)]
getTypeSlot can never fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34129
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 05:13:03 +0000 (05:13 +0000)]
getSlot can never fail. Make it assert internally, eliminate checks in
clients. Same for getTypeSlot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34128
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 05:02:50 +0000 (05:02 +0000)]
simplify getOrCreateTypeSlot, eliminat doInsertType. Eliminate post-order iteration stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:57:36 +0000 (04:57 +0000)]
simplify and speed up recursive type processing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34126
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:54:01 +0000 (04:54 +0000)]
rename getOrCreateSlot -> CreateSlotIfNeeded. Noone cares about the retval
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34125
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:51:21 +0000 (04:51 +0000)]
refactor callers of insertType. inline insertType into its one remaining caller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34124
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:47:51 +0000 (04:47 +0000)]
simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34123
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:42:30 +0000 (04:42 +0000)]
simplify some logic, reduce nesting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34122
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:38:34 +0000 (04:38 +0000)]
Remove dead ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34121
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:36:10 +0000 (04:36 +0000)]
ModuleContainsAllFunctionConstants is always true
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34120
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Feb 2007 04:31:52 +0000 (04:31 +0000)]
only one client of getOrCreateSlot can pass a void typed value. Check type
there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34119
91177308-0d34-0410-b5e6-
96231b3b80d8