Goose  Artifact [76828f9b46]

Artifact 76828f9b46dc1765a10069f69f9bc59e32e7118e4945bb7ca0b13ca174e46688:

  • File bs/codegen/codegen.h — part of check-in [dd5c48041c] at 2022-05-26 11:31:44 on branch cir-stack-language — Re-enabled codegen and related tests, and adapted it to the now stack-based CIR language (user: zlodo size: 604)

#ifndef GOOSE_CODEGEN_H
#define GOOSE_CODEGEN_H

#include "llvm/IR/Module.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Target/TargetMachine.h"

#include "cir/cir.h"
#include "sema/sema.h"

namespace goose::builtins
{
    class Func;
    class FuncType;
    struct PointerType;
}

namespace goose::codegen
{
    using namespace eir;
    using namespace cir;
    using namespace sema;

    extern llvm::LLVMContext& GetLLVMContext();
    extern optional< string > Mangle( const Term& identity );
}

#include "stack.h"
#include "module.h"

#endif