Alkis Evlogimenos
b08bdc4a16
Make LiveVariables::HandlePhysRegUse and
...
LiveVariables::HandlePhysRegDef private they use information that is
not in memory when LiveVariables finishes the analysis.
Also update the TwoAddressInstructionPass to not use this interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-11 09:18:45 +00:00
Chris Lattner
a14b0d441d
Check in two changes:
...
The first change (which is disabled) compactifies all of the function constant
pools into the global constant pool, in an attempt to reduce the amount of
duplication and overhead. Unfortunately, as the comment indicates, this is
not yet a win, so it is disabled.
The second change sorts the typeid's so that those types that can be used
by instructions in the program appear earlier in the table than those that
cannot (such as structures and arrays). This causes the instructions to
be able to use the dense encoding more often, saving about 5K on 254.gap.
This is only a .65% savings though, unfortunately. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 23:46:13 +00:00
Chris Lattner
91d7efbf4b
Hrm, another minor cleanup, which I missed before
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 21:42:24 +00:00
Chris Lattner
9a0817971a
Minor cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 21:40:29 +00:00
Chris Lattner
2cacc0a306
Update obsolete comments
...
Fix iterator invalidation problems which was causing -mstrip to miss some
entries, and read free'd memory. This shrinks the symbol table of 254.gap
from 333 to 284 bytes! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 21:36:49 +00:00
Chris Lattner
737d3cd719
Do not bother to emit a BytecodeBlock for an empty symbol table. This commonly
...
occurs when the symbol table for a module has been stripped, making all of the
function local symbols go away.
This saves 6728 bytes in the stripped bytecode file of 254.gap (which obviously
has 841 functions), which isn't a ton, but helps and was easy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10750 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:56:59 +00:00
Chris Lattner
ae7fc3aede
Remove use of llvm/CodeGen/InstrSelection.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10749 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:16:26 +00:00
Chris Lattner
e275fe834a
Remove standard C header wrappers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:15:38 +00:00
Chris Lattner
74b1f45293
Remove config wrapper around <cerrno>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:15:14 +00:00
Chris Lattner
c9d2d08bc8
Remove standard C file wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:15:00 +00:00
Chris Lattner
f3c212a3f6
Remove wrapper for standard C file, use <cstdlib> instead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10745 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:12:44 +00:00
Chris Lattner
335eb9d912
Remove wrappers around std c files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:12:09 +00:00
Chris Lattner
9d51de1007
Dead file, use <cstring> instead of this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10743 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:10:22 +00:00
Chris Lattner
32abce6e3a
Err, we don't need Config/*.h files for things that are standard C++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10742 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:10:01 +00:00
Chris Lattner
1499934c64
minor comment tweaks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10741 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:07:06 +00:00
Chris Lattner
81653133b4
remove obsolete file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:00:26 +00:00
Chris Lattner
3446ae8337
* finegrainify namespacification of ArchiveReader.cpp
...
* Refactor reader stuff out of include/llvm/Bytecode/Primitives.h. This is
internal implementation details for the reader, not public interfaces!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 19:00:15 +00:00
Chris Lattner
4443019b7d
Refactor writer stuff out of include/llvm/Bytecode/Primitives.h. This is
...
internal implementation details for the writer, not public interfaces!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10738 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 18:56:59 +00:00
Chris Lattner
44f549b4eb
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10 18:49:43 +00:00
Chris Lattner
be39e43d33
Fix annoying warnings. W doesn't have a revision number
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10736 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 18:39:04 +00:00
Chris Lattner
b3da2fd16f
Live var is now in lib/Target/Sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10735 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 18:16:20 +00:00
Chris Lattner
12023d67f8
Move sparc-specific code into lib/Target/Sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10734 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 18:15:56 +00:00
Chris Lattner
9982e211ce
Move sparc-specific livevar code into lib/Target/Sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10733 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 18:15:24 +00:00
Chris Lattner
1d415a967b
Fix more incestuous #includage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10732 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 16:17:09 +00:00
Chris Lattner
d5da197071
Finegrainify namespacification.
...
This should get hunked over to the Sparc backend, along with
MachineCodeForInstruction and a bunch of files in include/llvm/Codegen,
but those battles will have to wait for a later time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10731 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:30:18 +00:00
Chris Lattner
2abcf524a1
Move InstrSelection into lib/Target/Sparc, as it's sparc specific
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10730 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:24:06 +00:00
Chris Lattner
46de01e0c8
Move InstrSelection into lib/Target/Sparc, as it's sparc specific. This
...
makes the incestuous #include'ing of sparc internal headers much less
disturbing. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10729 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:22:34 +00:00
Chris Lattner
75e260990d
Move lib/Codegen/RegAlloc into lib/Target/Sparc, as it is sparc specific
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10728 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:17:12 +00:00
Chris Lattner
f7703df496
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10727 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:12:26 +00:00
Chris Lattner
21949d9088
Remove dependence on structure index type. s/MT/FT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10726 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:02:51 +00:00
Chris Lattner
d745602662
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 06:02:20 +00:00
Chris Lattner
559d519549
Finegrainify namespacification
...
add flags for PR82
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10724 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 05:53:38 +00:00
Chris Lattner
f173842577
Remove an obsolete method, including its _long_ out of date comment.
...
This is an incremental step towards fixing PR82
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10723 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 05:45:58 +00:00
Chris Lattner
63a917bbc2
Inching towards fixing PR82
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10722 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 05:44:50 +00:00
Chris Lattner
258b5375b4
Inching our way towards fixing PR82
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10721 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09 05:42:34 +00:00
Chris Lattner
a25b3557a1
Remove yet another obsolete comment :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10720 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08 22:28:45 +00:00
Brian Gaeke
33310b4e07
Fix typos. Rewrite head-of-file comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10719 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08 22:21:59 +00:00
Brian Gaeke
d2b40b7f69
Fix typos. Regularize include guard.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08 22:21:58 +00:00
Chris Lattner
1abc87ec00
New bugs fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08 17:20:50 +00:00
Chris Lattner
e6b72a2518
Testcase for PR202
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08 17:15:09 +00:00
Chris Lattner
329c1c6c94
Improve encapsulation in the Loop and LoopInfo classes by eliminating the
...
getSubLoops/getTopLevelLoops methods, replacing them with iterator-based
accessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10714 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08 00:09:44 +00:00
Chris Lattner
f789d409fa
explain the jump for llvm-db
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 18:33:14 +00:00
Alkis Evlogimenos
7d629b50a5
Add a separate list of fixed intervals. This improves the running time
...
of the register allocator as follows:
before after
mesa 2.3790 1.5994
vpr 2.6008 1.2078
gcc 1.9840 0.5273
mcf 0.2569 0.0470
eon 1.8468 1.4359
twolf 0.9475 0.2004
burg 1.6807 1.3300
lambda 1.2191 0.3764
Speedups range anyware from 30% to over 400% :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 09:20:58 +00:00
Alkis Evlogimenos
1283d86b63
Minor cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10711 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 05:31:12 +00:00
Alkis Evlogimenos
75ca6a3e82
Remove declared but undefined method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10710 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 02:29:33 +00:00
Alkis Evlogimenos
2e142f589b
Change perl interpreter path to the standard /usr/bin/perl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 01:48:26 +00:00
Alkis Evlogimenos
80b378cf7c
Change implementation of LiveIntervals::overlap(). This results in a
...
30-50% decrease in running time of the linear scan register allocator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10707 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-07 01:45:58 +00:00
Chris Lattner
f6608ddf44
Ugh, fix some copy and pasted code that somehow never got compiled or something
...
:(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-06 23:46:17 +00:00
Alkis Evlogimenos
d2c39e991e
Pass std::string to constructor as const reference to avoid multiple
...
copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10705 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-06 09:16:02 +00:00
Chris Lattner
019314cdc7
restore comments to this file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10704 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-06 05:37:45 +00:00