Commit Graph

8470 Commits

Author SHA1 Message Date
Brian Gaeke 1a7668a9fd Implement replaceMachineCodeForFunction() for x86.
llvm-svn: 9204
2003-10-17 18:27:46 +00:00
Brian Gaeke 2e24fcadf5 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.

llvm-svn: 9203
2003-10-17 18:27:37 +00:00
Brian Gaeke 240fc39b07 Add prototype for replaceMachineCodeForFunction().
llvm-svn: 9202
2003-10-17 18:27:25 +00:00
Misha Brukman de360f88c8 Return the Module that we just materialized.
llvm-svn: 9201
2003-10-17 18:27:13 +00:00
Brian Gaeke d2bc5ac045 Tidy up doxygen comment for getPointerToFunction().
Add prototypes for recompileAndRelinkFunction() and runJITOnFunction().

llvm-svn: 9200
2003-10-17 18:27:12 +00:00
Brian Gaeke 3b5f24513c 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().

llvm-svn: 9199
2003-10-17 18:27:00 +00:00
Misha Brukman 8763b30a2b Return the Module being materialized to avoid always calling getModule().
llvm-svn: 9198
2003-10-17 18:26:51 +00:00
Brian Gaeke 01f5925fc8 Add stub version of replaceMachineCodeForFunction. It will live here until
we have a better place for it to go.

llvm-svn: 9197
2003-10-17 18:26:45 +00:00
Brian Gaeke 09d40333a2 Remove extra blank line.
llvm-svn: 9196
2003-10-17 18:09:10 +00:00
Chris Lattner 1facf89eaf Do not crash on empty structures
llvm-svn: 9195
2003-10-17 18:03:54 +00:00
John Criswell b9c70bb653 Modified the Makefile so that the sample library is linked dynamically.
llvm-svn: 9194
2003-10-17 17:47:08 +00:00
Misha Brukman 1a1a6119da * Give credit where credit's due
* `Quote' names of projects
* Add emails to people's records

llvm-svn: 9193
2003-10-17 17:28:21 +00:00
Chris Lattner 9746d6c54b New testcase for C++ frontend crash
llvm-svn: 9192
2003-10-17 05:20:51 +00:00
Chris Lattner 0aa8eaf7bf Tighten up handling of checks for shift instructions
llvm-svn: 9191
2003-10-17 05:11:44 +00:00
Alkis Evlogimenos 8faf8d93d5 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().

llvm-svn: 9190
2003-10-17 02:02:40 +00:00
Alkis Evlogimenos 6e8a4b7c6a Someone forgot to commit an updated configure after adding tools/llvm-nm to configure.ac :-)
llvm-svn: 9189
2003-10-17 00:50:38 +00:00
Brian Gaeke 8026243e55 Add debug variable.
llvm-svn: 9188
2003-10-16 23:46:01 +00:00
Brian Gaeke c05684ad22 Fix typo in comment.
llvm-svn: 9187
2003-10-16 23:45:05 +00:00
Brian Gaeke cd4ed60bdd This file has funny include guards and funny extra whitespace.
Make this file less funny.

llvm-svn: 9186
2003-10-16 23:43:35 +00:00
Brian Gaeke d0c1ccc9c9 Document that llvm-nm works in pipe mode, thanks to the efforts of Chris.
llvm-svn: 9185
2003-10-16 23:39:10 +00:00
Brian Gaeke 13b9395071 Fix a typo in a comment, and zap a blank line.
llvm-svn: 9184
2003-10-16 23:33:38 +00:00
Misha Brukman 0659ddc455 Add separator between different types of readers.
llvm-svn: 9183
2003-10-16 21:19:54 +00:00
Misha Brukman 1273147daf JIT.cpp:
* #include "llvm/ModuleProvider"
* alphabetize #includes
* omit extraneous parens in pointer expressions

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

llvm-svn: 9182
2003-10-16 21:19:34 +00:00
Misha Brukman 260b0c88a0 * Reorder includes as per the style guide
* Move the constructors from .h file here
* Document ExecutionEngine::create()
* Catch exception possibly thrown by ModuleProvider::releaseModule()

llvm-svn: 9181
2003-10-16 21:18:05 +00:00
Misha Brukman c0acd1173d If we move the constructors to the .cpp file, we can drop the #include
llvm-svn: 9180
2003-10-16 21:16:21 +00:00
John Criswell 38a47ab007 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
2003-10-16 20:38:16 +00:00
John Criswell 38458953d0 Removed the -mode option.
Fixed some grammar, spelling, and punctuation.

llvm-svn: 9178
2003-10-16 20:15:17 +00:00
Chris Lattner 6187774380 Minor cleanups
llvm-svn: 9177
2003-10-16 20:12:13 +00:00
John Criswell e9f3af6ace Added documentation on the new -disable-inlining option.
llvm-svn: 9176
2003-10-16 20:05:48 +00:00
John Criswell d66d6c8a80 I am not the only John Criswell.
:)

llvm-svn: 9175
2003-10-16 20:01:04 +00:00
Chris Lattner ccbe1e53e4 Give credit where credit is due
llvm-svn: 9174
2003-10-16 19:58:17 +00:00
John Criswell 5bd28dc666 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
2003-10-16 19:53:53 +00:00
Chris Lattner 4aae1f45b7 Make llvm-nm work in "pipe mode"
llvm-svn: 9172
2003-10-16 18:45:23 +00:00
Chris Lattner 068ad84038 Add support for 'weak' linkage.
llvm-svn: 9171
2003-10-16 18:29:00 +00:00
Chris Lattner 2d05c60bac 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
2003-10-16 18:28:50 +00:00
Chris Lattner 06bd29b53b Geeze, what is with Brian and these ifdef's?
llvm-svn: 9169
2003-10-16 18:27:24 +00:00
Chris Lattner 3c38eac99b Add weak linking type
llvm-svn: 9168
2003-10-16 18:27:04 +00:00
Misha Brukman 488ccea25e Automagically update website docs on commits.
llvm-svn: 9167
2003-10-16 18:14:43 +00:00
Misha Brukman bd6774da96 Update the website automatically on documentation commit [in progress].
llvm-svn: 9166
2003-10-16 18:13:19 +00:00
Misha Brukman 0364cd1cff This should automatically update on the webpage.
llvm-svn: 9165
2003-10-16 18:10:45 +00:00
Brian Gaeke df74a682b7 yikes, a copy-and-paste-o
llvm-svn: 9164
2003-10-16 18:05:09 +00:00
Brian Gaeke be7d479311 add llvm-nm entry.
llvm-svn: 9163
2003-10-16 18:04:40 +00:00
Brian Gaeke 74842db869 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
2003-10-16 18:03:24 +00:00
Chris Lattner f4aa7404db Welcome llvm-nm to the family
llvm-svn: 9161
2003-10-16 17:46:21 +00:00
Chris Lattner 079edeb919 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
2003-10-16 16:53:07 +00:00
Chris Lattner 830e5a01eb 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
2003-10-16 16:53:04 +00:00
Chris Lattner 3f8b7c24f6 Unfortunately, it looks like level raise is still needed :(
llvm-svn: 9158
2003-10-16 16:50:34 +00:00
Chris Lattner 50b6858e2e This code does not require random access use_lists
llvm-svn: 9156
2003-10-16 16:49:12 +00:00
Chris Lattner 5dbb244edb Eliminate using declaration
Rewrite code to work with use_lists what are either random access or bidirectional

llvm-svn: 9155
2003-10-16 16:48:53 +00:00
Misha Brukman 8b6823883f Added an entry for `llvm-nm'.
llvm-svn: 9154
2003-10-16 16:12:04 +00:00