Dan Gohman
b880939834
lli doesn't need <iostream> anymore.
...
llvm-svn: 78133
2009-08-05 00:28:59 +00:00
Reid Kleckner
4b3a356493
Re-committing r76828 with the JIT memory manager changes now that the build
...
bots like the BumpPtrAllocator changes.
llvm-svn: 76902
2009-07-23 21:46:56 +00:00
Reid Kleckner
921673225c
Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.
...
llvm-svn: 76838
2009-07-23 01:40:54 +00:00
Reid Kleckner
1a722d9b73
Make the JIT code emitter properly retry and ask for more memory when it runs
...
out of memory, and also make the default memory manager allocate more memory
when it runs out.
Also, switch function stubs and global data over to using the BumpPtrAllocator.
This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB
of memory, and instead allocates in 512K slabs. I suspect this size could go
lower, especially on embedded platforms, now that more slabs can be allocated.
llvm-svn: 76828
2009-07-23 00:49:59 +00:00
Daniel Dunbar
a78d809abc
Switch lli back to using allocate-gvs-with-code behavior.
...
- Otherwise we get two regressions in llvm-test for applications which run out
of space.
- Once the JIT memory manager is improved, this can be switched back.
llvm-svn: 76291
2009-07-18 08:07:13 +00:00
Reid Kleckner
fc8a2d5a83
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
...
Also a test commit.
llvm-svn: 76276
2009-07-18 00:42:18 +00:00
Daniel Dunbar
3d92d936b9
Make sure targets are initialized before we do anything, even command line
...
processing.
llvm-svn: 75888
2009-07-16 02:04:54 +00:00
Owen Anderson
19251ec836
To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now.
...
This will let us to hardwire stuff to the global context in the short term while the API is sorted out.
llvm-svn: 75846
2009-07-15 22:16:10 +00:00
Dan Gohman
d8db376071
Use errs() instead of std::cerr.
...
llvm-svn: 75791
2009-07-15 16:35:29 +00:00
Jeffrey Yasskin
bf3d6ba557
Add a --with-oprofile flag to configure, which uses OProfile's agent
...
library to tell it the addresses of JITted functions. For a
particular program, this changes the opreport -l output from:
samples % image name symbol name
48182 98.9729 anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000) anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000)
11 0.0226 libstdc++.so.6.0.9 /usr/lib/libstdc++.so.6.0.9
to:
samples % image name symbol name
24565 60.7308 19814.jo fib_left
15365 37.9861 19814.jo fib_right
22 0.0544 ld-2.7.so do_lookup_x
llvm-svn: 75279
2009-07-10 21:08:20 +00:00
Chris Lattner
f840ed7ed4
Fix lli to print an error and exit when EE returns null but no string. Patch
...
by Eric Rannaud!
llvm-svn: 74930
2009-07-07 18:31:09 +00:00
Torok Edwin
f011f28767
Fix typo: intepreter->interpreter.
...
llvm-svn: 74770
2009-07-03 12:11:32 +00:00
Owen Anderson
1cf085d558
Hold the LLVMContext by reference rather than by pointer.
...
llvm-svn: 74640
2009-07-01 21:22:36 +00:00
Owen Anderson
6773d388aa
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
...
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614
2009-07-01 16:58:40 +00:00
Jeffrey Yasskin
0b08f3d7cc
Add a JITEventListener interface that gets called back when a new function is
...
emitted or the machine code for a function is freed. Chris mentioned that we
may also want a notification when a stub is emitted, but that'll be a future
change. I intend to use this to tell oprofile where functions are emitted and
what lines correspond to what addresses.
llvm-svn: 74157
2009-06-25 02:04:04 +00:00
Chris Lattner
5dcc4f6999
switch to using llvm/Target/TargetSelect.h
...
llvm-svn: 73611
2009-06-17 16:42:19 +00:00
Chris Lattner
4ced3324c5
Use Doug's new LLVM_NATIVE_ARCH macro in config.h to link in the native
...
target so that the JIT works in LLI, not just the interpreter.
llvm-svn: 73595
2009-06-17 02:15:40 +00:00
Evan Cheng
09bd0b1bd2
Default llc / lli optimization to "Default", which corresponds to -O1 / -O2.
...
llvm-svn: 70934
2009-05-04 23:05:19 +00:00
Bill Wendling
026e5d7667
Instead of passing in an unsigned value for the optimization level, use an enum,
...
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
2009-04-29 23:29:43 +00:00
Chris Lattner
e3fc2d13be
Change various llvm utilities to use PrettyStackTraceProgram in
...
their main routines. This makes the tools print their argc/argv
commands if they crash.
llvm-svn: 66248
2009-03-06 05:34:10 +00:00
Evan Cheng
6158254d1d
Add command line option -entry-funcion to override entry function (default is main).
...
llvm-svn: 58779
2008-11-05 23:21:52 +00:00
Evan Cheng
06d988eaa3
Add -fast command line option to lli. It enables fast codegen path.
...
llvm-svn: 54524
2008-08-08 08:12:06 +00:00
Evan Cheng
16f036cbe8
Rename -no-lazy to -disable-lazy-compilation.
...
llvm-svn: 51386
2008-05-21 18:20:21 +00:00
Evan Cheng
0422bef7ed
Added command line option -no-lazy to disable JIT lazy compilation.
...
llvm-svn: 50095
2008-04-22 06:51:41 +00:00
Chris Lattner
345353d6b4
remove attributions from tools.
...
llvm-svn: 45421
2007-12-29 20:44:31 +00:00
Dan Gohman
2c6a821fd7
Move the space in overview output for commands out of each of the
...
commands and into the common code.
llvm-svn: 42752
2007-10-08 15:45:12 +00:00
Gabor Greif
e16561cd5d
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
Chris Lattner
9e9a34c6bf
use the new MemoryBuffer interfaces to simplify error reporting in clients.
...
llvm-svn: 36900
2007-05-06 23:45:49 +00:00
Chris Lattner
f5599efb00
switch tools to bitcode from bytecode
...
llvm-svn: 36872
2007-05-06 09:32:02 +00:00
Chris Lattner
2785bdbefd
add bitcode reading support, remove eh stuff
...
llvm-svn: 36840
2007-05-06 04:58:26 +00:00
Chris Lattner
4c522b9434
reset errno to zero on entry to the application's main function. This fixes
...
MultiSource/Applications/minisat in the JIT.
Note that the libsystem stuff should ideally never modify errno. :(
llvm-svn: 36508
2007-04-27 17:02:33 +00:00
Reid Spencer
fe5550b2cf
Obtain the exit function before execution just in case the module
...
disappears before we get to calling the exit function.
llvm-svn: 34953
2007-03-06 03:12:55 +00:00
Reid Spencer
e586f2e7f7
1. Handle errors around the ModuleProvider. This is necessary since it is
...
reading bytecode.
2. The interpreter can delete the ModuleProvider and replace it with
another so don't depend on it being around after the EE is created.
3. Don't just run llvm_shutdown on exit but actually delete the EE as well.
This cleans up a vast amount of memory (but not all) that EE retained
through exit.
llvm-svn: 34888
2007-03-03 18:21:44 +00:00
Chris Lattner
a0e49f2ead
push bytecode decompressor out through APIs. Now the bytecode reader
...
api's look like this:
ModuleProvider *getBytecodeModuleProvider(
const std::string &Filename, ///< Name of file to be read
BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
std::string* ErrMsg = 0, ///< Optional error message holder
BytecodeHandler* H = 0 ///< Optional handler for reader events
);
This is ugly, but allows a client to say:
getBytecodeModuleProvider("foo", 0);
If they do this, there is no dependency on the compression libraries, saving
codesize.
llvm-svn: 34012
2007-02-07 21:41:02 +00:00
Reid Spencer
1241d6d5ab
For PR411:
...
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)
llvm-svn: 33922
2007-02-05 21:19:13 +00:00
Chris Lattner
e05182cd1e
fix atexit. This is an overcomplex way of calling exit, but it is required,
...
as the jit intercepts exit calls to implement atexit handlers. This
fixes SingleSource/UnitTests/2003-05-14-AtExit
llvm-svn: 33008
2007-01-08 07:36:34 +00:00
Chris Lattner
bc3ffdda4c
this is an overcomplex way to call exit :)
...
llvm-svn: 32978
2007-01-07 06:43:08 +00:00
Reid Spencer
eb14edc646
For PR950:
...
Convert signed integer types to signless.
llvm-svn: 32790
2006-12-31 06:02:26 +00:00
Chris Lattner
6161452b67
make statistics and timing info print even if the JIT'd program calls exit
...
instead of returning from main.
llvm-svn: 32414
2006-12-10 19:01:52 +00:00
Chris Lattner
76d4632d92
make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
...
With this change, I can now move -stats to print when llvm_shutdown is called.
llvm-svn: 32250
2006-12-06 01:18:01 +00:00
Chris Lattner
3f0ffd31cf
add a new (hidden) -disable-core-files option
...
llvm-svn: 30318
2006-09-14 06:17:09 +00:00
Reid Spencer
f25aebf8cf
For PR797:
...
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.
llvm-svn: 29875
2006-08-25 17:43:11 +00:00
Chris Lattner
5af6a3ffdb
Fix the build on case-sensitive filesystems :(
...
llvm-svn: 29457
2006-08-01 22:34:35 +00:00
Jim Laskey
95eda5b1f3
Introducing plugable register allocators and instruction schedulers.
...
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Jeff Cohen
0eafbc3593
Get JIT/Interpreter working on Windows again.
...
llvm-svn: 27037
2006-03-24 02:53:49 +00:00
Chris Lattner
d0eb1d12d2
Fit to 80 columns.
...
Add support for running static ctor/dtors that aren't handled by __main.
This fixes programs with the JIT and the new CFE, such as HBD.
llvm-svn: 26620
2006-03-08 18:43:36 +00:00
Chris Lattner
78e9e10b53
rename option
...
llvm-svn: 24732
2005-12-16 05:19:18 +00:00
Chris Lattner
76766cb880
provide an option to override the target triple in a module from the commandline.
...
llvm-svn: 24730
2005-12-16 05:00:21 +00:00
Chris Lattner
352630141c
Revert my previous patch which broke due to lazy streaming of functions
...
from .bc files.
llvm-svn: 24575
2005-12-02 19:00:22 +00:00
Chris Lattner
ef2d8ca0b6
If a module has a main, but it is defined externally, refuse to run it.
...
Attempting to run it will find lli's main, which isn't the desired effect.
llvm-svn: 24569
2005-12-01 22:48:23 +00:00