Chris Lattner
cb5dd5ba25
Add some new methods to forward to
...
llvm-svn: 8852
2003-10-05 00:13:28 +00:00
Chris Lattner
def80d731a
Rename AbstractModuleProvider -> ModuleProvider, to match the header file name,
...
and because, while the class used by the interface is abstract, the actual
concept is not.
llvm-svn: 8850
2003-10-04 20:14:59 +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
Chris Lattner
2e3f124f10
These methods are dead, remove them
...
llvm-svn: 8839
2003-10-03 18:39:40 +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
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
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
Alkis Evlogimenos
42a09316bb
Change llc command line for register allocators
...
llvm-svn: 8815
2003-10-02 06:13:19 +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
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
08d6f140ab
Include the sparc register in this file
...
llvm-svn: 8794
2003-09-30 20:14:43 +00:00
Chris Lattner
f6f3a5505a
Update comment
...
llvm-svn: 8783
2003-09-30 18:44:27 +00:00
Chris Lattner
4e4c763dfc
Standardize header file comments
...
llvm-svn: 8782
2003-09-30 18:37:50 +00:00
Chris Lattner
d2a392eef1
Add a file header
...
llvm-svn: 8781
2003-09-30 18:28:53 +00:00
Chris Lattner
0c15a20712
Fix header comment
...
llvm-svn: 8779
2003-09-30 18:12:25 +00:00
Chris Lattner
1ea5d5a0c0
Fix header, remove dead decl
...
llvm-svn: 8777
2003-09-30 18:06:51 +00:00
Chris Lattner
7d059b8c3d
Fix header file comment
...
llvm-svn: 8776
2003-09-30 18:05:30 +00:00
Chris Lattner
633b14c13b
make the header comment more useful
...
llvm-svn: 8774
2003-09-30 17:53:30 +00:00
Misha Brukman
a081e4323f
Abstracted away the process of running our tools + gcc from bugpoint.
...
llvm-svn: 8753
2003-09-29 22:38:57 +00:00
Brian Gaeke
16e30e5c84
Fix a typo I happened to notice.
...
Rename include guards in the "usual" manner.
llvm-svn: 8695
2003-09-24 04:09:50 +00:00
Misha Brukman
7623477716
Added doxygen comments for the streaming module provider.
...
llvm-svn: 8672
2003-09-22 23:40:38 +00:00
Misha Brukman
a0fb45ff4b
Added functions to perform streaming function loading, doxygenified comments.
...
llvm-svn: 8670
2003-09-22 23:36:33 +00:00
Misha Brukman
26a7c3e066
Converted tabs to spaces.
...
llvm-svn: 8669
2003-09-22 23:35:54 +00:00
Misha Brukman
f49d1804d5
Materialize the module before releasing it.
...
llvm-svn: 8668
2003-09-22 23:35:23 +00:00
Chris Lattner
d6c9d2ca72
Add prototype
...
llvm-svn: 8640
2003-09-21 00:28:18 +00:00
Chris Lattner
b12a8a6177
Switch from using CallInst's to represent call sites to using the LLVM
...
CallSite class. Now we can represent function calls by invoke instructions
too!
llvm-svn: 8629
2003-09-20 16:34:13 +00:00
Chris Lattner
d4de2760aa
Rename Function::getEntryNode -> getEntryBlock
...
llvm-svn: 8625
2003-09-20 14:39:18 +00:00
Chris Lattner
6f06eb4eb3
Rename getEntryNode -> getEntryBlock()
...
llvm-svn: 8624
2003-09-20 14:36:49 +00:00
Chris Lattner
b64863a2f3
Cleanup header file
...
llvm-svn: 8622
2003-09-20 14:35:38 +00:00
Chris Lattner
bf7dd80e7c
Expose the TCE pass
...
llvm-svn: 8619
2003-09-20 05:14:13 +00:00
Chris Lattner
dc73981ba4
Fix header, fix broken friend decl
...
llvm-svn: 8616
2003-09-20 03:34:44 +00:00
Chris Lattner
3e98c3aaeb
Unsquishify
...
llvm-svn: 8612
2003-09-20 01:23:29 +00:00
Misha Brukman
fb31f22b76
Abstract interface for module providers, e.g. streaming bytecode reader.
...
llvm-svn: 8593
2003-09-18 16:16:32 +00:00
Chris Lattner
0d28d582e1
Add new deleteBody method
...
llvm-svn: 8571
2003-09-17 04:58:43 +00:00
Chris Lattner
2233d8b00a
Do not segfault when the post-dominator tree is empty (ie, there are no return
...
or unwind instructions in the function)
llvm-svn: 8537
2003-09-15 15:47:40 +00:00
Chris Lattner
0c3066b0ae
Add prototype for the lowersetjmp pass
...
llvm-svn: 8522
2003-09-15 05:05:23 +00:00
Chris Lattner
27fcbcd3a3
Get rid of the whole "Node2" business, rename getNode() ->getBlock() to
...
be more descriptive
llvm-svn: 8468
2003-09-11 16:25:06 +00:00
Chris Lattner
e7c33c0f65
Rework dominator and post dominator information so that we do not have to
...
unify all exit nodes of a function to compute post-dominance information.
This does not work with functions that have both unwind and return nodes,
because we cannot unify these blocks. The new implementation is better
anyway. :)
llvm-svn: 8459
2003-09-10 20:36:51 +00:00
Chris Lattner
ee577bdc08
Expand the pass to unify all of the unwind blocks as well
...
llvm-svn: 8456
2003-09-10 20:34:51 +00:00
Brian Gaeke
7eaecc239a
Make createVerifierPass return a FunctionPass *.
...
llvm-svn: 8449
2003-09-10 19:37:04 +00:00
Chris Lattner
58d4183a25
Fix spell-o's
...
llvm-svn: 8431
2003-09-10 05:29:43 +00:00
Chris Lattner
620f051422
Spelling fixes
...
llvm-svn: 8429
2003-09-10 05:24:09 +00:00
Chris Lattner
8c119fc9af
Fix bug: InstCombine/2003-09-09-VolatileLoadElim.ll
...
Loads "mayWriteToMemory" if they are volatile
llvm-svn: 8422
2003-09-09 18:16:08 +00:00
Chris Lattner
4a708f1061
Eliminate the unwind intrinsic, it is now an instruction
...
llvm-svn: 8412
2003-09-08 19:44:47 +00:00
Chris Lattner
a1ae09f681
add support for the unwind inst
...
llvm-svn: 8406
2003-09-08 18:54:16 +00:00