Chris Lattner
e45110e012
Goodbye macro hell, hello nice clean and simple code. This also gives llc
...
the ability to dynamically load and use targets that are not linked into it
statically. e.g.:
llc -load libparisc.so -march=parisc foo.bc -o foo.s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 04:03:24 +00:00
Chris Lattner
4a1de8b250
Add -load option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 01:08:19 +00:00
Chris Lattner
a3eb7b3983
Add a -load option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 01:06:59 +00:00
Reid Spencer
86f42bdad9
Add #include <iostream> since Value.h does not include it any more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 12:20:55 +00:00
Reid Spencer
954da37bb4
Add #include <iostream> since Value.h does not #include it any more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04 12:19:56 +00:00
Brian Gaeke
db67ecd49d
Build llvm-bcanalyzer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14568 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:59:20 +00:00
Reid Spencer
8a542aeb84
Name Change: llvm-abcd -> llvm-bcanalyzer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14555 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 03:22:53 +00:00
Reid Spencer
86a9a7a9c4
Implement verification feature.
...
Ensure output occurs even in the face of an error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14499 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-29 23:34:27 +00:00
Reid Spencer
53d55432cc
The analyzer code now lives in the bcreader library. The bcanalyzer lib
...
is no more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-29 23:33:31 +00:00
Chris Lattner
a8e750f2b0
Write .bc files to binary ostreams. This shouldn't change anything on unix,
...
but allows us to generate valid code on hosts (like windows) that do newline
translation for text files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14418 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 20:54:43 +00:00
Chris Lattner
4391946558
Make sure to link all IPA's into opt, so that it has access to stuff like
...
anders-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 05:19:17 +00:00
Misha Brukman
b01c1381c0
TransformUtils library is no longer needed since Linker.cpp is in VMCore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14352 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 17:36:17 +00:00
Misha Brukman
008248f2c0
Linker.h moved to include/llvm/Support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 17:33:09 +00:00
Reid Spencer
23d46e70b1
Clean up documentation and naming of variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 18:38:44 +00:00
Reid Spencer
465ba87c92
Made detailed output the default and changed -details option to -nodetails.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14114 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 08:24:42 +00:00
Reid Spencer
96684ef886
Clean up the documentation.
...
Simplify the file handling. It now only writes to std::cout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 05:56:58 +00:00
Chris Lattner
a822160402
Eliminate more traces of the -c option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-07 18:10:01 +00:00
Reid Spencer
dac69c83c2
Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This tool
...
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader. This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-07 17:53:43 +00:00
Chris Lattner
681692da43
Make gccld copy the llvm-stub program to be the execution wrapper for
...
bytecode files on win32 systems. We keep the shell script on unix systems
because it is much more transparent for the users and supports -load
options.
This allows llvmgcc work correctly on win32 systems without the -native or
-native-cbe options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:53:57 +00:00
Misha Brukman
fff0ff8313
Fix a double negation (in grammar).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13943 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:29:52 +00:00
Chris Lattner
0ebee7410f
Move some functions out of gccld.cpp to GenerateCode.cpp. This allows us
...
to reduce the inter-file interface in the gccld tool and gets some
uninteresting code out of gccld.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13942 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:22:24 +00:00
Chris Lattner
7e88d418bb
Refactor a bit of code into a function, no functionality changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13941 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:10:19 +00:00
Chris Lattner
f7e92b1dcf
No really cygwin, we LIKE .exe'ness.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13939 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:04:54 +00:00
Chris Lattner
0ed1f38ea6
Build the llvm-stub directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01 23:49:55 +00:00
Chris Lattner
4c6d124efa
Initial checkin of a stub executable that can be used by gccld to forward to
...
bytecode files on systems that don't support #!/bin/sh natively (ie, win32).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13937 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01 23:48:45 +00:00
Chris Lattner
3153e4fc80
Neuter the -q option. Stop printing the "program modified" message, ever
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13844 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 20:32:10 +00:00
Reid Spencer
ec7eb45926
Re-introduce the -q option and make opt always return 0, even if the
...
optimization pasess fail. This is necessary to avoid breaking feature
tests in the tests suite that depend on this behavior. *sigh*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13832 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 16:28:54 +00:00
Reid Spencer
0870594530
Removed the -q option and the default message written to stderr. The
...
output produces confusing results in TestRunner.sh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13828 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 08:26:22 +00:00
Chris Lattner
b04cb7daf5
Right, globals aren't values yet..
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13822 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 06:43:37 +00:00
Chris Lattner
d9572118eb
Add a simple pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13820 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 06:13:36 +00:00
Chris Lattner
6623cffb6a
Uhh, that doesn't exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13815 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:44:22 +00:00
Chris Lattner
bed85ff010
Header file moved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Reid Spencer
9231ac8b6f
Convert to SymbolTable's new iteration interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:53:40 +00:00
Chris Lattner
7507c297d0
Turn the block extractor on by default now that it basically works, eliminating the option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13502 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 19:02:44 +00:00
Chris Lattner
68bee938e5
Check to see if all blocks are extractible first.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13491 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 16:08:01 +00:00
Chris Lattner
b83c0f3f63
Don't leave dead bytecode.output files around if the optimizer/block extractor crashes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13477 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 02:55:45 +00:00
Chris Lattner
2290e75406
Implement the final missing bits for block extractor support. Now bugpoint
...
can extract basic blocks up to the limit of the block extractor implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13475 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 02:43:24 +00:00
Chris Lattner
5e783ab0b5
Implement basic block extraction for the miscompilation debugger. This still needs
...
two things: the FIXME in ExtractBlocks needs to be implemented, and the basic block
extractor itself needs to have enough bugs fixed for this to be more or less
useful.
Until the time that this is generally useful, it is hidden behind the new bugpoint
-enable-block-extraction option. I hope to get the FIXME done tonight.
Also of note, this patch adds a -extract-bbs option to bugpoint which can be used
to debug the block extractor. (hint hint Misha :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11 21:54:13 +00:00
Chris Lattner
1c2f68631e
A class that is meant to be a base class should have a virtual destructor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11 20:41:07 +00:00
Brian Gaeke
7532e34537
Allow the user to set the LLVMINTERP environment variable as a workaround, for
...
when they have to run a gccld shell script without having lli in their path.
This is intended to address Bug 289.
Also, emit the traditional syntax ${1+"$@"} for passing all of a shell script's
args to a subprocess. If you have arguments that have spaces in them, $* will
not preserve the quoting (i.e., the quoted string "foo bar" as an argument will
end up as two arguments "foo" "bar" to lli.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13414 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07 21:47:36 +00:00
Chris Lattner
60083e2fc0
Use the new commandline flag to allow us to call bugpoint like this:
...
bugpoint ... --tool-args -enable-correct-eh-support -regalloc=linearscan --args -- -foo
So that tool-args option gets the -enable-correct-eh-support -regalloc=linearscan flags instead of bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06 22:05:35 +00:00
Chris Lattner
817d8d3046
Remove a really old comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06 19:29:58 +00:00
Brian Gaeke
48b008db57
Apply simplification suggested by Chris: why assign() when operator = will do?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 22:02:41 +00:00
Brian Gaeke
636df3d7ec
Add --tool-args flag which lets you pass arguments to llc or lli.
...
This is intended to address Bug 40.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:09:16 +00:00
Brian Gaeke
d11577b68b
Add "Args" optional argument to AbstractInterpreter factory methods, which
...
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This
ToolArgs vector is used to pass additional arguments to LLI and/or LLC.
This is intended to address Bug 40.
Also, make -debug-only=toolrunner work for the LLC and CBE
AbstractInterpreters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:09:01 +00:00
Chris Lattner
f4789e6d04
Teach bugpoint to be a little bit smarter and avoid repeating work
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13132 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 20:36:51 +00:00
Misha Brukman
ca718e41cf
Add command-line option to select whether to isolate or delete function from
...
module. Default is `isolate' as before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13113 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 23:07:39 +00:00
Misha Brukman
123f8fec94
Add a space before result for readability on the command line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13109 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 20:02:09 +00:00
Misha Brukman
8c194eaa05
Add doxygenified comments to functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13097 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-21 18:36:43 +00:00
Alkis Evlogimenos
09233fb86e
Include cerrno (gcc-3.4 fix)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13091 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-21 16:11:40 +00:00
Misha Brukman
de4803d0af
As per Chris, greatly simplify handling of external functions by using the
...
wrapper idea uniformly: we can use Value::replaceAllUsesWith() instead of
special-casing by class of user.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13063 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 03:36:47 +00:00
Misha Brukman
b687d82b02
* Reorder #includes
...
* Wrap a long line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13061 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 03:12:35 +00:00
Misha Brukman
dc7fef83dc
Finally implement rewriting global initializers which use external functions
...
by creating an internal wrapper function with same signature as the external
function, and use it instead of the "real" function.
The wrapper then calls the external function using the same JIT function
resolution API that has been used before for rewriting instructions, since the
wrapper has an explicit call instruction which we can rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13054 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 01:12:01 +00:00
Chris Lattner
93d82020ef
Move loop optimization passes up, add loop unroller
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13030 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 05:21:01 +00:00
Misha Brukman
7a46e4c62b
Don't use invalid HTML in a doxygen comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-15 15:23:45 +00:00
Chris Lattner
f9c455d3df
Add a couple more IPO's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12 05:38:15 +00:00
Chris Lattner
27829ec5ff
finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12862 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12 05:38:01 +00:00
Chris Lattner
36ee07ff9d
Disambiguate symbols after loop extraction so that we can diagnose a code
...
generator bug if multiple loops are extracted from a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12847 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-11 23:52:35 +00:00
Chris Lattner
2423db0e85
Fix an obvious bug in the refactoring I did a few days ago
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12797 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-09 22:28:33 +00:00
Chris Lattner
a1346a2619
Disable strict alias analysis in the backend c compiler, as the code we
...
generate is not TBAA safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08 15:18:59 +00:00
Chris Lattner
67e0a34178
Revert previous patch, I'm a moron :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08 15:18:03 +00:00
Chris Lattner
121f09fb05
Right, we break strict aliasing requirements. Make sure to disable strict
...
aliasing in the C compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12772 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08 15:14:43 +00:00
Misha Brukman
b04da8a3c6
Wrap at 80 cols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12701 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 17:04:30 +00:00
Chris Lattner
27a9b2713b
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12700 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 16:54:04 +00:00
Chris Lattner
69e8d282bf
Add a new gccld -native-cbe option which causes gccld to generate native code
...
for the application with the C backend instead of the native LLVM code generator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12698 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 16:43:13 +00:00
Chris Lattner
a57d86b436
Merge the code generator miscompilation code into the optimizer miscompilation
...
code. This "instantly" gives us loop-extractor power to assist with the
debugment of our nasty codegen issues. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 22:58:16 +00:00
Chris Lattner
11b8cd197a
Make a method public
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12677 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 22:01:48 +00:00
Chris Lattner
9ae427a14c
Minor cleanups, remove some old debug code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 21:37:55 +00:00
Chris Lattner
b15825b0a2
Refactor and genericize code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12675 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 21:37:38 +00:00
Chris Lattner
8505c867b1
lli no longer takes the -quiet option!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12674 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 20:28:41 +00:00
Chris Lattner
30878f42c2
Make full use of the Mangler interface to simplify code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12671 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 19:31:02 +00:00
Chris Lattner
af48fa8259
Minor change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 01:31:50 +00:00
Chris Lattner
04eaef28a8
Remove obsolete analyses
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12634 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 20:56:33 +00:00
Chris Lattner
106dc527b0
Tweak libraries for scev changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12625 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 20:32:46 +00:00
Chris Lattner
fb4b96e77e
Minor speedup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12612 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 16:28:32 +00:00
Chris Lattner
02bb481881
minor formatting change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12606 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 06:32:45 +00:00
Chris Lattner
5313f23b8c
Fix two pretty serious bugs:
...
1. Each time the loop extractor extracted a loop, we would leak a module.
2. When we extracted a loop, we didn't add the new function to the list of
miscompiled functions. Thus if the bug was in a loop nest and we
extracted it, we could actually *LOSE THE BUG*, which is very bad.
With these patches, bugpoint has successfully found a bug for me in a function
with several nested loops, and cut it down to just one of them. :) :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12605 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 06:32:17 +00:00
Chris Lattner
87ab7e994f
Fix a fairly nasty bug that prevented bugpoint from working quite right when
...
hacking on programs with two functions that have the same name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12604 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 06:30:33 +00:00
Chris Lattner
58d84ced5f
If the program returns a non-zero exit value, don't leave files laying
...
around
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12603 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 05:33:06 +00:00
Chris Lattner
76351aa57e
Fix wonky header
...
Address PR305: LLVM tools will happily spew bytecode onto your terminal
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12602 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 05:06:57 +00:00
Chris Lattner
d3a533d94d
When loop extraction succeeds, make sure to map the function pointers over
...
to avoid dangling references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17 17:42:09 +00:00
Chris Lattner
7fa44fca30
Fix an inverted condition that causes us to think that loop extraction
...
accomplished something when it really did not. This does not fix the bigger problem tho.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12469 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17 17:37:18 +00:00
Chris Lattner
9d5968dd51
Fix an iterator invalidation problem in a "buggy" pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12468 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17 17:29:08 +00:00
Brian Gaeke
e40eae7370
Add a better head-of-file comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-16 21:47:20 +00:00
Chris Lattner
002dbddccd
Fix thinko, and PR292
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-16 01:51:54 +00:00
Chris Lattner
a1cf1c8c87
After reducing a miscompiled program down to the functions which are being
...
miscompiled, try to use the loop extractor to reduce the program down to a
loop nest that is being miscompiled. In practice, the loop extractor appears
to have too many bugs for this to be useful, but hopefully they will be fixed
soon...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12398 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 22:08:00 +00:00
Chris Lattner
44a64bccac
Fix a minor bug in runPassesOn
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12397 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 21:37:41 +00:00
Chris Lattner
0a00256900
Add a new "AutoDebugCrashes" option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12396 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 21:21:57 +00:00
Chris Lattner
a75766a6c1
Refactor to use a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 21:17:22 +00:00
Chris Lattner
3b6441e105
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12394 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 21:17:03 +00:00
Chris Lattner
efdc0b5057
Refactor and clean up a bunch more code. No major functionality changes.
...
* Make several methods of bugdriver global functions (ParseInputFile, PrintFunctionList)
* Make PrintFunctionList truncate the output after 10 entries, like the crash debugger
did. This allows code sharing.
* Add a couple of methods to BugDriver that allows us to eliminate some friends
* Improve comments in ExtractFunction.cpp
* Make classes that used to be friends up bugdriver now live in anon namespaces
* Rip a bunch of functionality in the miscompilation tester into a new
TestMergedProgram function for future code sharing.
* Fix a bug in the miscompilation tester induced in my last checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 20:50:42 +00:00
Chris Lattner
7546c3884a
Add a method to extract a loop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 20:02:07 +00:00
Chris Lattner
5eda1f2f65
add a fixme
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 19:31:00 +00:00
Chris Lattner
be21ca54e0
Refactor all of the "splitting a module into two pieces" code to avoid
...
code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs
to print out the final message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 19:27:19 +00:00
Chris Lattner
2c7b430bc0
Turn on argument promotion in gccas. This can give us substantially better
...
code in cases where the file has lots of static functions or anon namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12361 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13 21:38:35 +00:00
Chris Lattner
b2c180f04e
Fix the "infinite looping unless you disable adce" bug
...
Also remove an option to disable adce :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13 19:35:54 +00:00
Brian Gaeke
744b5fb93f
Revise comment and error message for the Bug 38 situation. Also, make it
...
print out the name of the function being used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12347 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 21:37:46 +00:00
Misha Brukman
094158a133
SparcV8 removed until it grows up becomes a mature backend.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 18:16:33 +00:00
Chris Lattner
8c2730e347
Annotate functions with edge counts as well, if they are available.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12233 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:04:32 +00:00
Chris Lattner
f8338c4375
Run the new pass in gccld now that it passes all tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12196 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-07 22:12:40 +00:00
Chris Lattner
d62276a66e
Add a hook to run with the V8 target, though it doesn't currently work. Also
...
mark the PPC backend as experimental
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 19:55:16 +00:00
Chris Lattner
f74a401f61
We have this snazzy link-time optimizer. How about we start using it? This
...
removes some cruft from 255.vortex, cleaning up after DAE and IPCP, which
do horrible, beautiful, things to vortex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11861 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 03:34:30 +00:00
Chris Lattner
dd429c6de9
Add a new pass, run internalize first
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11839 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:35:13 +00:00
Chris Lattner
a93d19fff7
Add a new pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:35:02 +00:00
Brian Gaeke
150666fd82
Great renaming part II: Sparc --> SparcV9 (also includes command-line options and Makefiles)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11827 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 19:08:12 +00:00
Alkis Evlogimenos
c38aa6dd79
Include Config/config.h for SHLIBEXT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:42:51 +00:00
Chris Lattner
5110bed0a0
If bugpoint can't match the reference output, at LEAST provide the output
...
we can get.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11653 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20 06:12:58 +00:00
Chris Lattner
bdc9784613
Wild and passionate uncontrolled goose chases are amusing to watch, but not
...
very helpful. Let bugpoint favor being helpful instead of determined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20 05:58:58 +00:00
Chris Lattner
47dd2766f2
Format a bit more nicely
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20 05:56:48 +00:00
Chris Lattner
3733f3be73
Make sure to print a stack trace whenever an error signal is delivered
...
to the tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11634 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 20:33:00 +00:00
Chris Lattner
364d1203e7
Make sure to print a stack trace whenever an error signal is delivered to
...
the tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11633 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 20:32:39 +00:00
Chris Lattner
f73b4ca7f9
Make sure to print a stack trace whenever an error signal is delivered to the
...
tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11632 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 20:32:12 +00:00
Chris Lattner
7c955fdb44
Be a bit more robust. Explicitly check for a code generator crash.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11624 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 17:03:49 +00:00
Alkis Evlogimenos
1d29a6d6c7
Make ToolExecutionError inherit std::exception and implement its
...
interface: getMessage() is gone, use what() instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 07:39:26 +00:00
Chris Lattner
f66d9069cf
Fix the "horribly N^2'd" problem when deleting individual instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11617 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:59:11 +00:00
Chris Lattner
8b189277bd
* Predicate the optimizer crash debugger on a function.
...
* Implement a new code generator crash debugger which uses this predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11614 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:26:28 +00:00
Chris Lattner
ea9212ca96
Add a new method for use by the code generator crash debugger.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11613 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:25:22 +00:00
Chris Lattner
ca00512008
Don't crash if there are no passes in the PassesToRun list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11612 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:24:56 +00:00
Chris Lattner
9cbbee332f
Add support for just running the code generator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11611 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:24:41 +00:00
Chris Lattner
f03715c6a8
Add support for just compiling a program
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11610 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:24:29 +00:00
Chris Lattner
9709272675
Make the executeProgram method exception safe, not leaving around bytecode
...
files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11607 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 22:01:21 +00:00
Chris Lattner
0cc8807029
Make more stuff public. Make the instruction argument to
...
deleteInstructionFromProgram be const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11606 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 21:50:26 +00:00
Chris Lattner
a36ec88203
make a bunch of methods public
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11605 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 21:35:28 +00:00
Chris Lattner
f913f40be8
A couple of minor cleanups: don't forward declare private classes, put private
...
classes in an anon namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11604 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 21:29:46 +00:00
Chris Lattner
06905db7d2
Cleanup and simplify manipulation of the program, eliminate the need for so
...
many 'friends' of bugdriver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11603 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 21:24:48 +00:00
Chris Lattner
025262692a
Add a stub for debugging code generator crashes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11602 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 21:02:04 +00:00
Chris Lattner
a3de11783f
indent correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11601 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:58:00 +00:00
Chris Lattner
722ca71285
Don't yell. BUGPOINT should yell, not the tool runner :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11600 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:57:38 +00:00
Chris Lattner
7bb11547e4
Update comments, if we are running with the CBE, make sure the Interpreter
...
variable and the CBE variable are pointer equal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11599 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:52:02 +00:00
Chris Lattner
c8580b2aee
Byebye method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11598 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:38:12 +00:00
Chris Lattner
89bf9ea65e
If there is an error running a tool, include the error message (e.g. assertion failure) in the exception
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11597 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:38:00 +00:00
Chris Lattner
5dcc3664b5
ctor arguments changed order
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11595 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:22:25 +00:00
Chris Lattner
230fef8b11
Catch exception and print message as appropriate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11594 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:22:11 +00:00
Chris Lattner
8c56be5e2b
When an error occurs executing a tool, we now throw an exception instead
...
of calling exit(1).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:21:57 +00:00
Chris Lattner
74d4527e40
Bugpoint will be throwing exceptions soon, perpare for the worst.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11584 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 17:32:54 +00:00
Chris Lattner
c064e8930f
This class got moved to FileUtilities.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11583 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 17:17:10 +00:00
Chris Lattner
ba9cc1f789
Give extract -o and -f options, just like every other tool!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11580 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 16:53:59 +00:00
Chris Lattner
c4601bf2f3
The CBE is now in llc, not llvm-dis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11534 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 06:40:51 +00:00
Chris Lattner
9915cd9e9f
The C backend is no longer in llvm-dis, it's in llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11533 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 06:40:06 +00:00
Chris Lattner
df2cf418a8
The CBE is no longer in llvm-dis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11532 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 06:39:48 +00:00
Chris Lattner
74661c838c
When the user runs 'llc foo.bc -march=c', write the output to "foo.cbe.c", not
...
to "foo.s".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11485 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15 22:54:19 +00:00
Misha Brukman
dc5feab7fd
Break a line that's over 80cols into two.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11423 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:46:47 +00:00
Chris Lattner
e8e7a188ec
Do not advertise our -c option anymore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:24:46 +00:00
Chris Lattner
2f1f8e0c4e
Mercilessly rip the cbackend out of llvm-dis. Leave a helpful error message
...
for those who have not heard the news.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:22:40 +00:00
Chris Lattner
666d20a301
Add support for -march=c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11410 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:19:09 +00:00
Chris Lattner
055b3ff7bd
Change how we create the cwriter, and add a buttload of libraries that it now
...
needs. This will be fixed shortly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:01:14 +00:00
Brian Gaeke
c5cad211d6
Add check-exit-code option, defaulting to true.
...
Add ProgramExitedNonzero argument to executeProgram(), and make it
tell its caller whether the program exited nonzero.
Move executeProgramWithCBE() out of line, to ExecutionDriver.cpp, and remove
its extra arguments which are always defaulted. Make it turn off
check-exit-code if the program exits nonzero while generating a reference
output.
Make diffProgram() assume that any nonzero exit code is a failure, if
check-exit-code is turned on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 18:37:32 +00:00
Chris Lattner
89cf3939b7
Factor profile information loading OUT of llvm-prof into libanalysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11316 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 05:56:07 +00:00
Brian Gaeke
973e3ec7db
Fix indentation of selectiondag.
...
I don't know why its indentation has been bugging me, but it has.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11180 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 05:49:29 +00:00
Chris Lattner
f2592ce201
Minor change to breakpoint (lack of) support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 00:06:20 +00:00