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