8147 Commits

Author SHA1 Message Date
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