forked from OSchip/llvm-project
Make Kaleidoscope not link against the interpreter, since that didn't
work anyway (Interpreter::getPointerToFunction doesn't return a callable pointer), and improve the error message when an ExecutionEngine can't be created. llvm-svn: 95896
This commit is contained in:
parent
66b4a90ae5
commit
8a30324e51
|
@ -485,7 +485,7 @@ LLVM JIT and optimizer. To build this example, use:
|
|||
<div class="doc_code">
|
||||
<pre>
|
||||
# Compile
|
||||
g++ -g toy.cpp `llvm-config --cppflags --ldflags --libs core jit interpreter native` -O3 -o toy
|
||||
g++ -g toy.cpp `llvm-config --cppflags --ldflags --libs core jit native` -O3 -o toy
|
||||
# Run
|
||||
./toy
|
||||
</pre>
|
||||
|
@ -502,7 +502,6 @@ at runtime.</p>
|
|||
<pre>
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -1075,7 +1074,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -902,7 +902,6 @@ if/then/else and for expressions.. To build this example, use:
|
|||
<pre>
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -1720,7 +1719,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -821,7 +821,6 @@ if/then/else and for expressions.. To build this example, use:
|
|||
<pre>
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -1757,7 +1756,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -1004,7 +1004,6 @@ variables and var/in support. To build this example, use:
|
|||
<pre>
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -2105,7 +2104,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -10,6 +10,6 @@ LEVEL = ../../..
|
|||
TOOLNAME = Kaleidoscope-Ch4
|
||||
EXAMPLE_TOOL = 1
|
||||
|
||||
LINK_COMPONENTS := core jit interpreter native
|
||||
LINK_COMPONENTS := core jit native
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -573,7 +572,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -10,6 +10,6 @@ LEVEL = ../../..
|
|||
TOOLNAME = Kaleidoscope-Ch5
|
||||
EXAMPLE_TOOL = 1
|
||||
|
||||
LINK_COMPONENTS := core jit interpreter native
|
||||
LINK_COMPONENTS := core jit native
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -818,7 +817,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -10,6 +10,6 @@ LEVEL = ../../..
|
|||
TOOLNAME = Kaleidoscope-Ch6
|
||||
EXAMPLE_TOOL = 1
|
||||
|
||||
LINK_COMPONENTS := core jit interpreter native
|
||||
LINK_COMPONENTS := core jit native
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -936,7 +935,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
|
@ -11,6 +11,6 @@ TOOLNAME = Kaleidoscope-Ch7
|
|||
EXAMPLE_TOOL = 1
|
||||
REQUIRES_RTTI := 1
|
||||
|
||||
LINK_COMPONENTS := core jit interpreter native
|
||||
LINK_COMPONENTS := core jit native
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/ExecutionEngine/ExecutionEngine.h"
|
||||
#include "llvm/ExecutionEngine/Interpreter.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/Module.h"
|
||||
|
@ -1100,7 +1099,12 @@ int main() {
|
|||
TheModule = new Module("my cool jit", Context);
|
||||
|
||||
// Create the JIT. This takes ownership of the module.
|
||||
TheExecutionEngine = EngineBuilder(TheModule).create();
|
||||
std::string ErrStr;
|
||||
TheExecutionEngine = EngineBuilder(TheModule).setErrorStr(&ErrStr).create();
|
||||
if (!TheExecutionEngine) {
|
||||
fprintf(stderr, "Could not create ExecutionEngine: %s\n", ErrStr.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
FunctionPassManager OurFPM(TheModule);
|
||||
|
||||
|
|
Loading…
Reference in New Issue