Chris Lattner
090fcc1853
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
2003-10-07 19:46:37 +00:00
Chris Lattner
7a59bc8fae
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
2003-10-07 19:42:50 +00:00
Chris Lattner
da78b002ca
Fix bugzilla bug #5
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8930 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 19:33:31 +00:00
John Criswell
8324fa7cf2
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
2003-10-07 19:07:00 +00:00
Chris Lattner
ebbc1a5aa0
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
2003-10-07 18:46:23 +00:00
Brian Gaeke
7528343cbd
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
2003-10-07 17:12:11 +00:00
Chris Lattner
8bf3385844
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
2003-10-07 16:36:25 +00:00
Chris Lattner
3a8bddb28d
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
2003-10-07 16:34:51 +00:00
Chris Lattner
a2a628f322
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
2003-10-07 16:33:42 +00:00
Misha Brukman
94fe1f99e2
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
2003-10-07 15:24:23 +00:00
Chris Lattner
6061000b54
Fix bug in previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8922 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 15:17:02 +00:00
John Criswell
bd082800ec
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
2003-10-07 14:16:44 +00:00
Chris Lattner
5de0bac111
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
2003-10-07 13:45:51 +00:00
Brian Gaeke
c45be043e3
regenerated using autoconf-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8917 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 06:01:34 +00:00
Brian Gaeke
4c42378ec0
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
2003-10-07 05:03:36 +00:00
Brian Gaeke
a6e91d6fe7
Check for functions: strtoq, strtoll.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8915 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 03:56:29 +00:00
Chris Lattner
85c5a3f31c
new testcase, distilled by Brian
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8914 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 02:57:51 +00:00
Misha Brukman
1b36d676d1
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
2003-10-06 19:26:00 +00:00
Misha Brukman
ef0ad4176d
* 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
2003-10-06 19:23:34 +00:00
Chris Lattner
011efae2f0
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
2003-10-06 19:07:41 +00:00
Misha Brukman
6873450ed5
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
2003-10-06 18:37:24 +00:00
Misha Brukman
29f73611e2
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
2003-10-06 18:34:38 +00:00
Chris Lattner
b0a994b4c0
Remove unneeded dtors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8896 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 17:36:49 +00:00
Chris Lattner
4e84e7720c
Users can never be null
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8895 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 17:33:39 +00:00
Chris Lattner
4bb7c02eba
Minor speedups for the instcombine pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8894 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 17:11:01 +00:00
Chris Lattner
884d6c4e10
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
2003-10-06 15:52:43 +00:00
Brian Gaeke
2c9b913fc0
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
2003-10-06 15:41:21 +00:00
Brian Gaeke
1bb9a4878d
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
2003-10-06 15:30:00 +00:00
Chris Lattner
5f92e2b11f
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
2003-10-06 15:23:43 +00:00
Chris Lattner
d5a310e4b3
Implement the NamedRegionTimer class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8889 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 15:02:31 +00:00
Chris Lattner
aacd3c8d86
Doxygenize class comments. Add new NamedRegionTimer class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8888 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 15:02:16 +00:00
Brian Gaeke
378b524ba0
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
2003-10-06 03:30:28 +00:00
Chris Lattner
9bf6239a1f
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
2003-10-06 02:13:00 +00:00
Chris Lattner
5c866e13c4
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
2003-10-06 02:09:25 +00:00
Chris Lattner
69091be83b
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
2003-10-05 22:19:20 +00:00
Chris Lattner
43f820d1f7
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
2003-10-05 21:20:13 +00:00
Chris Lattner
5b15deedc0
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8882 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 21:11:57 +00:00
Chris Lattner
24011be956
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
2003-10-05 20:54:03 +00:00
Chris Lattner
55e3459eda
The support directory no longer exists
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8880 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 19:33:27 +00:00
Chris Lattner
3fd064c384
Oops, missed the . files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8879 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 19:32:56 +00:00
Chris Lattner
5516347535
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
2003-10-05 19:32:12 +00:00
Chris Lattner
091bbbada3
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
2003-10-05 19:28:27 +00:00
Chris Lattner
0a92ebf557
Move support/tools/* back into utils
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8875 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 19:27:59 +00:00
Chris Lattner
f708c7901d
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
2003-10-05 19:24:38 +00:00
Chris Lattner
35fccb7e42
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
2003-10-05 19:17:10 +00:00
Chris Lattner
d324e2501c
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
2003-10-05 19:16:09 +00:00
Chris Lattner
c58c169eda
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
2003-10-05 19:15:47 +00:00
Chris Lattner
5e5252b4c9
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
2003-10-05 19:15:13 +00:00
Chris Lattner
86e4445ec3
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
2003-10-05 19:14:42 +00:00
Chris Lattner
b55803a9f4
simplify-cfg is really a function pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8868 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 19:14:16 +00:00