Brian Gaeke
84b4c9208d
Hack it so we do not try to allocate values to G0.
...
llvm-svn: 12184
2004-03-06 05:31:32 +00:00
Brian Gaeke
901cfa9e2e
Make prolog align stack properly. Make epilog not touch any registers.
...
llvm-svn: 12183
2004-03-06 05:31:21 +00:00
Brian Gaeke
5a1c7a8be3
Emit register names in lowercase, as required by the assembler.
...
llvm-svn: 12182
2004-03-06 05:30:21 +00:00
Brian Gaeke
639b04aca3
Teach getRegClassForType where to find FP registers
...
llvm-svn: 12180
2004-03-06 03:54:13 +00:00
Chris Lattner
2cb2905c96
Fix a minor bug
...
llvm-svn: 12169
2004-03-05 22:04:07 +00:00
Misha Brukman
d2e88a21b7
Unbreak the build on Sparc.
...
llvm-svn: 12161
2004-03-05 20:04:40 +00:00
Brian Gaeke
0c76d1146f
Asm output is looking a lot better; not correct for all operands yet though.
...
llvm-svn: 12143
2004-03-05 08:39:09 +00:00
Chris Lattner
6c271edcd7
Fix a bug in a previous checkin that broke 175.vpr
...
llvm-svn: 12128
2004-03-04 21:36:57 +00:00
Chris Lattner
bc3381f267
Add support for strto* and v*printf
...
llvm-svn: 12127
2004-03-04 21:03:54 +00:00
Chris Lattner
0ed8162c1a
Add non-crappy support for varargs
...
llvm-svn: 12126
2004-03-04 20:33:47 +00:00
Chris Lattner
3562ea84ab
Implement a FIXME, improving the efficiency of DSA on povray.
...
This reduces CBU time from 145s -> 122s (debug build), reduces # allocated nodes
from 129420 to 116477.
llvm-svn: 12125
2004-03-04 19:47:04 +00:00
Brian Gaeke
9c609df3c9
Support -print-machineinstrs
...
llvm-svn: 12124
2004-03-04 19:22:16 +00:00
Chris Lattner
30f94a72f4
Speed up the cbu pass from taking somewhere near the age of the universe to about 90s on povray
...
llvm-svn: 12123
2004-03-04 19:16:35 +00:00
Brian Gaeke
8351d8c1a8
make -print-machineinstrs work for both SparcV9 and X86
...
llvm-svn: 12122
2004-03-04 19:16:23 +00:00
Alkis Evlogimenos
b9501c1f8c
Add assertion for scale verification.
...
llvm-svn: 12120
2004-03-04 18:05:02 +00:00
Alkis Evlogimenos
8a4159708b
Fix bug introduced by yesterday's changes.
...
llvm-svn: 12119
2004-03-04 18:02:07 +00:00
Alkis Evlogimenos
33cb4260a5
Hide variable from other functions.
...
llvm-svn: 12118
2004-03-04 17:50:44 +00:00
Chris Lattner
536b131c9c
Fix BU datastructures with povray!
...
The problem was that we were merging a field of a node with a value that was
deleted. Thanks to bugpoint for reducing povray to a nice small 3 function
example. :)
llvm-svn: 12116
2004-03-04 17:06:53 +00:00
Chris Lattner
8db52980b7
Minor changes, remove some debugging code that got checked in somehow.
...
Make sure to scope the NodeMap passed into cloneInto so that it doesn't point
to nodes that are deleted. Add some FIXME's for future performance enhancements.
llvm-svn: 12115
2004-03-04 17:05:28 +00:00
Brian Gaeke
82ec4a561b
Asm printer support, based on x86 - only prints mnemonics for now
...
llvm-svn: 12113
2004-03-04 06:00:41 +00:00
Brian Gaeke
8ace44fe0d
Double-FP pseudo-registers.
...
llvm-svn: 12112
2004-03-04 05:15:03 +00:00
Brian Gaeke
92c95f812d
Subtract instructions; minor cleanups
...
llvm-svn: 12111
2004-03-04 04:37:45 +00:00
Brian Gaeke
d2e89190d9
Floating point regs
...
llvm-svn: 12110
2004-03-04 04:37:22 +00:00
Chris Lattner
f48eb7519a
Only clone nodes that are needed in the caller, don't clone ALL aux calls. This improves
...
povray from having ~600K nodes and 300K call nodes to 65K nodes and 25K call nodes.
llvm-svn: 12109
2004-03-04 03:57:53 +00:00
Brian Gaeke
956fb06a4a
Simple copyConstantToReg support, SETHIi and ORri
...
llvm-svn: 12107
2004-03-04 00:56:25 +00:00
Brian Gaeke
165ff998e0
Support add - note, still missing important copyConstantToRegister stuff
...
llvm-svn: 12106
2004-03-03 23:03:14 +00:00
Chris Lattner
559487301f
Fix a minor bug handling incomplete programs
...
llvm-svn: 12105
2004-03-03 23:00:19 +00:00
Chris Lattner
d9da2678fc
Fix a DSA bug that caused DSA to generate incredibly huge graphs and take forever to
...
do it on povray. The problem is that we were not copying globals from callees to
callers unless the existed in both graphs. We should have copied them in the case
where the global pointed to a node that was copied as well.
llvm-svn: 12104
2004-03-03 22:01:09 +00:00
Chris Lattner
91be5332b2
Rename method, add new method
...
llvm-svn: 12103
2004-03-03 22:00:20 +00:00
Chris Lattner
5fc189157c
Deinline methods, add fast exit
...
llvm-svn: 12102
2004-03-03 20:55:27 +00:00
Chris Lattner
06bd20676d
De-inline methods
...
llvm-svn: 12101
2004-03-03 20:55:15 +00:00
Brian Gaeke
015972103d
Make MachineOperand's value named 'contents'. Make really, really sure
...
it is always completely initialized and copied.
Also, fix up many comments and asserts.
llvm-svn: 12100
2004-03-03 19:07:27 +00:00
Brian Gaeke
3001c6e264
Squash /usr/dcs path; use a 'require <version>' instead.
...
llvm-svn: 12099
2004-03-03 17:38:51 +00:00
Brian Gaeke
c0c260dd37
Add my regression finding by binary searching cvs script.
...
llvm-svn: 12095
2004-03-03 08:14:25 +00:00
Chris Lattner
140b2cbd28
Fix a node mapping problem that was causing the pool allocator to locally allocate
...
nodes that were globally live, thus breaking programs.
llvm-svn: 12094
2004-03-03 05:34:31 +00:00
Chris Lattner
93e9878c2c
SPECIFY a target data to initialize the CBE target with. Until now we have
...
been using the default target data layout object to lower malloc instructions,
causing us to allocate more memory than we needed! This could improve the
performance of the CBE generated code substantially!
llvm-svn: 12088
2004-03-03 02:14:15 +00:00
Chris Lattner
87ed2a4096
Add a new constructor
...
llvm-svn: 12087
2004-03-03 02:12:47 +00:00
Chris Lattner
7abcc387de
Don't emit things like malloc(16*1). Allocation instructions are fixed arity now.
...
llvm-svn: 12086
2004-03-03 01:40:53 +00:00
Chris Lattner
2e92b469c8
FINALLY be able to get symbolic type names in the globals graph!
...
llvm-svn: 12082
2004-03-02 21:39:43 +00:00
Chris Lattner
9e100fc3f7
Really, only if reopen
...
llvm-svn: 12080
2004-03-02 20:46:18 +00:00
John Criswell
626f47f946
Added EH support.
...
llvm-svn: 12075
2004-03-02 15:54:25 +00:00
Alkis Evlogimenos
cb8937197e
Make <di> into <dt> (definition list term).
...
llvm-svn: 12072
2004-03-02 03:36:10 +00:00
Misha Brukman
c566ca36a1
Doxygenify comments.
...
llvm-svn: 12071
2004-03-02 00:22:19 +00:00
Misha Brukman
f44acae31e
Implement ExtractCodeRegion()
...
llvm-svn: 12070
2004-03-02 00:20:57 +00:00
Misha Brukman
1998b73492
Add prototype for ExtractCodeRegion()
...
llvm-svn: 12069
2004-03-02 00:20:32 +00:00
Misha Brukman
f272f9b3d5
Make a note that this is usually used via bugpoint.
...
llvm-svn: 12068
2004-03-02 00:19:09 +00:00
Misha Brukman
a6025e6480
Doxygenify some comments.
...
llvm-svn: 12064
2004-03-01 23:53:11 +00:00
Alkis Evlogimenos
45da18d2a4
Fix <p> missing <p> tag
...
llvm-svn: 12063
2004-03-01 23:25:38 +00:00
Alkis Evlogimenos
31953c7a10
Add a spiller option to llc. A simple spiller will come soon. When we get CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now.
...
llvm-svn: 12062
2004-03-01 23:18:15 +00:00
Alkis Evlogimenos
b76d234ee9
Add the long awaited memory operand folding support for linear scan
...
llvm-svn: 12058
2004-03-01 20:05:10 +00:00