diff options
| author | Eugene Zelenko <eugene.zelenko@gmail.com> | 2016-11-18 21:57:58 +0000 |
|---|---|---|
| committer | Eugene Zelenko <eugene.zelenko@gmail.com> | 2016-11-18 21:57:58 +0000 |
| commit | ae7ac95cc9fd34ce55b404050e523abe1a943260 (patch) | |
| tree | 40c557e513ab5e7baabaeebe539190faa59620a7 /llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp | |
| parent | 09c311b9a46c72ffea99026755db046cc2b0364f (diff) | |
| download | bcm5719-llvm-ae7ac95cc9fd34ce55b404050e523abe1a943260.tar.gz bcm5719-llvm-ae7ac95cc9fd34ce55b404050e523abe1a943260.zip | |
[Examples] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes.
Differential revision: https://reviews.llvm.org/D26433
llvm-svn: 287384
Diffstat (limited to 'llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp')
| -rw-r--r-- | llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp index ddce0dc35b2..07981a8f79b 100644 --- a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp +++ b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp @@ -7,16 +7,15 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/LLVMContext.h" -#include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/Module.h" #include "llvm/IR/Type.h" #include "llvm/IR/Verifier.h" #include "llvm/Support/Error.h" +#include "llvm/Support/ErrorHandling.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Target/TargetMachine.h" -#include "llvm/Transforms/Scalar.h" -#include "llvm/Transforms/Scalar/GVN.h" #include "KaleidoscopeJIT.h" +#include <algorithm> #include <cassert> #include <cctype> #include <cstdint> @@ -140,7 +139,8 @@ static int gettok() { /// ExprAST - Base class for all expression nodes. class ExprAST { public: - virtual ~ExprAST() {} + virtual ~ExprAST() = default; + virtual Value *codegen() = 0; }; @@ -150,6 +150,7 @@ class NumberExprAST : public ExprAST { public: NumberExprAST(double Val) : Val(Val) {} + Value *codegen() override; }; @@ -159,8 +160,9 @@ class VariableExprAST : public ExprAST { public: VariableExprAST(const std::string &Name) : Name(Name) {} - const std::string &getName() const { return Name; } + Value *codegen() override; + const std::string &getName() const { return Name; } }; /// UnaryExprAST - Expression class for a unary operator. @@ -171,6 +173,7 @@ class UnaryExprAST : public ExprAST { public: UnaryExprAST(char Opcode, std::unique_ptr<ExprAST> Operand) : Opcode(Opcode), Operand(std::move(Operand)) {} + Value *codegen() override; }; @@ -183,6 +186,7 @@ public: BinaryExprAST(char Op, std::unique_ptr<ExprAST> LHS, std::unique_ptr<ExprAST> RHS) : Op(Op), LHS(std::move(LHS)), RHS(std::move(RHS)) {} + Value *codegen() override; }; @@ -195,6 +199,7 @@ public: CallExprAST(const std::string &Callee, std::vector<std::unique_ptr<ExprAST>> Args) : Callee(Callee), Args(std::move(Args)) {} + Value *codegen() override; }; @@ -206,6 +211,7 @@ public: IfExprAST(std::unique_ptr<ExprAST> Cond, std::unique_ptr<ExprAST> Then, std::unique_ptr<ExprAST> Else) : Cond(std::move(Cond)), Then(std::move(Then)), Else(std::move(Else)) {} + Value *codegen() override; }; @@ -220,6 +226,7 @@ public: std::unique_ptr<ExprAST> Body) : VarName(VarName), Start(std::move(Start)), End(std::move(End)), Step(std::move(Step)), Body(std::move(Body)) {} + Value *codegen() override; }; @@ -233,6 +240,7 @@ public: std::vector<std::pair<std::string, std::unique_ptr<ExprAST>>> VarNames, std::unique_ptr<ExprAST> Body) : VarNames(std::move(VarNames)), Body(std::move(Body)) {} + Value *codegen() override; }; @@ -250,6 +258,7 @@ public: bool IsOperator = false, unsigned Prec = 0) : Name(Name), Args(std::move(Args)), IsOperator(IsOperator), Precedence(Prec) {} + Function *codegen(); const std::string &getName() const { return Name; } |

