aboutsummaryrefslogtreecommitdiff
path: root/tools/lli/lli.cpp
AgeCommit message (Collapse)Author
2007-10-08Move the space in overview output for commands out of each of theDan Gohman
commands and into the common code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05Here is the bulk of the sanitizing.Gabor Greif
Almost all occurrences of "bytecode" in the sources have been eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06use the new MemoryBuffer interfaces to simplify error reporting in clients.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36900 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06switch tools to bitcode from bytecodeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36872 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06add bitcode reading support, remove eh stuffChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36840 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-27reset errno to zero on entry to the application's main function. This fixesChris Lattner
MultiSource/Applications/minisat in the JIT. Note that the libsystem stuff should ideally never modify errno. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36508 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-06Obtain the exit function before execution just in case the moduleReid Spencer
disappears before we get to calling the exit function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34953 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-031. Handle errors around the ModuleProvider. This is necessary since it isReid Spencer
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34888 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-07push bytecode decompressor out through APIs. Now the bytecode readerChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34012 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05For PR411:Reid Spencer
Adjust to changes in Module interface: getMainFunction() -> getFunction("main") getNamedFunction(X) -> getFunction(X) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33922 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-08fix atexit. This is an overcomplex way of calling exit, but it is required,Chris Lattner
as the jit intercepts exit calls to implement atexit handlers. This fixes SingleSource/UnitTests/2003-05-14-AtExit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33008 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-07this is an overcomplex way to call exit :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32978 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31For PR950:Reid Spencer
Convert signed integer types to signless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32790 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10make statistics and timing info print even if the JIT'd program calls exitChris Lattner
instead of returning from main. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32414 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.Chris Lattner
With this change, I can now move -stats to print when llvm_shutdown is called. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32250 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14add a new (hidden) -disable-core-files optionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30318 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25For PR797:Reid Spencer
Remove exception throwing/handling from lib/Bytecode, and adjust its users to compensate for changes in the interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29875 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01Fix the build on case-sensitive filesystems :(Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29457 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01Introducing plugable register allocators and instruction schedulers.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29434 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24Get JIT/Interpreter working on Windows again.Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27037 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-08Fit to 80 columns.Chris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26620 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16rename optionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24732 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16provide an option to override the target triple in a module from the ↵Chris Lattner
commandline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24730 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-02Revert my previous patch which broke due to lazy streaming of functionsChris Lattner
from .bc files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24575 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01If a module has a main, but it is defined externally, refuse to run it.Chris Lattner
Attempting to run it will find lli's main, which isn't the desired effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24569 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23When a function takes a variable number of pointer arguments, with a zeroJeff Cohen
pointer marking the end of the list, the zero *must* be cast to the pointer type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will not extend the zero to 64 bits, thus allowing the upper 32 bits to be random junk. The new END_WITH_NULL macro may be used to annotate a such a function so that GCC (version 4 or newer) will detect the use of un-casted zero at compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30For PR351:Reid Spencer
* Place a try/catch block around the entire tool to Make sure std::string exceptions are caught and printed before exiting the tool. * Make sure we catch unhandled exceptions at the top level so that we don't abort with a useless message but indicate than an unhandled exception was generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01Changes For Bug 352Reid Spencer
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29The functions in Signal.h are now in the llvm::sys namespace - adjustReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11Add a -load optionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h does not include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27Header file movedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19Make sure to print a stack trace whenever an error signal is delivered toChris Lattner
the tool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11633 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-28Pass extra arguments around n stuphChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-26Factor out code to ExecutionEngineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10614 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-26Simplify codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10613 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-26* eliminate the -f argument to lli, as it was silly and never useful anywayChris Lattner
* Inline callMain function * Remove hack from the ExecutionEngines where the 'run' method would automatically run atExit functions. Fixing this requires explicitly calling exit if main returns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10611 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-26update commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10607 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-12Add an assertion to make sure we are at least getting argv[0] right.Brian Gaeke
Use a clearer error message when we fail to load a program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10414 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28Add the ability for users to specify a specific argv[0] to pass into theChris Lattner
program git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9565 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24TraceMode, as you may have heard, is history.Brian Gaeke
ExecutionEngine::create no longer takes a TraceMode argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Removed extraneous comment line.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added copyright header to all C++ source files.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14Enabling incremental bytecode loading in the JIT:Misha Brukman
* Use the incremental bytecode reader interface to speed up execution git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9127 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-25To be consistent with the rest of LLVM codebase (and the rest of this file):Misha Brukman
* Changed tabs to spaces * Removed a space between a function call and its arguments (...) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8712 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Reorder #includes to follow LLVM conventionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8375 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Interpreter, JIT moved to lib/ExecutionEngine (includes -> llvm/ExecutionEngine)Brian Gaeke
Build lli using executionengine library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8372 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke
Switch Interpreter and JIT's "run" methods to take a Function and a vector of GenericValues. Move (almost all of) the stuff that constructs a canonical call to main() into lli (new methods "callAsMain", "makeStringVector"). Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(), isStopped(), and many dead decls from interpreter. Add linux strdup() support to interpreter. Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look more alike, in preparation for refactoring. atexit() is spelled "atexit", not "at_exit". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366 91177308-0d34-0410-b5e6-96231b3b80d8