John Criswell [Thu, 16 Oct 2003 20:38:16 +0000 (20:38 +0000)]
Removed the .PRECIOUS of Lex and Yacc output files.
They are already marked precious in llvm/Makefile.rules, and removing
this line seems to fix the Makefile so that the Yacc output is placed
into the object tree and not the source tree.
llvm-svn: 9179
John Criswell [Thu, 16 Oct 2003 20:15:17 +0000 (20:15 +0000)]
Removed the -mode option.
Fixed some grammar, spelling, and punctuation.
llvm-svn: 9178
Chris Lattner [Thu, 16 Oct 2003 20:12:13 +0000 (20:12 +0000)]
Minor cleanups
llvm-svn: 9177
John Criswell [Thu, 16 Oct 2003 20:05:48 +0000 (20:05 +0000)]
Added documentation on the new -disable-inlining option.
llvm-svn: 9176
John Criswell [Thu, 16 Oct 2003 20:01:04 +0000 (20:01 +0000)]
I am not the only John Criswell.
:)
llvm-svn: 9175
Chris Lattner [Thu, 16 Oct 2003 19:58:17 +0000 (19:58 +0000)]
Give credit where credit is due
llvm-svn: 9174
John Criswell [Thu, 16 Oct 2003 19:53:53 +0000 (19:53 +0000)]
Added a section on all of the wonderful Makefile variables used to locate
LLVM.
Added information on how to use the autoconf code to specify LLVM's
location and setup separate source and object trees.
Fixed some of the wording to be more accurate, especially regarding the
building of libraries.
Added information on where built files are placed.
Added a link to the llvmdev mailing list so that they can ask us questions.
llvm-svn: 9173
Chris Lattner [Thu, 16 Oct 2003 18:45:23 +0000 (18:45 +0000)]
Make llvm-nm work in "pipe mode"
llvm-svn: 9172
Chris Lattner [Thu, 16 Oct 2003 18:29:00 +0000 (18:29 +0000)]
Add support for 'weak' linkage.
llvm-svn: 9171
Chris Lattner [Thu, 16 Oct 2003 18:28:50 +0000 (18:28 +0000)]
Add support for 'weak' linkage.
For now, we translate linkonce into weak linkage in the bytecode format because
we don't have enough bits to represent it. We will rev the bytecode version
soon anyways, so this will be fixed in the near future.
llvm-svn: 9170
Chris Lattner [Thu, 16 Oct 2003 18:27:24 +0000 (18:27 +0000)]
Geeze, what is with Brian and these ifdef's?
llvm-svn: 9169
Chris Lattner [Thu, 16 Oct 2003 18:27:04 +0000 (18:27 +0000)]
Add weak linking type
llvm-svn: 9168
Misha Brukman [Thu, 16 Oct 2003 18:14:43 +0000 (18:14 +0000)]
Automagically update website docs on commits.
llvm-svn: 9167
Misha Brukman [Thu, 16 Oct 2003 18:13:19 +0000 (18:13 +0000)]
Update the website automatically on documentation commit [in progress].
llvm-svn: 9166
Misha Brukman [Thu, 16 Oct 2003 18:10:45 +0000 (18:10 +0000)]
This should automatically update on the webpage.
llvm-svn: 9165
Brian Gaeke [Thu, 16 Oct 2003 18:05:09 +0000 (18:05 +0000)]
yikes, a copy-and-paste-o
llvm-svn: 9164
Brian Gaeke [Thu, 16 Oct 2003 18:04:40 +0000 (18:04 +0000)]
add llvm-nm entry.
llvm-svn: 9163
Brian Gaeke [Thu, 16 Oct 2003 18:03:24 +0000 (18:03 +0000)]
Add command guide (It's like a man page translated into html, but without the
translation...) for the new llvm-nm tool.
llvm-svn: 9162
Chris Lattner [Thu, 16 Oct 2003 17:46:21 +0000 (17:46 +0000)]
Welcome llvm-nm to the family
llvm-svn: 9161
Chris Lattner [Thu, 16 Oct 2003 16:53:07 +0000 (16:53 +0000)]
Completely rewrite support for the Value::use_* list. Now, all operations on
this list (except use_size()) are constant time. Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.
This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:
176.gcc: 77.07s -> 37.38s
177.mesa: 7.59s -> 5.57s
252.eon: 21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap: 7.25s -> 7.42s
252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.
llvm-svn: 9160
Chris Lattner [Thu, 16 Oct 2003 16:53:04 +0000 (16:53 +0000)]
Completely rewrite support for the Value::use_* list. Now, all operations on
this list (except use_size()) are constant time. Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.
This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:
176.gcc: 77.07s -> 37.38s
177.mesa: 7.59s -> 5.57s
252.eon: 21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap: 7.25s -> 7.42s
252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.
llvm-svn: 9159
Chris Lattner [Thu, 16 Oct 2003 16:50:34 +0000 (16:50 +0000)]
Unfortunately, it looks like level raise is still needed :(
llvm-svn: 9158
Chris Lattner [Thu, 16 Oct 2003 16:49:12 +0000 (16:49 +0000)]
This code does not require random access use_lists
llvm-svn: 9156
Chris Lattner [Thu, 16 Oct 2003 16:48:53 +0000 (16:48 +0000)]
Eliminate using declaration
Rewrite code to work with use_lists what are either random access or bidirectional
llvm-svn: 9155
Misha Brukman [Thu, 16 Oct 2003 16:12:04 +0000 (16:12 +0000)]
Added an entry for `llvm-nm'.
llvm-svn: 9154
Brian Gaeke [Thu, 16 Oct 2003 04:43:15 +0000 (04:43 +0000)]
Okay, this is a little hack that "scratches an itch" of mine.
I dislike having to examine the output of "dis" to see what symbols
are in a bytecode file. So, here is a first cut at a "nm" utility for llvm.
Flame away.... :-)
llvm-svn: 9153
John Criswell [Thu, 16 Oct 2003 01:49:07 +0000 (01:49 +0000)]
Added autoconf support for the sample project.
llvm-svn: 9152
John Criswell [Thu, 16 Oct 2003 01:49:00 +0000 (01:49 +0000)]
Added autoconf support for the sample project.
Fixed the header comment in Makefile.rules
Changed all references to the echo program in Makefile.rules to the value
found by autoconf.
llvm-svn: 9151
John Criswell [Thu, 16 Oct 2003 01:45:35 +0000 (01:45 +0000)]
Adding autoconf support to the sample project.
llvm-svn: 9150
John Criswell [Thu, 16 Oct 2003 01:45:10 +0000 (01:45 +0000)]
Adding autoconf support for the sample project.
This should make setting up a new project much easier.
llvm-svn: 9149
John Criswell [Thu, 16 Oct 2003 01:44:20 +0000 (01:44 +0000)]
Adding autoconf support for the sample project.
llvm-svn: 9148
Chris Lattner [Wed, 15 Oct 2003 22:10:10 +0000 (22:10 +0000)]
Vector is my friend, do you like vector?
llvm-svn: 9147
Chris Lattner [Wed, 15 Oct 2003 22:09:57 +0000 (22:09 +0000)]
lalala
llvm-svn: 9146
Chris Lattner [Wed, 15 Oct 2003 22:09:46 +0000 (22:09 +0000)]
We'll need this soon as well
llvm-svn: 9145
Chris Lattner [Wed, 15 Oct 2003 22:09:32 +0000 (22:09 +0000)]
#include vector which we will need here soon
llvm-svn: 9144
Chris Lattner [Wed, 15 Oct 2003 21:55:37 +0000 (21:55 +0000)]
This file uses assert and doesn't include anything which already #includes <cassert>
llvm-svn: 9142
Chris Lattner [Wed, 15 Oct 2003 21:49:57 +0000 (21:49 +0000)]
Give this file a proper header
llvm-svn: 9141
Chris Lattner [Wed, 15 Oct 2003 21:48:38 +0000 (21:48 +0000)]
The levelraise pass is a broken old piece of crufty code that should be
left on the side of the road without a second thought.
It is preventing forward progress, so for now, we will disable it by default.
llvm-svn: 9140
Brian Gaeke [Wed, 15 Oct 2003 20:46:58 +0000 (20:46 +0000)]
Fix up error message.
llvm-svn: 9139
Brian Gaeke [Wed, 15 Oct 2003 20:42:48 +0000 (20:42 +0000)]
Flush output after writing out the list of function names.
llvm-svn: 9138
John Criswell [Wed, 15 Oct 2003 16:52:57 +0000 (16:52 +0000)]
Updated some of the information for the new autoconf changes.
llvm-svn: 9136
Chris Lattner [Wed, 15 Oct 2003 16:48:29 +0000 (16:48 +0000)]
Decrease usage of use_size()
llvm-svn: 9135
Chris Lattner [Wed, 15 Oct 2003 16:43:24 +0000 (16:43 +0000)]
Remove usage of use_size()
llvm-svn: 9134
Chris Lattner [Wed, 15 Oct 2003 16:42:21 +0000 (16:42 +0000)]
Cleanup
llvm-svn: 9133
Chris Lattner [Wed, 15 Oct 2003 16:39:04 +0000 (16:39 +0000)]
Add new hasOneUse() method. Remove explicit inline qualifiers
llvm-svn: 9132
Chris Lattner [Tue, 14 Oct 2003 22:24:31 +0000 (22:24 +0000)]
add support forloading additional .so files on the command line
llvm-svn: 9131
Chris Lattner [Tue, 14 Oct 2003 21:59:36 +0000 (21:59 +0000)]
Change the execute methods to take the shared object filename by const reference.
Other adjustments to work with the new ToolRunner interfaces
llvm-svn: 9130
Chris Lattner [Tue, 14 Oct 2003 21:52:52 +0000 (21:52 +0000)]
Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects
llvm-svn: 9129
Misha Brukman [Tue, 14 Oct 2003 21:42:11 +0000 (21:42 +0000)]
Order #includes as per the style guide.
llvm-svn: 9128
Misha Brukman [Tue, 14 Oct 2003 21:39:53 +0000 (21:39 +0000)]
Enabling incremental bytecode loading in the JIT:
* Use the incremental bytecode reader interface to speed up execution
llvm-svn: 9127
Misha Brukman [Tue, 14 Oct 2003 21:38:42 +0000 (21:38 +0000)]
Enabling incremental bytecode loading in the JIT:
* FunctionPassManager ctor now takes in a ModuleProvider
* run() materializes function before running passes on it
llvm-svn: 9126
Misha Brukman [Tue, 14 Oct 2003 21:37:41 +0000 (21:37 +0000)]
Enabling incremental bytecode loading in the JIT:
* The VM is now constructed with a ModuleProvider
llvm-svn: 9125
Misha Brukman [Tue, 14 Oct 2003 21:36:31 +0000 (21:36 +0000)]
Enabling incremental bytecode loading in the JIT:
* ExecutionEngine and VM can be constructed using a ModuleProvider.
llvm-svn: 9124
Misha Brukman [Tue, 14 Oct 2003 21:35:52 +0000 (21:35 +0000)]
Enabling incremental bytecode loading in the JIT:
* ExecutionEngine can be constructed from a ModuleProvider
* Alphabetized order of forward-declared classes
llvm-svn: 9123
Misha Brukman [Tue, 14 Oct 2003 21:34:56 +0000 (21:34 +0000)]
Enabling incremental bytecode loading in the JIT:
* Add ModuleProvider as a parameter to FunctionPassManager
llvm-svn: 9122
Chris Lattner [Tue, 14 Oct 2003 21:34:11 +0000 (21:34 +0000)]
Substantial cleanups:
* Add header comment
* Remove extraneous #includes
* Move the FileType enum into the GCC class
* The GCC class is not virtual.
* Move all of the "constructor" functions into the classes themselves
* Stop using cl::list as arguments, use std::vector instead (which cl::list
derives from)
* Improve comments
llvm-svn: 9121
Chris Lattner [Tue, 14 Oct 2003 21:09:11 +0000 (21:09 +0000)]
The return value of compileSharedObject was never used. Return the shared
object's name instead
llvm-svn: 9120
Chris Lattner [Tue, 14 Oct 2003 21:07:25 +0000 (21:07 +0000)]
Actually return an error if something bad happens, don't just exit.
llvm-svn: 9119
Chris Lattner [Tue, 14 Oct 2003 21:01:51 +0000 (21:01 +0000)]
minor cleanups
llvm-svn: 9118
Chris Lattner [Tue, 14 Oct 2003 20:58:07 +0000 (20:58 +0000)]
The -mode option is no longer
llvm-svn: 9117
Chris Lattner [Tue, 14 Oct 2003 20:55:56 +0000 (20:55 +0000)]
Fix minor formatting bug
llvm-svn: 9116
Chris Lattner [Tue, 14 Oct 2003 20:52:55 +0000 (20:52 +0000)]
Eliminate the bugpoint -mode option, by making bugpoint automatically infer the root of all of your problems
llvm-svn: 9115
Chris Lattner [Tue, 14 Oct 2003 19:09:05 +0000 (19:09 +0000)]
Output a contorted sequence of instructions to make sure that we don't access
off the bottom of the stack. This fixes PR#41
llvm-svn: 9114
Chris Lattner [Tue, 14 Oct 2003 18:52:41 +0000 (18:52 +0000)]
Disable the leaf function optimization, which is apparently not legal on
X86/linux. :( The problem is that a signal delivered while the function
is executing could clobber the functions stack. This is a partial fix
for PR41.
llvm-svn: 9113
Chris Lattner [Tue, 14 Oct 2003 01:22:08 +0000 (01:22 +0000)]
Fix bug in script
llvm-svn: 9110
Chris Lattner [Tue, 14 Oct 2003 01:11:07 +0000 (01:11 +0000)]
Do not move variable sized allocations to the top of the caller, which might
break dominance relationships, and is otherwise bad. This fixes bug:
Inline/2003-10-13-AllocaDominanceProblem.ll. This also fixes miscompilation
of 3 176.gcc source files (reload1.c, global.c, flow.c)
llvm-svn: 9109
Chris Lattner [Tue, 14 Oct 2003 01:04:12 +0000 (01:04 +0000)]
New testcase which the inliner breaks
llvm-svn: 9108
John Criswell [Mon, 13 Oct 2003 21:09:04 +0000 (21:09 +0000)]
Added a link to the main page for LLVM.
Made the "Submitting a Bug" reference point to the web site, as we want people
using the latest and greatest bug reporting.
Fixed the indentation by assuming that tabs are 8 characters or less.
llvm-svn: 9107
Chris Lattner [Mon, 13 Oct 2003 21:04:26 +0000 (21:04 +0000)]
Unbreak code generator debug mode
llvm-svn: 9106
John Criswell [Mon, 13 Oct 2003 20:34:27 +0000 (20:34 +0000)]
Adding additional license information to these files.
llvm-svn: 9102
Chris Lattner [Mon, 13 Oct 2003 20:32:04 +0000 (20:32 +0000)]
Do not allow fallthroughs in switch statements. This fixes PR37,
253.perlbmk, and test/Programs/SingleSource/UnitTests/2003-10-13-SwitchTest.c!
llvm-svn: 9101
Misha Brukman [Mon, 13 Oct 2003 20:28:48 +0000 (20:28 +0000)]
LLVM CVS repository has moved.
llvm-svn: 9099
Brian Gaeke [Mon, 13 Oct 2003 19:51:20 +0000 (19:51 +0000)]
Remove WordsEmitted statistic; there's already a non-backend-specific
jello statistic for this (just divide #-bytes-of-code-emitted by 4).
Rewrite head-of-file comment.
llvm-svn: 9098
Chris Lattner [Mon, 13 Oct 2003 18:26:49 +0000 (18:26 +0000)]
LLI no longer has -abort-on-exception
llvm-svn: 9097
John Criswell [Mon, 13 Oct 2003 18:26:44 +0000 (18:26 +0000)]
Removed items that are done or irrelevant.
Added a few new items.
llvm-svn: 9096
Chris Lattner [Mon, 13 Oct 2003 17:13:53 +0000 (17:13 +0000)]
Use the autoconf macro John wrote
llvm-svn: 9095
Chris Lattner [Mon, 13 Oct 2003 16:49:21 +0000 (16:49 +0000)]
Whoops, we inserted into the wrong set. What's up with the dead set anyway?
llvm-svn: 9094
Chris Lattner [Mon, 13 Oct 2003 16:44:50 +0000 (16:44 +0000)]
Use external df iterators to avoid revisiting blocks in functions with
multiple setjmp calls.
llvm-svn: 9093
Chris Lattner [Mon, 13 Oct 2003 16:44:30 +0000 (16:44 +0000)]
Add missing default argument
llvm-svn: 9092
Chris Lattner [Mon, 13 Oct 2003 16:36:06 +0000 (16:36 +0000)]
Make use of "external" depth-first iterators to avoid revisiting nodes
multiple times. This reduces the time to construct post-dominance sets a LOT.
For example, optimizing perlbmk goes from taking 12.9894s to 1.4074s.
llvm-svn: 9091
Chris Lattner [Mon, 13 Oct 2003 16:34:26 +0000 (16:34 +0000)]
add support for "external" depth first iterators, which store the 'visited' set
outside of the iterator itself.
llvm-svn: 9090
John Criswell [Mon, 13 Oct 2003 16:22:01 +0000 (16:22 +0000)]
Added a macro and code that checks for the %a format string in sprintf().
llvm-svn: 9089
John Criswell [Mon, 13 Oct 2003 16:19:30 +0000 (16:19 +0000)]
Fixed the name of a hyperlink.
llvm-svn: 9088
John Criswell [Mon, 13 Oct 2003 16:16:25 +0000 (16:16 +0000)]
Removed information on common build problems. That is now documented in
the FAQ (FAQ.html).
llvm-svn: 9087
John Criswell [Mon, 13 Oct 2003 16:13:06 +0000 (16:13 +0000)]
Fequently Asked Questions about LLVM. Mainly focuses on build problems, but
anything FAQ'ish should go here if it's not heavily documented elsewhere (like
the README.txt file or the Getting Started Guide).
llvm-svn: 9086
John Criswell [Mon, 13 Oct 2003 15:59:28 +0000 (15:59 +0000)]
Master README file that points to all other documentation.
llvm-svn: 9085
Chris Lattner [Mon, 13 Oct 2003 15:45:33 +0000 (15:45 +0000)]
Extricate the "reverse" support from the depth-first iterator. This is really
a crappy form of post-order traversal which really does not belong here. While
we are at it, improve documentation and use a vector instead of a stack.
This improves the post dominator analysis pass by ~5%, and probably also helps
other passes as well.
llvm-svn: 9084
Chris Lattner [Mon, 13 Oct 2003 15:34:17 +0000 (15:34 +0000)]
Add operator= for type iterators to make them assignable
llvm-svn: 9083
Chris Lattner [Mon, 13 Oct 2003 15:30:59 +0000 (15:30 +0000)]
Remove explicit inline qualifiers when the implicit ones work just as well
llvm-svn: 9082
Chris Lattner [Mon, 13 Oct 2003 15:21:58 +0000 (15:21 +0000)]
Stop using "reverse depth first" order
llvm-svn: 9081
Chris Lattner [Mon, 13 Oct 2003 14:58:11 +0000 (14:58 +0000)]
Oops, forgot to commit this before: standardize header comments
llvm-svn: 9080
Chris Lattner [Mon, 13 Oct 2003 14:57:53 +0000 (14:57 +0000)]
Minor cleanups
llvm-svn: 9079
Chris Lattner [Mon, 13 Oct 2003 14:55:56 +0000 (14:55 +0000)]
Speed up TypesEqual by specializing it for all of the derived types, avoiding
a lot of virtual method dispatch overhead.
llvm-svn: 9078
Chris Lattner [Mon, 13 Oct 2003 14:34:59 +0000 (14:34 +0000)]
Avoid calling getTypeSlot more
llvm-svn: 9077
Chris Lattner [Mon, 13 Oct 2003 14:03:36 +0000 (14:03 +0000)]
Avoid creating lots of pointless opaque types, with short lifetimes
llvm-svn: 9076
Chris Lattner [Mon, 13 Oct 2003 05:34:24 +0000 (05:34 +0000)]
This is a header file, hear me roar
llvm-svn: 9075
Chris Lattner [Mon, 13 Oct 2003 05:33:01 +0000 (05:33 +0000)]
* Remove extraneous #includes
* Fix a nasty initializer ordering bug. Any only-CFG passes which registered
themselves before the CFGOnlyAnalysis vector initialized got forgotten and
thus got invalidated and recomputed.
In particular, in my compiled version of gccas, the Loop information pass was
being recomputed unnecessarily.
llvm-svn: 9074
Chris Lattner [Mon, 13 Oct 2003 05:04:27 +0000 (05:04 +0000)]
Wrap code at 80 columns
llvm-svn: 9073
Chris Lattner [Mon, 13 Oct 2003 04:22:07 +0000 (04:22 +0000)]
This is a header file, thus it needs a -*-C++-*-
llvm-svn: 9072
Chris Lattner [Mon, 13 Oct 2003 03:32:08 +0000 (03:32 +0000)]
Regularize header file comments
llvm-svn: 9071