aboutsummaryrefslogtreecommitdiffstats
path: root/examples/Kaleidoscope/Chapter4
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Kaleidoscope/Chapter4')
-rw-r--r--examples/Kaleidoscope/Chapter4/CMakeLists.txt11
-rw-r--r--examples/Kaleidoscope/Chapter4/toy.cpp5
2 files changed, 13 insertions, 3 deletions
diff --git a/examples/Kaleidoscope/Chapter4/CMakeLists.txt b/examples/Kaleidoscope/Chapter4/CMakeLists.txt
index 0d1ac53..72a9f05 100644
--- a/examples/Kaleidoscope/Chapter4/CMakeLists.txt
+++ b/examples/Kaleidoscope/Chapter4/CMakeLists.txt
@@ -1,4 +1,13 @@
-set(LLVM_LINK_COMPONENTS core jit interpreter native)
+set(LLVM_LINK_COMPONENTS
+ Analysis
+ Core
+ ExecutionEngine
+ InstCombine
+ JIT
+ ScalarOpts
+ Support
+ nativecodegen
+ )
add_llvm_example(Kaleidoscope-Ch4
toy.cpp
diff --git a/examples/Kaleidoscope/Chapter4/toy.cpp b/examples/Kaleidoscope/Chapter4/toy.cpp
index 27c3f4f..a8f5942 100644
--- a/examples/Kaleidoscope/Chapter4/toy.cpp
+++ b/examples/Kaleidoscope/Chapter4/toy.cpp
@@ -1,5 +1,4 @@
#include "llvm/Analysis/Passes.h"
-#include "llvm/Analysis/Verifier.h"
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/JIT.h"
#include "llvm/IR/DataLayout.h"
@@ -7,6 +6,7 @@
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
+#include "llvm/IR/Verifier.h"
#include "llvm/PassManager.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Transforms/Scalar.h"
@@ -586,7 +586,8 @@ int main() {
// Set up the optimizer pipeline. Start with registering info about how the
// target lays out data structures.
- OurFPM.add(new DataLayout(*TheExecutionEngine->getDataLayout()));
+ TheModule->setDataLayout(TheExecutionEngine->getDataLayout());
+ OurFPM.add(new DataLayoutPass(TheModule));
// Provide basic AliasAnalysis support for GVN.
OurFPM.add(createBasicAliasAnalysisPass());
// Do simple "peephole" optimizations and bit-twiddling optzns.