llvmlayer.h
No OneTemporary

File Metadata

Created
Fri, Mar 13, 10:03 PM

llvmlayer.h

#ifndef LLVMLAYER_H
#define LLVMLAYER_H
#include "llvm/IR/Module.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Verifier.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/IR/LLVMContext.h"
#include "utils.h"
//#include "ast.h"
namespace xreate {
class AST;
class LLVMLayer {
public:
LLVMLayer();
AST *ast;
llvm::Module *module;
llvm::IRBuilder<> builder;
struct {
llvm::Function* function = 0;
} context;
void moveToGarbage(void *o);
llvm::Value *compile() const;
private:
std::vector<void *> __garbage;
};
}
#endif // LLVMLAYER_H

Event Timeline