Commit Graph

8346 Commits

Author SHA1 Message Date
Chris Lattner 7f4cfda3ba Minor cleanups
llvm-svn: 8843
2003-10-03 18:57:54 +00:00
Chris Lattner 0f21ab75fa 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 ad7fd5f122 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 29dc65a324 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 20ae1895c1 These methods are dead, remove them
llvm-svn: 8839
2003-10-03 18:39:40 +00:00
John Criswell 3b092bc46e 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 1ce56bd700 Added links to the C and C++ frontends.
llvm-svn: 8836
2003-10-03 13:48:27 +00:00
John Criswell fadf125179 Adding basic documentation for the LLVM C and C++ frontends.
llvm-svn: 8835
2003-10-03 13:45:55 +00:00
Chris Lattner a72b78967f 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 016418b8c2 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 c7caffab32 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 22e4ca8863 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 2a2923a709 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 fe40802ca0 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 50e150757f 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 4ffb844309 Fixed the conditional targets for postscript files and tags.
llvm-svn: 8823
2003-10-02 19:02:02 +00:00
Chris Lattner 5c02edbf5c The objects mapped are really PATypeHolders, not PATypeHandles
llvm-svn: 8822
2003-10-02 19:00:34 +00:00
Chris Lattner 11f9b9c49d 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 f2397429f0 Checkin new file, reduced by Brian
llvm-svn: 8820
2003-10-02 18:26:11 +00:00
Alkis Evlogimenos 5facafaabe 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 6249576300 Add ideas and small revisions from Vikram
llvm-svn: 8818
2003-10-02 16:38:05 +00:00
Chris Lattner b9cde76e60 Implement InstCombine/add.ll:test17 & 18
llvm-svn: 8817
2003-10-02 15:11:26 +00:00
Chris Lattner d15f273512 Add new testcases
llvm-svn: 8816
2003-10-02 15:11:09 +00:00
Alkis Evlogimenos 8207a2c079 Change llc command line for register allocators
llvm-svn: 8815
2003-10-02 06:13:19 +00:00
Chris Lattner a9b4c39dd2 fix spleling
llvm-svn: 8814
2003-10-02 05:09:46 +00:00
Chris Lattner 178f3db098 add note about .a files
llvm-svn: 8813
2003-10-02 05:07:23 +00:00
Chris Lattner 3d48250587 Initial checkin of the LLVM 1.0 release notes
llvm-svn: 8812
2003-10-02 04:57:28 +00:00
Alkis Evlogimenos 6e739d0a3c 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 34e1acb5dc Remove obsolete scoped pred and succ iterator typedefs
llvm-svn: 8810
2003-10-01 22:28:39 +00:00
Chris Lattner 607ceecdf4 Use graph traits to perform generic interval construction
llvm-svn: 8809
2003-10-01 22:28:00 +00:00
Chris Lattner fe0a286d6e Add graph traits specializations for intervals
llvm-svn: 8808
2003-10-01 22:27:36 +00:00
Chris Lattner df089a1b77 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 909a1abade Make sure to include the "support" directory
llvm-svn: 8806
2003-10-01 21:12:46 +00:00
Alkis Evlogimenos 3dfcbf1317 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 568e4386e8 Added command line option for linear scan allocator
llvm-svn: 8804
2003-10-01 19:38:10 +00:00
Misha Brukman cda2885499 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 ee3632270e 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 1440902484 Make sure to get the definition of getRegisterAllocator
llvm-svn: 8801
2003-09-30 22:24:00 +00:00
Chris Lattner 9c6244dc6c New testcase that was not correctly handled
llvm-svn: 8800
2003-09-30 21:46:23 +00:00
Chris Lattner 56332992c7 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 1656d32e3d new testcase
llvm-svn: 8798
2003-09-30 21:29:27 +00:00
Chris Lattner ddcb81be52 Forward declare a class
llvm-svn: 8797
2003-09-30 20:15:40 +00:00
Chris Lattner 60d6e623ee This got merged into Passes.h
llvm-svn: 8796
2003-09-30 20:15:32 +00:00
Chris Lattner 8b583a229d RegisterAllocation.h is going away
llvm-svn: 8795
2003-09-30 20:15:04 +00:00
Chris Lattner dcb2a25d74 Include the sparc register in this file
llvm-svn: 8794
2003-09-30 20:14:43 +00:00
Chris Lattner 1f8d21e233 include passes.h which defines the interface this file exposes
llvm-svn: 8793
2003-09-30 20:13:59 +00:00
John Criswell 5bbd65ccc6 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 48a334a76e 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
John Criswell 5c3a3d39e9 Adjusted for the new TestRunner test class. This replaces %gcc and %g++ with
the names of the LLVM C and C++ frontends, respectively.

llvm-svn: 8789
2003-09-30 19:28:26 +00:00
John Criswell c6bf1422a9 Added the CXXTest test class.
llvm-svn: 8788
2003-09-30 19:04:08 +00:00