Chris Lattner [Tue, 7 Oct 2003 20:35:55 +0000 (20:35 +0000)]
Ensure both columns take 50%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8942
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:33:52 +0000 (20:33 +0000)]
no this really isn't extract
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:33:30 +0000 (20:33 +0000)]
initial checkin of the bugpoint doxs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:17:24 +0000 (20:17 +0000)]
TTify, add links between pages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8939
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:12:05 +0000 (20:12 +0000)]
Consistently set the background color
Change the footer to include "maintained by"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:09:21 +0000 (20:09 +0000)]
<tt>ify things
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:05:23 +0000 (20:05 +0000)]
Make the index page a big more attractive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 20:01:09 +0000 (20:01 +0000)]
More changes and updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 19:51:55 +0000 (19:51 +0000)]
<tt>ify, other minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 19:48:25 +0000 (19:48 +0000)]
<tt> stuff
simplify a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 19:46:37 +0000 (19:46 +0000)]
Add pointer to LLC for code generator options. <tt> a bunch of stuff which should be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 19:42:50 +0000 (19:42 +0000)]
separate options into X86 and sparc specific options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8931
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 19:33:31 +0000 (19:33 +0000)]
Fix bugzilla bug #5
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8930
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 7 Oct 2003 19:07:00 +0000 (19:07 +0000)]
These scripts are no longer needed. They have been replaced by QMTest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8929
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 18:46:23 +0000 (18:46 +0000)]
Bill contributed this major rewrite of the -lowerswitch pass to make it generate
logarithmic conditional branch sequences instead of linear sequences. Thanks Bill!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8928
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 7 Oct 2003 17:12:11 +0000 (17:12 +0000)]
Add target to regenerate top-level "configure" script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8927
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 16:36:25 +0000 (16:36 +0000)]
Wrap at 80 columns
remove -time-passes and -stats, because llvm-link doesn't really need them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 16:34:51 +0000 (16:34 +0000)]
Renamed llvmas.html llvmdis.html and llvmlink.html to have hyphens in them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 16:33:42 +0000 (16:33 +0000)]
remove options specific to the -internalize pass, add the -debug option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8924
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 7 Oct 2003 15:24:23 +0000 (15:24 +0000)]
Depend on config.status instead of config.h, because config.h timestamp may not
change even though configure changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8923
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 15:17:02 +0000 (15:17 +0000)]
Fix bug in previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8922
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 7 Oct 2003 14:16:44 +0000 (14:16 +0000)]
Added targets that force users to re-run autoconf when the script has been
updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 13:45:51 +0000 (13:45 +0000)]
This header file moved. Thanks to Bill and Nightly tester for noticing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8920
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 7 Oct 2003 06:01:34 +0000 (06:01 +0000)]
regenerated using autoconf-2.57.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8917
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 7 Oct 2003 05:03:36 +0000 (05:03 +0000)]
Don't abort if dlopen cannot be found; it's not like it's going to break
everything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8916
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 7 Oct 2003 03:56:29 +0000 (03:56 +0000)]
Check for functions: strtoq, strtoll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Oct 2003 02:57:51 +0000 (02:57 +0000)]
new testcase, distilled by Brian
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8914
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Oct 2003 19:26:00 +0000 (19:26 +0000)]
Break lines so that they fit within 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8901
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Oct 2003 19:23:34 +0000 (19:23 +0000)]
* Alphabetized order of tools
* Added blurb about `bugpoint'
* Fixed some grammar issues
* Added blurb about `llvm-link'
* Took out the part about the `lli debugger' which disappeared
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 19:07:41 +0000 (19:07 +0000)]
Actually _PASS IN_ NO_RESERVE if we have it.
Thanks to Brian for fixing this obvious oops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8899
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Oct 2003 18:37:24 +0000 (18:37 +0000)]
ToolRunner.h has been moved from include/Support to include/llvm/Support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8898
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 6 Oct 2003 18:34:38 +0000 (18:34 +0000)]
Moved to llvm/include/llvm/Support because it is LLVM-specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 17:36:49 +0000 (17:36 +0000)]
Remove unneeded dtors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 17:33:39 +0000 (17:33 +0000)]
Users can never be null
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 17:11:01 +0000 (17:11 +0000)]
Minor speedups for the instcombine pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8894
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 15:52:43 +0000 (15:52 +0000)]
Speed up the predicate used to decide when to inline by caching the size
of callees between executions.
On eon, in release mode, this changes the inliner from taking 11.5712s
to taking 2.2066s. In debug mode, it went from taking 14.4148s to
taking 7.0745s. In release mode, this is a 24.7% speedup of gccas, in
debug mode, it's a total speedup of 11.7%.
This also makes it slightly more aggressive. This could be because we
are not judging the size of the functions quite as accurately as before.
When we start looking at the performance of the generated code, this can
be investigated further.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8893
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 6 Oct 2003 15:41:21 +0000 (15:41 +0000)]
Add # of printed instructions statistic to both the SPARC and X86 LLC backends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8892
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 6 Oct 2003 15:30:00 +0000 (15:30 +0000)]
I wanted to make the top of the page less verbose. Hope this helps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 15:23:43 +0000 (15:23 +0000)]
Avoid doing pointless work. Amazingly, this makes us go faster.
Running the inliner on 252.eon used to take 48.4763s, now it takes 14.4148s.
In release mode, it went from taking 25.8741s to taking 11.5712s.
This also fixes a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 15:02:31 +0000 (15:02 +0000)]
Implement the NamedRegionTimer class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 15:02:16 +0000 (15:02 +0000)]
Doxygenize class comments. Add new NamedRegionTimer class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8888
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 6 Oct 2003 03:30:28 +0000 (03:30 +0000)]
All of our supported operating systems (so far) and FreeBSD technically
want you to include <sys/stat.h> for fstat(), struct stat, and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 02:13:00 +0000 (02:13 +0000)]
Hand update the configure script for moved directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Oct 2003 02:09:25 +0000 (02:09 +0000)]
Changes for the move of the support directory back into utils
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 22:19:20 +0000 (22:19 +0000)]
This changes the PromoteMemToReg function to create "pruned" SSA form, not
"minimal" SSA form (in other words, it doesn't insert dead PHIs). This
speeds up the mem2reg pass very significantly because it doesn't have to
do a lot of frivolous work in many common cases.
In the 252.eon function I have been playing with, this doesn't even insert
the 120 PHI nodes that it used to which were trivially dead (in the process
of promoting 356 alloca instructions overall). This speeds up the mem2reg
pass from 1.2459s to 0.1284s. More significantly, the DCE pass used to take
2.4138s to remove the 120 dead PHI nodes that mem2reg constructed, now it
takes 0.0134s (which is the time to scan the function and decide that there
is nothing dead). So overall, on this one function, we speed things up a
total of 3.5179s, which is a 24.8x speedup! :)
This change is tested by the Mem2Reg/2003-10-05-DeadPHIInsertion.ll test,
which now passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 21:20:13 +0000 (21:20 +0000)]
Change the interface to PromoteMemToReg to also take a DominatorTree
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 21:11:57 +0000 (21:11 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 20:54:03 +0000 (20:54 +0000)]
Speed up the mem2reg transform for allocas which are only read/written in a single
basic block. This is amazingly common in code generated by the C/C++ front-ends.
This change makes it not have to insert ANY phi nodes, whereas before it would insert
a ton of dead ones which DCE would have to clean up.
Thus, this fix improves compile-time performance of these trivial allocas in two ways:
1. It doesn't have to do the walking and book-keeping for renaming
2. It does not insert dead phi nodes for them which would have to
subsequently be cleaned up.
On my favorite testcase from 252.eon, this special case handles 305 out of
356 promoted allocas in the function. It speeds up the mem2reg pass from 7.5256s
to 1.2505s. It inserts 677 fewer dead PHI nodes, which speeds up a subsequent
-dce pass from 18.7524s to 2.4806s.
There are still 120 trivially dead PHI nodes being inserted for variables used
in multiple basic blocks, but they are not handled by this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:33:27 +0000 (19:33 +0000)]
The support directory no longer exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:32:56 +0000 (19:32 +0000)]
Oops, missed the . files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:32:12 +0000 (19:32 +0000)]
Move support/lib into lib/Support
Move support/tools into utils
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:28:27 +0000 (19:28 +0000)]
Revert back to keeping Burg and TableGen in the utils directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:27:59 +0000 (19:27 +0000)]
Move support/tools/* back into utils
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:24:38 +0000 (19:24 +0000)]
Move support/lib/Support back to lib/Support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8874
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:17:10 +0000 (19:17 +0000)]
The sparc backend now support invoke, but still doesn't support unwind
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:16:09 +0000 (19:16 +0000)]
Add support for the Invoke instruction by using the LowerInvoke pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:15:47 +0000 (19:15 +0000)]
Instead of hacking in custom support for Invoke/Unwind, use the LowerInvoke pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:15:13 +0000 (19:15 +0000)]
Add new prototype for createLowerInvokePass(). Make simplifycfg be a
functionpass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:14:42 +0000 (19:14 +0000)]
Initial checkin of the LLVM->LLVM transform to support code generators which
do not support stack unwinding yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 19:14:16 +0000 (19:14 +0000)]
simplify-cfg is really a function pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8868
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 17:44:18 +0000 (17:44 +0000)]
Be more careful handling PHI nodes, which might be of potentially high degree.
This reduces the time to verify a function from eon with a large number of
large PHI nodes from 22996s (6.38 hours) to 10.5499s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 05:34:39 +0000 (05:34 +0000)]
The first PHI node may be null, scan for the first non-null one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8865
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 04:33:22 +0000 (04:33 +0000)]
The VersionNumbers vector is only used during PHI placement. Turn it into an argument, allowing us to get rid of the vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 04:26:39 +0000 (04:26 +0000)]
* Update file header comment
*** Revamp the code which handled unreachable code in the function. Now the
code is much more efficient for high-degree basic blocks, such as those
that occur in the 252.eon SPEC benchmark.
For the interested, the time to promote a SINGLE alloca in _ZN7mrScene4ReadERSi
function used to be > 3.5s. Now it is < .075s. The function has a LOT of
allocas in it, so it appeared to be infinite looping, this should make it much
nicer. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 03:45:44 +0000 (03:45 +0000)]
Simplify the loop a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8862
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 03:39:10 +0000 (03:39 +0000)]
There is no need for separate WriteSets and PhiNodeBlocks lists. It is just a
work-list of value definitions. This allows elimination of the explicit
'iterative' step of the algorithm, and also reuses temporary memory better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8861
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 03:26:25 +0000 (03:26 +0000)]
The PhiNodes 2D vector is only used during PHI node placement. It doesn't
need to be an instance variable!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 03:16:07 +0000 (03:16 +0000)]
* Document instance vars better
* Fuse two parallel loops
* Use a more specific type for AllocaLookup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 02:37:36 +0000 (02:37 +0000)]
Two small cleanups/speedups:
* Do not insert a new entry into NewPhiNodes during the rename pass if there are no PHIs in a block.
* Do not compute WriteSets in parallel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 01:52:53 +0000 (01:52 +0000)]
* Minor cleanups
* Eliminate the KillList instance variable, instead, just delete loads and
stores as they are "renamed", and delete allocas when they are done
* Make the 'visited' set an instance variable to avoid passing it on the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 00:41:07 +0000 (00:41 +0000)]
Output a very high-precision number
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 00:40:51 +0000 (00:40 +0000)]
A couple of minor code cleanups.
Print literal doubles using ftostr instead of <<, because it yields higher precision numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8855
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 00:17:43 +0000 (00:17 +0000)]
Type tables are now AbstractTypeUsers. This allows them to merge together
constants as necessary due to type resolution. With this change, the
following spec benchmarks now link: 176.gcc, 177.mesa, 252.eon,
253.perlbmk, & 300.twolf. IOW, all SPEC INT and FP benchmarks now link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Oct 2003 00:13:28 +0000 (00:13 +0000)]
Add some new methods to forward to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8852
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Oct 2003 20:14:59 +0000 (20:14 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Oct 2003 20:00:03 +0000 (20:00 +0000)]
Transform two methods to return pointers directly instead of returning them
as 'by reference' arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8849
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Oct 2003 19:29:21 +0000 (19:29 +0000)]
Use V for values, not D.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8848
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Oct 2003 19:19:37 +0000 (19:19 +0000)]
Do not leak the ModuleProvider if releaseModule() throws.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Oct 2003 18:27:51 +0000 (18:27 +0000)]
Constants are not getting merged together correctly when types are resolved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8846
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 19:34:51 +0000 (19:34 +0000)]
Minor random speedup: make Constant::getNullValue only call ConstantFOO::get
once!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8845
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 19:02:41 +0000 (19:02 +0000)]
Explicit copy ctors are no longer needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8844
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 18:57:54 +0000 (18:57 +0000)]
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 18:46:24 +0000 (18:46 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8842
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 3 Oct 2003 18:42:25 +0000 (18:42 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 18:39:57 +0000 (18:39 +0000)]
These methods are dead, remove them. Because the bodies will soon be
ressurected, just ifdef them out for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8840
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 18:39:40 +0000 (18:39 +0000)]
These methods are dead, remove them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8839
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 3 Oct 2003 18:24:47 +0000 (18:24 +0000)]
Renamed these tests so that they don't contain extra periods.
This interferes with QMTest and the new test database.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8838
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 3 Oct 2003 13:48:27 +0000 (13:48 +0000)]
Added links to the C and C++ frontends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8836
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 3 Oct 2003 13:45:55 +0000 (13:45 +0000)]
Adding basic documentation for the LLVM C and C++ frontends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8835
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Oct 2003 04:48:21 +0000 (04:48 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8834
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 23:35:57 +0000 (23:35 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 20:26:18 +0000 (20:26 +0000)]
There is no need for BytecodeParser to be an AbstractTypeUser. Instead, it
can just use PATypeHolders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8832
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 19:44:40 +0000 (19:44 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 19:44:23 +0000 (19:44 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 19:08:18 +0000 (19:08 +0000)]
There is no reason for the PATypeHolder class to derive from the
PATypeHandle class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8825
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 2 Oct 2003 19:02:30 +0000 (19:02 +0000)]
Removed the check for purify as we don't support its use at present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8824
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 2 Oct 2003 19:02:02 +0000 (19:02 +0000)]
Fixed the conditional targets for postscript files and tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8823
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 19:00:34 +0000 (19:00 +0000)]
The objects mapped are really PATypeHolders, not PATypeHandles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8822
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 18:48:35 +0000 (18:48 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8821
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Oct 2003 18:26:11 +0000 (18:26 +0000)]
Checkin new file, reduced by Brian
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8820
91177308-0d34-0410-b5e6-
96231b3b80d8