Chris Lattner
06dbcc0540
Minor random speedup: make Constant::getNullValue only call ConstantFOO::get
...
once!
llvm-svn: 8845
2003-10-03 19:34:51 +00:00
Chris Lattner
f66ac75a94
Explicit copy ctors are no longer needed
...
llvm-svn: 8844
2003-10-03 19:02:41 +00:00
Chris Lattner
a2c1509b21
Minor cleanups
...
llvm-svn: 8843
2003-10-03 18:57:54 +00:00
Chris Lattner
18c3f42894
This checkin basically amounts to a complete rewrite of the type-resolution
...
machinery. This dramatically simplifies how things works, removes irritating
little corner cases, and overall improves speed and reliability.
Highlights of this change are:
1. The exponential algorithm built into the code is now gone. For example
the time to disassemble one bytecode file from the mesa benchmark went
from taking 12.5s to taking 0.16s.
2. The linker bugs should be dramatically reduced. The one remaining bug
has to do with constant handling, which I actually introduced in
"union-find" checkins.
3. The code is much easier to follow, as a result of fewer special cases.
It's probably also smaller. yaay.
llvm-svn: 8842
2003-10-03 18:46:24 +00:00
John Criswell
8a261626fc
Changed all of these tests to be TestRunner tests (or, at least they can be
...
TestRunner tests).
This makes creating the new test database class easier to implement.
llvm-svn: 8841
2003-10-03 18:42:25 +00:00
Chris Lattner
101d5058cb
These methods are dead, remove them. Because the bodies will soon be
...
ressurected, just ifdef them out for now.
llvm-svn: 8840
2003-10-03 18:39:57 +00:00
Chris Lattner
2e3f124f10
These methods are dead, remove them
...
llvm-svn: 8839
2003-10-03 18:39:40 +00:00
John Criswell
e63831e3bf
Renamed these tests so that they don't contain extra periods.
...
This interferes with QMTest and the new test database.
llvm-svn: 8838
2003-10-03 18:24:47 +00:00
John Criswell
6f8cf205c5
Added links to the C and C++ frontends.
...
llvm-svn: 8836
2003-10-03 13:48:27 +00:00
John Criswell
f4bf21c494
Adding basic documentation for the LLVM C and C++ frontends.
...
llvm-svn: 8835
2003-10-03 13:45:55 +00:00
Chris Lattner
85444d1dbd
Dramatically simplify DerivedType::refineAbstractTypeToInternal
...
This makes use of the new PATypeHolder's to keep types from being deleted
prematurely, instead of the wierd "self reference" garbage. This is easier
to understand and more efficient as well.
llvm-svn: 8834
2003-10-03 04:48:21 +00:00
Chris Lattner
b217f24289
Make the PATypeHolder use a simple union-find implementation to handle
...
merging of types. This makes it MUCH more efficient than before, also
making things simpler.
llvm-svn: 8833
2003-10-02 23:35:57 +00:00
Chris Lattner
62331c44ab
There is no need for BytecodeParser to be an AbstractTypeUser. Instead, it
...
can just use PATypeHolders
llvm-svn: 8832
2003-10-02 20:26:18 +00:00
Chris Lattner
83856d0df1
There is no reason for Value to be an AbstractTypeUser. This just makes things
...
significantly more complete. Instead, just make DerivedType's AbstractTypeUser's,
and make Value contain a PATypeHolder.
llvm-svn: 8828
2003-10-02 19:44:40 +00:00
Chris Lattner
564dbbf299
There is no reason for Value to be an AbstractTypeUser. This just makes things
...
significantly more complete. Instead, just make DerivedType's AbstractTypeUser's,
and make Value contain a PATypeHolder. This will also be more efficient in the
future.
llvm-svn: 8827
2003-10-02 19:44:23 +00:00
Chris Lattner
bd6ff0adbc
There is no reason for the PATypeHolder class to derive from the
...
PATypeHandle class
llvm-svn: 8825
2003-10-02 19:08:18 +00:00
John Criswell
fd787906e4
Removed the check for purify as we don't support its use at present.
...
llvm-svn: 8824
2003-10-02 19:02:30 +00:00
John Criswell
779b9aa2fe
Fixed the conditional targets for postscript files and tags.
...
llvm-svn: 8823
2003-10-02 19:02:02 +00:00
Chris Lattner
9f5802fac5
The objects mapped are really PATypeHolders, not PATypeHandles
...
llvm-svn: 8822
2003-10-02 19:00:34 +00:00
Chris Lattner
6245e1e03e
Remove obsolete tests which:
...
A. do not just test LLC, or even the sparc backend
B. are cut down versions of tests that exist in other places
llvm-svn: 8821
2003-10-02 18:48:35 +00:00
Chris Lattner
0068d0ce6e
Checkin new file, reduced by Brian
...
llvm-svn: 8820
2003-10-02 18:26:11 +00:00
Alkis Evlogimenos
a37b58ce09
Moved enum and command-line option in separate file. Also added function that returns the user selected register allocator to the caller.
...
llvm-svn: 8819
2003-10-02 16:57:49 +00:00
Chris Lattner
f4d9c2fada
Add ideas and small revisions from Vikram
...
llvm-svn: 8818
2003-10-02 16:38:05 +00:00
Chris Lattner
059033218b
Implement InstCombine/add.ll:test17 & 18
...
llvm-svn: 8817
2003-10-02 15:11:26 +00:00
Chris Lattner
36f1cf6781
Add new testcases
...
llvm-svn: 8816
2003-10-02 15:11:09 +00:00
Alkis Evlogimenos
42a09316bb
Change llc command line for register allocators
...
llvm-svn: 8815
2003-10-02 06:13:19 +00:00
Chris Lattner
a0101203e6
fix spleling
...
llvm-svn: 8814
2003-10-02 05:09:46 +00:00
Chris Lattner
09357f62f4
add note about .a files
...
llvm-svn: 8813
2003-10-02 05:07:23 +00:00
Chris Lattner
5a2fbbdff9
Initial checkin of the LLVM 1.0 release notes
...
llvm-svn: 8812
2003-10-02 04:57:28 +00:00
Alkis Evlogimenos
e6fdc87045
Use std::string::size_type for for ColonPos to stop gcc from giving a warning
...
llvm-svn: 8811
2003-10-01 22:49:22 +00:00
Chris Lattner
ba703c3f17
Remove obsolete scoped pred and succ iterator typedefs
...
llvm-svn: 8810
2003-10-01 22:28:39 +00:00
Chris Lattner
c228625040
Use graph traits to perform generic interval construction
...
llvm-svn: 8809
2003-10-01 22:28:00 +00:00
Chris Lattner
679ad2c46d
Add graph traits specializations for intervals
...
llvm-svn: 8808
2003-10-01 22:27:36 +00:00
Chris Lattner
98525fbe67
Amazingly enough, we actually do some stuff around here. Now if we could
...
just remember to update the open projects list... :)
llvm-svn: 8807
2003-10-01 21:49:55 +00:00
Chris Lattner
b9e5f2e3a4
Make sure to include the "support" directory
...
llvm-svn: 8806
2003-10-01 21:12:46 +00:00
Alkis Evlogimenos
a50598c684
Revert previous change. For some reason this went into the main branch
...
llvm-svn: 8805
2003-10-01 19:40:13 +00:00
Alkis Evlogimenos
e3af981096
Added command line option for linear scan allocator
...
llvm-svn: 8804
2003-10-01 19:38:10 +00:00
Misha Brukman
15fd4fd90c
The comment seems irrelevant as the pass has become a BasicBlock pass.
...
llvm-svn: 8803
2003-10-01 05:24:50 +00:00
John Criswell
58dbb77d74
Corrected usage synopsis.
...
Added information regarding additional LLVM passes used, input defaults, and
output defaults.
llvm-svn: 8802
2003-09-30 22:55:44 +00:00
Chris Lattner
bdca1b438d
Make sure to get the definition of getRegisterAllocator
...
llvm-svn: 8801
2003-09-30 22:24:00 +00:00
Chris Lattner
aab98f79dc
New testcase that was not correctly handled
...
llvm-svn: 8800
2003-09-30 21:46:23 +00:00
Chris Lattner
7682227bd6
This bug is not fixed, but will be in the future eventually
...
llvm-svn: 8799
2003-09-30 21:31:25 +00:00
Chris Lattner
4c63db748c
new testcase
...
llvm-svn: 8798
2003-09-30 21:29:27 +00:00
Chris Lattner
c3767eab12
Forward declare a class
...
llvm-svn: 8797
2003-09-30 20:15:40 +00:00
Chris Lattner
d63bd276f0
This got merged into Passes.h
...
llvm-svn: 8796
2003-09-30 20:15:32 +00:00
Chris Lattner
5509b86d74
RegisterAllocation.h is going away
...
llvm-svn: 8795
2003-09-30 20:15:04 +00:00
Chris Lattner
08d6f140ab
Include the sparc register in this file
...
llvm-svn: 8794
2003-09-30 20:14:43 +00:00
Chris Lattner
b0860d88c2
include passes.h which defines the interface this file exposes
...
llvm-svn: 8793
2003-09-30 20:13:59 +00:00
John Criswell
9adadc67ec
Changed TestRunner test class so that it replaces %llvmgcc and %llvmgxx
...
instead of %gcc and %gxx.
llvm-svn: 8792
2003-09-30 19:56:36 +00:00
John Criswell
20f94778fe
Removed Makefile for CompileFail tests. They are now run by QMTest and are
...
located under llvm/test/Regression/C++Frontend.
llvm-svn: 8791
2003-09-30 19:41:15 +00:00