diff options
Diffstat (limited to 'include/cps/BooleanHandler.h')
| -rw-r--r-- | include/cps/BooleanHandler.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/cps/BooleanHandler.h b/include/cps/BooleanHandler.h new file mode 100644 index 0000000..67c7778 --- /dev/null +++ b/include/cps/BooleanHandler.h @@ -0,0 +1,24 @@ +#pragma once +#include "llvm/IR/IRBuilder.h" +#include "llvm/IR/LLVMContext.h" +#include "llvm/IR/Module.h" +#include <map> +#include <string> + +namespace cps { + +class BooleanHandler { + llvm::LLVMContext &Context; + llvm::IRBuilder<> &Builder; + llvm::Module &Module; + std::map<std::string, llvm::Value*> &NamedValues; + +public: + BooleanHandler(llvm::LLVMContext &Ctx, llvm::IRBuilder<> &B, llvm::Module &M, std::map<std::string, llvm::Value*> &NV) + : Context(Ctx), Builder(B), Module(M), NamedValues(NV) {} + + void emitDeclare(const std::string &Name); + llvm::Value *createLiteral(bool Val); +}; + +} |
