| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
llc.cpp also defined these flags, meaning that when I linked all of LLVM's
libraries into a single shared library, llc crashed on startup with duplicate
flag definitions. This patch passes them through the EngineBuilder into
JIT::selectTarget().
llvm-svn: 95390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.
Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.
Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.
llvm-svn: 94686
|
|
|
|
|
|
| |
against both 2.6 and HEAD. The default is still changed to eager jitting.
llvm-svn: 85330
|
|
|
|
|
|
|
| |
http://llvm.org/PR5184, and beef up the comments to describe what both options
do and the risks of lazy compilation in the presence of threads.
llvm-svn: 85295
|
|
|
|
|
|
| |
default and didn't work anyway.
llvm-svn: 84720
|
|
|
|
|
|
| |
not want post-regalloc scheduling.
llvm-svn: 84272
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
| |
llvm-svn: 78133
|
|
|
|
|
|
| |
bots like the BumpPtrAllocator changes.
llvm-svn: 76902
|
|
|
|
|
|
| |
build failure involving memset.
llvm-svn: 76838
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
EE::create().
Also a test commit.
llvm-svn: 76276
|
|
|
|
|
|
| |
processing.
llvm-svn: 75888
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75791
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
by Eric Rannaud!
llvm-svn: 74930
|
|
|
|
| |
llvm-svn: 74770
|
|
|
|
| |
llvm-svn: 74640
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 73611
|
|
|
|
|
|
| |
target so that the JIT works in LLI, not just the interpreter.
llvm-svn: 73595
|
|
|
|
| |
llvm-svn: 70934
|
|
|
|
|
|
|
| |
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
|
|
|
|
|
|
|
| |
their main routines. This makes the tools print their argc/argv
commands if they crash.
llvm-svn: 66248
|
|
|
|
|
|
| |
is main).
llvm-svn: 58779
|
|
|
|
| |
llvm-svn: 54524
|
|
|
|
| |
llvm-svn: 51386
|
|
|
|
| |
llvm-svn: 50095
|
|
|
|
| |
llvm-svn: 45421
|
|
|
|
|
|
| |
commands and into the common code.
llvm-svn: 42752
|
|
|
|
|
|
| |
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
|
|
|
|
| |
llvm-svn: 36900
|
|
|
|
| |
llvm-svn: 36872
|
|
|
|
| |
llvm-svn: 36840
|
|
|
|
|
|
|
|
| |
MultiSource/Applications/minisat in the JIT.
Note that the libsystem stuff should ideally never modify errno. :(
llvm-svn: 36508
|
|
|
|
|
|
| |
disappears before we get to calling the exit function.
llvm-svn: 34953
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)
llvm-svn: 33922
|
|
|
|
|
|
|
| |
as the jit intercepts exit calls to implement atexit handlers. This
fixes SingleSource/UnitTests/2003-05-14-AtExit
llvm-svn: 33008
|
|
|
|
| |
llvm-svn: 32978
|
|
|
|
|
|
| |
Convert signed integer types to signless.
llvm-svn: 32790
|
|
|
|
|
|
| |
instead of returning from main.
llvm-svn: 32414
|
|
|
|
|
|
| |
With this change, I can now move -stats to print when llvm_shutdown is called.
llvm-svn: 32250
|
|
|
|
| |
llvm-svn: 30318
|
|
|
|
|
|
|
| |
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.
llvm-svn: 29875
|