Brian Gaeke
0af759d3af
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
2003-10-16 04:43:15 +00:00
John Criswell
a4d32ad1d2
Added autoconf support for the sample project.
...
llvm-svn: 9152
2003-10-16 01:49:07 +00:00
John Criswell
fa322d1f92
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
2003-10-16 01:49:00 +00:00
John Criswell
dd8d7829b3
Adding autoconf support to the sample project.
...
llvm-svn: 9150
2003-10-16 01:45:35 +00:00
John Criswell
419c0dab18
Adding autoconf support for the sample project.
...
This should make setting up a new project much easier.
llvm-svn: 9149
2003-10-16 01:45:10 +00:00
John Criswell
334a2ed2d1
Adding autoconf support for the sample project.
...
llvm-svn: 9148
2003-10-16 01:44:20 +00:00
Chris Lattner
ddf92c8a9a
Vector is my friend, do you like vector?
...
llvm-svn: 9147
2003-10-15 22:10:10 +00:00
Chris Lattner
fd27d111d9
lalala
...
llvm-svn: 9146
2003-10-15 22:09:57 +00:00
Chris Lattner
1318d56b4b
We'll need this soon as well
...
llvm-svn: 9145
2003-10-15 22:09:46 +00:00
Chris Lattner
9177d11367
#include vector which we will need here soon
...
llvm-svn: 9144
2003-10-15 22:09:32 +00:00
Chris Lattner
46c3217be4
This file uses assert and doesn't include anything which already #includes <cassert>
...
llvm-svn: 9142
2003-10-15 21:55:37 +00:00
Chris Lattner
3334c884bc
Give this file a proper header
...
llvm-svn: 9141
2003-10-15 21:49:57 +00:00
Chris Lattner
4973805acd
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
2003-10-15 21:48:38 +00:00
Brian Gaeke
828449f9fe
Fix up error message.
...
llvm-svn: 9139
2003-10-15 20:46:58 +00:00
Brian Gaeke
adbbfebfae
Flush output after writing out the list of function names.
...
llvm-svn: 9138
2003-10-15 20:42:48 +00:00
John Criswell
be945ca24e
Updated some of the information for the new autoconf changes.
...
llvm-svn: 9136
2003-10-15 16:52:57 +00:00
Chris Lattner
f95d9b99b3
Decrease usage of use_size()
...
llvm-svn: 9135
2003-10-15 16:48:29 +00:00
Chris Lattner
30c715b30b
Remove usage of use_size()
...
llvm-svn: 9134
2003-10-15 16:43:24 +00:00
Chris Lattner
f77a856f3b
Cleanup
...
llvm-svn: 9133
2003-10-15 16:42:21 +00:00
Chris Lattner
f92877f304
Add new hasOneUse() method. Remove explicit inline qualifiers
...
llvm-svn: 9132
2003-10-15 16:39:04 +00:00
Chris Lattner
dc92fa6473
add support forloading additional .so files on the command line
...
llvm-svn: 9131
2003-10-14 22:24:31 +00:00
Chris Lattner
3f6e522257
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
2003-10-14 21:59:36 +00:00
Chris Lattner
1499851ef6
Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects
...
llvm-svn: 9129
2003-10-14 21:52:52 +00:00
Misha Brukman
1d2d8ec853
Order #includes as per the style guide.
...
llvm-svn: 9128
2003-10-14 21:42:11 +00:00
Misha Brukman
5b255e59ac
Enabling incremental bytecode loading in the JIT:
...
* Use the incremental bytecode reader interface to speed up execution
llvm-svn: 9127
2003-10-14 21:39:53 +00:00
Misha Brukman
56a8642a42
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
2003-10-14 21:38:42 +00:00
Misha Brukman
299f3e650f
Enabling incremental bytecode loading in the JIT:
...
* The VM is now constructed with a ModuleProvider
llvm-svn: 9125
2003-10-14 21:37:41 +00:00
Misha Brukman
2f1e200248
Enabling incremental bytecode loading in the JIT:
...
* ExecutionEngine and VM can be constructed using a ModuleProvider.
llvm-svn: 9124
2003-10-14 21:36:31 +00:00
Misha Brukman
1ff924b5c2
Enabling incremental bytecode loading in the JIT:
...
* ExecutionEngine can be constructed from a ModuleProvider
* Alphabetized order of forward-declared classes
llvm-svn: 9123
2003-10-14 21:35:52 +00:00
Misha Brukman
2c611561ea
Enabling incremental bytecode loading in the JIT:
...
* Add ModuleProvider as a parameter to FunctionPassManager
llvm-svn: 9122
2003-10-14 21:34:56 +00:00
Chris Lattner
66da9ef634
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
2003-10-14 21:34:11 +00:00
Chris Lattner
f8a84dbff3
The return value of compileSharedObject was never used. Return the shared
...
object's name instead
llvm-svn: 9120
2003-10-14 21:09:11 +00:00
Chris Lattner
74d64c7d02
Actually return an error if something bad happens, don't just exit.
...
llvm-svn: 9119
2003-10-14 21:07:25 +00:00
Chris Lattner
6ad91d7166
minor cleanups
...
llvm-svn: 9118
2003-10-14 21:01:51 +00:00
Chris Lattner
5d068b78b7
The -mode option is no longer
...
llvm-svn: 9117
2003-10-14 20:58:07 +00:00
Chris Lattner
67cc196bf7
Fix minor formatting bug
...
llvm-svn: 9116
2003-10-14 20:55:56 +00:00
Chris Lattner
2ed0642a95
Eliminate the bugpoint -mode option, by making bugpoint automatically infer the root of all of your problems
...
llvm-svn: 9115
2003-10-14 20:52:55 +00:00
Chris Lattner
fdfe370406
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
2003-10-14 19:09:05 +00:00
Chris Lattner
97c7a8ed1a
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
2003-10-14 18:52:41 +00:00
Chris Lattner
4b9c23a19d
Fix bug in script
...
llvm-svn: 9110
2003-10-14 01:22:08 +00:00
Chris Lattner
b4778c73c9
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
2003-10-14 01:11:07 +00:00
Chris Lattner
84b5eb206c
New testcase which the inliner breaks
...
llvm-svn: 9108
2003-10-14 01:04:12 +00:00
John Criswell
3104d83bdb
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
2003-10-13 21:09:04 +00:00
Chris Lattner
6ca0b8738a
Unbreak code generator debug mode
...
llvm-svn: 9106
2003-10-13 21:04:26 +00:00
John Criswell
49a9b67858
Adding additional license information to these files.
...
llvm-svn: 9102
2003-10-13 20:34:27 +00:00
Chris Lattner
08ca35b6d6
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
2003-10-13 20:32:04 +00:00
Misha Brukman
292964c663
LLVM CVS repository has moved.
...
llvm-svn: 9099
2003-10-13 20:28:48 +00:00
Brian Gaeke
6855f03c56
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
2003-10-13 19:51:20 +00:00
Chris Lattner
abb3b38448
LLI no longer has -abort-on-exception
...
llvm-svn: 9097
2003-10-13 18:26:49 +00:00
John Criswell
8c8c891090
Removed items that are done or irrelevant.
...
Added a few new items.
llvm-svn: 9096
2003-10-13 18:26:44 +00:00
Chris Lattner
8260db9a69
Use the autoconf macro John wrote
...
llvm-svn: 9095
2003-10-13 17:13:53 +00:00
Chris Lattner
612cafef0a
Whoops, we inserted into the wrong set. What's up with the dead set anyway?
...
llvm-svn: 9094
2003-10-13 16:49:21 +00:00
Chris Lattner
951e7329e8
Use external df iterators to avoid revisiting blocks in functions with
...
multiple setjmp calls.
llvm-svn: 9093
2003-10-13 16:44:50 +00:00
Chris Lattner
a3244bbefd
Add missing default argument
...
llvm-svn: 9092
2003-10-13 16:44:30 +00:00
Chris Lattner
f5d946eced
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
2003-10-13 16:36:06 +00:00
Chris Lattner
514e18c061
add support for "external" depth first iterators, which store the 'visited' set
...
outside of the iterator itself.
llvm-svn: 9090
2003-10-13 16:34:26 +00:00
John Criswell
42859559f2
Added a macro and code that checks for the %a format string in sprintf().
...
llvm-svn: 9089
2003-10-13 16:22:01 +00:00
John Criswell
55a0c88c30
Fixed the name of a hyperlink.
...
llvm-svn: 9088
2003-10-13 16:19:30 +00:00
John Criswell
c41e7a81db
Removed information on common build problems. That is now documented in
...
the FAQ (FAQ.html).
llvm-svn: 9087
2003-10-13 16:16:25 +00:00
John Criswell
8af732029a
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
2003-10-13 16:13:06 +00:00
John Criswell
97735cf4af
Master README file that points to all other documentation.
...
llvm-svn: 9085
2003-10-13 15:59:28 +00:00
Chris Lattner
97b07c2096
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
2003-10-13 15:45:33 +00:00
Chris Lattner
d6d5651acf
Add operator= for type iterators to make them assignable
...
llvm-svn: 9083
2003-10-13 15:34:17 +00:00
Chris Lattner
78cab97abb
Remove explicit inline qualifiers when the implicit ones work just as well
...
llvm-svn: 9082
2003-10-13 15:30:59 +00:00
Chris Lattner
0c068c097a
Stop using "reverse depth first" order
...
llvm-svn: 9081
2003-10-13 15:21:58 +00:00
Chris Lattner
e6f4e07706
Oops, forgot to commit this before: standardize header comments
...
llvm-svn: 9080
2003-10-13 14:58:11 +00:00
Chris Lattner
aa78cc9e5d
Minor cleanups
...
llvm-svn: 9079
2003-10-13 14:57:53 +00:00
Chris Lattner
e859403772
Speed up TypesEqual by specializing it for all of the derived types, avoiding
...
a lot of virtual method dispatch overhead.
llvm-svn: 9078
2003-10-13 14:55:56 +00:00
Chris Lattner
a785563692
Avoid calling getTypeSlot more
...
llvm-svn: 9077
2003-10-13 14:34:59 +00:00
Chris Lattner
1dc3f3fdc0
Avoid creating lots of pointless opaque types, with short lifetimes
...
llvm-svn: 9076
2003-10-13 14:03:36 +00:00
Chris Lattner
c7bc3bb503
This is a header file, hear me roar
...
llvm-svn: 9075
2003-10-13 05:34:24 +00:00
Chris Lattner
ab16a659d7
* 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
2003-10-13 05:33:01 +00:00
Chris Lattner
178957028b
Wrap code at 80 columns
...
llvm-svn: 9073
2003-10-13 05:04:27 +00:00
Chris Lattner
f0bf7cb739
This is a header file, thus it needs a -*-C++-*-
...
llvm-svn: 9072
2003-10-13 04:22:07 +00:00
Chris Lattner
44d2c3514a
Regularize header file comments
...
llvm-svn: 9071
2003-10-13 03:32:08 +00:00
Chris Lattner
c3ad6e0b1f
make the indvar obviously non-canonical
...
llvm-svn: 9070
2003-10-13 03:31:42 +00:00
Chris Lattner
7cce14bfbf
Regularize header file comment, eliminate using's
...
llvm-svn: 9069
2003-10-13 03:30:47 +00:00
Chris Lattner
3fe0b9646e
Add new op_erase method
...
llvm-svn: 9068
2003-10-13 03:29:26 +00:00
Chris Lattner
f7a60cd9fa
Minor cleanups
...
llvm-svn: 9067
2003-10-13 01:02:33 +00:00
Chris Lattner
56b8526083
Checkin an improvement contributed by Bill:
...
Only transform call sites in a setjmp'ing function which are reachable from
the setjmp. If the call dominates the setjmp (for example), the called
function cannot longjmp to the setjmp.
This dramatically reduces the number of invoke instructions created in some
large testcases.
llvm-svn: 9066
2003-10-13 00:57:16 +00:00
Chris Lattner
c4622a6955
Add support to the loop canonicalization pass to make it transform loops to
...
have a SINGLE backedge. This is useful to, for example, the -indvars pass.
This implements testcase LoopSimplify/single-backedge.ll and closes PR#34
llvm-svn: 9065
2003-10-13 00:37:13 +00:00
Chris Lattner
3e53700320
new testcase
...
llvm-svn: 9064
2003-10-12 22:26:42 +00:00
Chris Lattner
e43629bad6
Make getNumBackEdges more efficient
...
llvm-svn: 9063
2003-10-12 22:14:27 +00:00
Chris Lattner
2a4080c140
Files moved to the LoopSimplify directory
...
llvm-svn: 9062
2003-10-12 21:57:11 +00:00
Chris Lattner
72272a70b8
Rename loop preheaders pass to loop simplify
...
llvm-svn: 9061
2003-10-12 21:52:28 +00:00
Chris Lattner
efc15169f0
Rename -preheaders pass. Spelling fix
...
llvm-svn: 9060
2003-10-12 21:51:55 +00:00
Chris Lattner
55d4788397
File is renamed to LoopSimplify.cpp
...
llvm-svn: 9059
2003-10-12 21:44:18 +00:00
Chris Lattner
154e4d5dea
First step in renaming the preheaders pass to loopsimplify
...
llvm-svn: 9058
2003-10-12 21:43:28 +00:00
Chris Lattner
9eb9fc8102
The -preheaders pass is now known as -loopsimplify
...
llvm-svn: 9057
2003-10-12 21:42:35 +00:00
Chris Lattner
9703c02ce4
The preheader insertion pass only depends on the CFG. Mark it as such, which
...
allows GCCAS to only run it once.
llvm-svn: 9056
2003-10-12 19:33:10 +00:00
Chris Lattner
dd99f5bf8f
Rename method
...
llvm-svn: 9055
2003-10-12 18:52:12 +00:00
Chris Lattner
2debdf6458
Rename method to indicate what it does
...
llvm-svn: 9054
2003-10-12 18:51:53 +00:00
Chris Lattner
1d243169d9
* Spell "necessary" correctly
...
* Print floating point values using C99 hexadecimal style FP if possible.
This increases the number of floating point constants that may be emitted
inline, and improves precision for global variable initializers which
can not be emitted in integer form.
This fixes the Olden/Power benchmark with the CBE!!!!
llvm-svn: 9052
2003-10-12 08:12:58 +00:00
Chris Lattner
2e5cfa4fe8
Test that we can emit global initializers that are not normal FP values
...
llvm-svn: 9050
2003-10-12 07:31:25 +00:00
Chris Lattner
5d841b2de5
* Be TBAA safe
...
* Fix isFPCSafeToPrint to find more constants safe to print, which it was
failing because ftostr was padding with leading space characters.
* Scan the entire module for global constants instead of each function at a
time. This has the advantage of allowing us to emit constants at global
scope instead of function scope. This speeds FP programs quite a bit.
llvm-svn: 9048
2003-10-12 04:36:29 +00:00
Brian Gaeke
91d16b3b3f
Greatly expand documentation comment at head of file... I had to
...
try to understand it; maybe this will help someone else do so too.
Default CVSRootDir to $CVSROOT first, then the path in ~vadve only if $CVSROOT
was not set.
Checkout with -z3 if we might be checking out over ssh/rsh.
Check the filename of gnuplot to see if it is executable; if not, as a
last resort, try just plain "gnuplot", hoping it is in the path somewhere.
Remove a little extra whitespace.
llvm-svn: 9046
2003-10-11 05:34:00 +00:00
Brian Gaeke
74edce6f7c
Make mmap's fd for anonymous memory acquisition default to -1, except on
...
Linux. This is consistent with what FreeBSD and Solaris both want.
This makes the JIT work on FreeBSD 5.1-RELEASE. Whee.
llvm-svn: 9045
2003-10-11 03:51:18 +00:00
Brian Gaeke
bf7bbf1881
Quote qmtest args in $(CONTEXT).
...
I don't remember precisely what bug this fixed, but I remember that
it fixed a bug. Sorry. (I think one of these args had a Funny Shell Character
in it, or a space, or something, in my last build, and this seemed
like the obvious fix.)
llvm-svn: 9044
2003-10-11 00:10:05 +00:00
Chris Lattner
3f647b8bc0
Actually pass in a pointer to the thrown object, not a pointer to the
...
exception header. This is the final missing piece from the PR#27 puzzle.
llvm-svn: 9043
2003-10-10 22:55:55 +00:00
Brian Gaeke
969378468e
This seems to work around some unobvious bug in gcc on sparc which was
...
causing the build of lib/Target/X86 to fail.
llvm-svn: 9042
2003-10-10 21:55:29 +00:00