Chris Lattner
03503b5e31
new testcase for x86 backend miscompilation
...
llvm-svn: 33883
2007-02-04 20:15:15 +00:00
Chris Lattner
19083a4671
switch the VRBaseMap in the scheduler from an std::map to a DenseMap. This
...
speeds up the isel pass from 2.5570s to 2.4722s on kc++ (3.4%).
llvm-svn: 33879
2007-02-04 08:47:20 +00:00
Chris Lattner
9af2c86bc8
Introduce new UnarySDNode/BinarySDNode/TernarySDNode nodes, which coallocate
...
their operands with the node itself. This reduces malloc traffic for operand
lists. This reduces isel time on kc++ from 2.6164 to 2.5570s, about 2.3%.
llvm-svn: 33878
2007-02-04 08:35:21 +00:00
Chris Lattner
69b02ab54c
Add a new SDNode ctor and InitOperands method. This allows the operands for
...
an SDNode to be allocated as part of the node itself, instead of being a
separate new[]'d object. Switch HandleSDNode, LoadSDNode, and StoreSDNode
to use this mechanism. This saves one heap allocation and free for each node
of this type that is allocated. This reduces isel time from 2.7638 to 2.6164s
on kc++, which is a 5.6% speedup.
llvm-svn: 33877
2007-02-04 08:13:53 +00:00
Chris Lattner
22639f3d90
eliminate the SDNode::setValueTypes method.
...
llvm-svn: 33876
2007-02-04 07:37:24 +00:00
Chris Lattner
f17b4222e2
eliminate a bunch of duplicate ctors and helper functions.
...
llvm-svn: 33875
2007-02-04 07:28:00 +00:00
Reid Spencer
d3ba7d9b42
Fix some comments and other minor sundry things.
...
llvm-svn: 33873
2007-02-04 04:43:17 +00:00
Reid Spencer
2dc3653531
Ensure that visibility and section are properly propagated.
...
llvm-svn: 33872
2007-02-04 04:30:33 +00:00
Reid Spencer
90246aa71e
Back out last revision which was committed by accident.
...
llvm-svn: 33871
2007-02-04 04:29:21 +00:00
Reid Spencer
2ea1bb2b8a
Make sure that section and visibility are properly propagated.
...
llvm-svn: 33870
2007-02-04 04:28:18 +00:00
Chris Lattner
edfc7e5fa2
move MorphNode to out of line and merge setNodeOperands into it. There is
...
no behavior or performance change here.
llvm-svn: 33869
2007-02-04 02:49:29 +00:00
Chris Lattner
3bf17b6fa5
simplify MorphNodeTo to take a VTList operand.
...
llvm-svn: 33868
2007-02-04 02:41:42 +00:00
Chris Lattner
486edfbc6f
eliminate some extraneous methods in SDNode
...
llvm-svn: 33867
2007-02-04 02:32:44 +00:00
Chris Lattner
20754cc579
Give each selectiondag node class a home for it's vtable and rtti info
...
llvm-svn: 33866
2007-02-04 02:23:32 +00:00
Reid Spencer
cb4d3f2902
Prepare for PR411
...
llvm-svn: 33865
2007-02-04 02:11:13 +00:00
Chris Lattner
010ee96261
Encode small integers more densely in foldingset, avoiding overflowing the SmallVector as often.
...
llvm-svn: 33864
2007-02-04 01:48:10 +00:00
Chris Lattner
289aa4495c
Switch VAlueMap from std::map to DenseMap.
...
llvm-svn: 33863
2007-02-04 01:35:11 +00:00
Chris Lattner
79084305ee
Switch NodeMap from std::map to DenseMap, this speeds up isel by 2.3%
...
llvm-svn: 33862
2007-02-04 01:31:47 +00:00
Chris Lattner
94c44c96d3
swtich vector-> smallvector, speeding up selectiondag stuff 1%
...
llvm-svn: 33861
2007-02-04 01:20:02 +00:00
Chris Lattner
4b0ddb22e9
Switch promoted/expanded ops over to using a DenseMap. Vector related maps
...
aren't worth it.
llvm-svn: 33860
2007-02-04 01:17:38 +00:00
Reid Spencer
bc7e614093
Regenerate.
...
llvm-svn: 33859
2007-02-04 01:12:11 +00:00
Reid Spencer
d9f7298477
For PR1151:
...
Make llvm-upgrade valgrind clean. Deleting type instances is a really
nasty thing to do to LLVM. This was a hold-over from the re-write.
This fixes test/Assembler/2007-01-22-UpgradeTypeMapInvalidMemory.ll and
potentially many other bugs.
llvm-svn: 33858
2007-02-04 01:05:23 +00:00
Chris Lattner
ed39c86176
switch LegalizedNodes from std::map to a DenseMap. This speeds up isel
...
time as a whole on kc++ by 11%.
llvm-svn: 33857
2007-02-04 00:50:02 +00:00
Chris Lattner
692457f107
add a version of insert that takes the key and value.
...
llvm-svn: 33856
2007-02-04 00:42:41 +00:00
Reid Spencer
3f4e6e84dc
For PR1163:
...
Make the Module's dependent library use a std::vector instead of SetVector
adjust #includes in .cpp files because SetVector.h is no longer included.
llvm-svn: 33855
2007-02-04 00:40:42 +00:00
Chris Lattner
09ec2c842a
Make SmallSetVector useful
...
llvm-svn: 33854
2007-02-04 00:30:40 +00:00
Chris Lattner
ebeb48d4bc
Eliminate some malloc traffic from LegalizeAllNodesNotLeadingTo, speeding
...
up isel on kimwitu by 0.7%.
llvm-svn: 33853
2007-02-04 00:27:56 +00:00
Chris Lattner
cba058ce51
Eliminate some std::sets. This speeds up isel of kimwitu by about 0.9%
...
llvm-svn: 33852
2007-02-04 00:24:41 +00:00
Reid Spencer
d751385a7a
Make sure the gccas script is executable.
...
llvm-svn: 33851
2007-02-04 00:23:51 +00:00
Reid Spencer
f9eabff001
For PR1067:
...
Update library documentation after removal of libLLVMTransforms.a that
resulted from removal of the LevelRaise pass.
llvm-svn: 33850
2007-02-04 00:17:35 +00:00
Chris Lattner
feec7137ce
Switch SelectionDAG::ReplaceAllUsesOfValueWith to use a SmallSetVector for
...
the users set (most nodes have 1 or 2 users). This speeds up the isel pass
3.2% on kimwitu.
llvm-svn: 33849
2007-02-04 00:14:31 +00:00
Chris Lattner
0732bec915
Various bugfixes
...
llvm-svn: 33848
2007-02-04 00:12:12 +00:00
Chris Lattner
0a165eedd1
describe SmallSetVector
...
llvm-svn: 33847
2007-02-04 00:00:26 +00:00
Chris Lattner
2b2b6c6c97
Convert SetVector to be a true adapter class and add SmallSetVector.
...
llvm-svn: 33846
2007-02-03 23:56:03 +00:00
Chris Lattner
6c344e56b1
remove some dead code
...
llvm-svn: 33845
2007-02-03 23:28:07 +00:00
Reid Spencer
8de97bba5a
For PR1072:
...
Removing -raise has neglible positive or negative side effects so we are
opting to remove it. See the PR for comparison details.
llvm-svn: 33844
2007-02-03 23:15:56 +00:00
Chris Lattner
7ccf30bb17
add an instcombine pass to clean up after heavy-lifting IP passes
...
llvm-svn: 33843
2007-02-03 23:06:03 +00:00
Chris Lattner
265345fc65
null -> pointer, nul -> character :)
...
llvm-svn: 33841
2007-02-03 22:04:27 +00:00
Reid Spencer
31882b8831
Fix some spellos.
...
llvm-svn: 33840
2007-02-03 21:06:43 +00:00
Chris Lattner
f043f7653e
fix grammar
...
llvm-svn: 33839
2007-02-03 20:17:53 +00:00
Chris Lattner
9dd7a380a8
Serious cleanups. Make the TOC match the text for the class hierarchy,
...
move the sections of the class-h around in the right order, make it actually
reflect the classes in LLVM today.
llvm-svn: 33838
2007-02-03 20:02:25 +00:00
Chris Lattner
4e406a9f8e
Add TOC
...
llvm-svn: 33837
2007-02-03 19:51:56 +00:00
Chris Lattner
f233c425cd
describe map-like containers
...
llvm-svn: 33836
2007-02-03 19:49:31 +00:00
Chris Lattner
db83265e3c
8 buckets is way too small to start out with. This was only for testing.
...
llvm-svn: 33835
2007-02-03 19:30:48 +00:00
Reid Spencer
5458e0e135
Clean this up a bit: hide command unless verbose output requested, echo
...
a useful comment line, add a clean target.
llvm-svn: 33834
2007-02-03 16:09:12 +00:00
Evan Cheng
9d851fca1e
Add a test case.
...
llvm-svn: 33833
2007-02-03 09:14:10 +00:00
Evan Cheng
456db39ea9
ARM callseq_end should have a input flag operand so it would be scheduled right after the call.
...
llvm-svn: 33832
2007-02-03 09:11:58 +00:00
Evan Cheng
4b6c8f7f5e
Fix comments.
...
llvm-svn: 33831
2007-02-03 08:53:01 +00:00
Chris Lattner
68b0ec54c2
improve grammar
...
llvm-svn: 33830
2007-02-03 08:20:15 +00:00
Chris Lattner
f5ddd043d6
improve grammar
...
llvm-svn: 33829
2007-02-03 08:10:45 +00:00