Commit Graph

8670 Commits

Author SHA1 Message Date
Brian Gaeke
4ca7e53690 Refactor jump insertion code from CompilationCallback() into insertJumpAtAddr().
Make insertFarJumpAtAddr() return void, because nothing uses its return value.
Remove some commented-out code.
Implement replaceMachineCodeForFunction() for SPARC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:27:37 +00:00
Brian Gaeke
9a7871bd3d Add prototype for replaceMachineCodeForFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9202 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:27:25 +00:00
Misha Brukman
7f3df4150c Return the Module that we just materialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9201 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:27:13 +00:00
Brian Gaeke
55c0f02cbf Tidy up doxygen comment for getPointerToFunction().
Add prototypes for recompileAndRelinkFunction() and runJITOnFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9200 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:27:12 +00:00
Brian Gaeke
cd64ddfafe Refactor running the JIT passes on a single function into the new method,
runJITOnFunction().

Add new method for recompiling and patching in new versions of functions,
recompileAndRelinkFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9199 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:27:00 +00:00
Misha Brukman
9573b91c32 Return the Module being materialized to avoid always calling getModule().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9198 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:26:51 +00:00
Brian Gaeke
5358bc39c1 Add stub version of replaceMachineCodeForFunction. It will live here until
we have a better place for it to go.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9197 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:26:45 +00:00
Brian Gaeke
578b68cc47 Remove extra blank line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9196 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:09:10 +00:00
Chris Lattner
9493101409 Do not crash on empty structures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9195 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:03:54 +00:00
John Criswell
8a7ae306b2 Modified the Makefile so that the sample library is linked dynamically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 17:47:08 +00:00
Misha Brukman
2d7721457a * Give credit where credit's due
* `Quote' names of projects
* Add emails to people's records


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9193 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 17:28:21 +00:00
Chris Lattner
627ecead39 New testcase for C++ frontend crash
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9192 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 05:20:51 +00:00
Chris Lattner
888d3bc0cd Tighten up handling of checks for shift instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9191 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 05:11:44 +00:00
Alkis Evlogimenos
60596382aa Eliminate some extraneous code in SlotCalculator::insertVal().
Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(),
       SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(),
       SlotCalculator::insertVal() to SlotCalculator::insertValue(), and
       SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 02:02:40 +00:00
Alkis Evlogimenos
e7d4022f36 Someone forgot to commit an updated configure after adding tools/llvm-nm to configure.ac :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9189 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 00:50:38 +00:00
Brian Gaeke
fb1a99624b Add debug variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9188 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 23:46:01 +00:00
Brian Gaeke
45f0b6dd56 Fix typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9187 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 23:45:05 +00:00
Brian Gaeke
661ab811d8 This file has funny include guards and funny extra whitespace.
Make this file less funny.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9186 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 23:43:35 +00:00
Brian Gaeke
0b5e69696b Document that llvm-nm works in pipe mode, thanks to the efforts of Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9185 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 23:39:10 +00:00
Brian Gaeke
6020ddd57e Fix a typo in a comment, and zap a blank line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9184 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 23:33:38 +00:00
Misha Brukman
9fcdadb08c Add separator between different types of readers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9183 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 21:19:54 +00:00
Misha Brukman
0f4f7d9eb7 JIT.cpp:
* #include "llvm/ModuleProvider"
* alphabetize #includes
* omit extraneous parens in pointer expressions

VM.cpp:
* #include "llvm/ModuleProvider"
* alphabetize #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9182 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 21:19:34 +00:00
Misha Brukman
19684164a7 * Reorder includes as per the style guide
* Move the constructors from .h file here
* Document ExecutionEngine::create()
* Catch exception possibly thrown by ModuleProvider::releaseModule()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9181 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 21:18:05 +00:00
Misha Brukman
7034adbce2 If we move the constructors to the .cpp file, we can drop the #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9180 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 21:16:21 +00:00
John Criswell
11b2dbd5f8 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9179 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 20:38:16 +00:00
John Criswell
589d91fa72 Removed the -mode option.
Fixed some grammar, spelling, and punctuation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9178 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 20:15:17 +00:00
Chris Lattner
394f2eb03d Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9177 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 20:12:13 +00:00
John Criswell
3beefec3ef Added documentation on the new -disable-inlining option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9176 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 20:05:48 +00:00
John Criswell
610373f099 I am not the only John Criswell.
:)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9175 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 20:01:04 +00:00
Chris Lattner
4536ac02d6 Give credit where credit is due
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 19:58:17 +00:00
John Criswell
7a4b96d0ba 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 19:53:53 +00:00
Chris Lattner
fc046d52e4 Make llvm-nm work in "pipe mode"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9172 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:45:23 +00:00
Chris Lattner
72ac148d49 Add support for 'weak' linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9171 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:29:00 +00:00
Chris Lattner
6b25242a4b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9170 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:28:50 +00:00
Chris Lattner
9eb52a5c29 Geeze, what is with Brian and these ifdef's?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9169 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:27:24 +00:00
Chris Lattner
e63540307d Add weak linking type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9168 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:27:04 +00:00
Misha Brukman
3f71722f44 Automagically update website docs on commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9167 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:14:43 +00:00
Misha Brukman
e610cbbaad Update the website automatically on documentation commit [in progress].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9166 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:13:19 +00:00
Misha Brukman
a73bc8dd39 This should automatically update on the webpage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9165 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:10:45 +00:00
Brian Gaeke
cab5c190eb yikes, a copy-and-paste-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9164 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:05:09 +00:00
Brian Gaeke
f0e3a08ea2 add llvm-nm entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9163 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:04:40 +00:00
Brian Gaeke
bb24b9c26d Add command guide (It's like a man page translated into html, but without the
translation...) for the new llvm-nm tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9162 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:03:24 +00:00
Chris Lattner
784fa188be Welcome llvm-nm to the family
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9161 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 17:46:21 +00:00
Chris Lattner
c3cc71abbc 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9160 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:53:07 +00:00
Chris Lattner
202884fd9b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9159 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:53:04 +00:00
Chris Lattner
f07c833b4b Unfortunately, it looks like level raise is still needed :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9158 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:50:34 +00:00
Chris Lattner
76590640cf This code does not require random access use_lists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9156 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:49:12 +00:00
Chris Lattner
28b2265eb9 Eliminate using declaration
Rewrite code to work with use_lists what are either random access or bidirectional


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9155 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:48:53 +00:00
Misha Brukman
4d08d2bdd8 Added an entry for `llvm-nm'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9154 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:12:04 +00:00
Brian Gaeke
972d3d7fff 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.... :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9153 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 04:43:15 +00:00