summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Return an error_code from materializeAllPermanently.Rafael Espindola2014-01-141-1/+4
| | | | llvm-svn: 199275
* Move all of the header files which are involved in modelling the LLVM IRChandler Carruth2013-01-021-2/+2
| | | | | | | | | | | | | | | | | | | | | into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
* Move TargetData to DataLayout.Micah Villmow2012-10-081-1/+1
| | | | llvm-svn: 165402
* Kill ModuleProvider and ghost linkage by inverting the relationship betweenJeffrey Yasskin2010-01-271-7/+6
| | | | | | | | | | | | | | | | | | | | | 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
* Add EngineBuilder to ExecutionEngine in favor of the five optional argument ↵Reid Kleckner2009-07-181-3/+1
| | | | | | | | EE::create(). Also a test commit. llvm-svn: 76276
* Add an option to allocate JITed global data separately from code. ByJeffrey Yasskin2009-07-081-2/+2
| | | | | | | | | | | | | | default, this option is not enabled to support clients who rely on this behavior. Fixes http://llvm.org/PR4483 A patch to allocate additional memory for globals after we run out is forthcoming. Patch by Reid Kleckner! llvm-svn: 75059
* Fix the Ocaml bindings for the ExecutionEngine: with the change to buildBob Wilson2009-06-241-4/+1
| | | | | | | | libraries instead of relinked objects, the interpreter, JIT, and native target libraries were not being linked in to an ocaml program using the ExecutionEngine. llvm-svn: 74117
* Instead of passing in an unsigned value for the optimization level, use an enum,Bill Wendling2009-04-291-1/+1
| | | | | | | which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
* The second part of the change from -fast to -O#. This changes the JIT to acceptBill Wendling2009-04-291-1/+1
| | | | | | | an optimization level instead of a simple boolean telling it to generate code "fast" or the other type of "fast". llvm-svn: 70347
* Add new parameter Fast to createJIT to enable the fast codegen path.Evan Cheng2008-08-081-1/+2
| | | | llvm-svn: 54523
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-0/+4
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-0/+1
| | | | | | annoying warnings. llvm-svn: 47367
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* simplify creation of the interpreter, make ExecutionEngine ctor protected,Chris Lattner2007-12-061-12/+4
| | | | | | delete one ExecutionEngine ctor, minor cleanup. llvm-svn: 44646
* For PR1486:Reid Spencer2007-06-011-1/+1
| | | | | | | Avoid overwriting the APInt instance with 0 bytes which causes the bitwidth to be set to 0 (illegal) producing a subsequent assert. llvm-svn: 37391
* Remove the insufficient code in Interpreter::create that computed theReid Spencer2007-03-061-12/+0
| | | | | | | | Target DataLayout incorrectly. For now, we'll trust that the module has got the correct DataLayout. In the future, this needs to be changed to tell the TargetData to be "current host". llvm-svn: 34947
* Remove unnecessary #include.Reid Spencer2007-03-031-1/+0
| | | | llvm-svn: 34889
* Deal with error handling better.Reid Spencer2007-03-031-7/+15
| | | | llvm-svn: 34887
* Remove tabs.Reid Spencer2007-01-291-2/+2
| | | | llvm-svn: 33620
* Implement use of new IntrinsicLowering interface.Reid Spencer2007-01-291-1/+1
| | | | llvm-svn: 33619
* For PR761:Reid Spencer2007-01-261-12/+11
| | | | | | | The Module::setEndianness and Module::setPointerSize methods have been removed. Instead you can get/set the DataLayout. Adjust thise accordingly. llvm-svn: 33530
* Simplify IntrinsicLowering and clarify that it is only for use by theChris Lattner2006-11-151-1/+1
| | | | | | CBE and interpreter. llvm-svn: 31755
* Simplify TargetData ctor callChris Lattner2006-06-161-1/+1
| | | | llvm-svn: 28832
* Simplify interpreter construction.Chris Lattner2006-06-161-20/+10
| | | | llvm-svn: 28826
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-1/+1
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Get JIT/Interpreter working on Windows again.Jeff Cohen2006-03-241-0/+5
| | | | llvm-svn: 27037
* remove the intrinsiclowering hookChris Lattner2006-03-231-7/+5
| | | | llvm-svn: 26970
* Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.Chris Lattner2006-03-221-1/+14
| | | | | | Now you can build a tool with just the JIT or just the interpreter. llvm-svn: 26946
* The interpreter assumes that the caller of runFunction() must be lli, andJeff Cohen2006-02-071-4/+3
| | | | | | | | therefore the function being called must be a main() returning an int. The consequences when these assumptions are false are not good, so don't assume them. llvm-svn: 26031
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* Convert tabs to spacesMisha Brukman2005-04-221-2/+3
| | | | llvm-svn: 21440
* * Remove trailing whitespaceMisha Brukman2005-04-211-5/+5
| | | | | | * Convert tabs to spaces llvm-svn: 21421
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14266
* Start using the new and improve interface to FunctionType argumentsChris Lattner2004-02-091-2/+2
| | | | llvm-svn: 11224
* Pass around IntrinsicLowering instances as appropriate.Chris Lattner2003-12-281-6/+14
| | | | | | Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
* No longer run atExit functions from run()Chris Lattner2003-12-261-4/+1
| | | | | | rename run to runFunction llvm-svn: 10609
* Finegrainify namespacificationChris Lattner2003-12-141-3/+1
| | | | llvm-svn: 10465
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Be friendly to gcc 3.4... good compiler. Nice compiler.Chris Lattner2003-11-051-1/+0
| | | | llvm-svn: 9726
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-13/+7
| | | | | | CurFrame, TraceMode, and the CachedWriter are history. llvm-svn: 9492
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Squelch warningChris Lattner2003-09-221-2/+2
| | | | llvm-svn: 8659
* Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke2003-09-051-56/+33
| | | | | | | | | | | | | | | 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". llvm-svn: 8366
* Remove support for interactive (step finish next) instructions.Brian Gaeke2003-09-051-0/+44
| | | | | | | | | Remove printCurrentInstruction, printStackFrame and infoValue (only used interactively) and other unused methods of Interpreter. Fold UserInput.cpp containing only callMainFunction() into Interpreter.cpp. Remove unused Profile flag. llvm-svn: 8359
* Interpreter cleanups:Brian Gaeke2003-09-041-12/+6
| | | | | | | | | | | | Get rid of support for DebugMode (make it always off). Mung some comments. Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff which have been disabled forever. Get rid of -abort-on-exception (make it always on). Get rid of user interaction stuff (debug mode innards). Simplify Interpreter's callMainFunction(). llvm-svn: 8344
* ExecutionEngine.cpp: Move execution engine creation stuff into a newBrian Gaeke2003-09-031-4/+2
| | | | | | | | | | | | | | | | | | static method here. Remove some extra blank lines. ExecutionEngine.h: Add its prototype. lli.cpp: Call it. Make creation method for each type of EE into a static method of its own subclass. Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter --> Interpreter::create Interpreter/Interpreter.h: Likewise. JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create JIT/VM.h: Likewise. llvm-svn: 8343
* Targets now configure themselves based on the source module, not on theChris Lattner2003-08-241-9/+26
| | | | | | ad-hoc "Config" flags llvm-svn: 8134
* The JIT now passes the environment pointer to the main() function when itJohn Criswell2003-08-211-1/+2
| | | | | | | starts a program. This allows the GNU env program to compile and JIT under LLVM. llvm-svn: 8022
* Add support for atexit function, remove support for __main functionChris Lattner2003-05-141-4/+15
| | | | llvm-svn: 6194
* Make sure that globals are emitted AFTER the passmanager is set up for the JIT,Chris Lattner2003-05-121-0/+1
| | | | | | because the globals may refer to functions that need to be compiled! llvm-svn: 6105
OpenPOWER on IntegriCloud