5 #include "llvm/IR/Module.h"
7 static const char *
const LLVM_ASM_EXT =
".ll";
8 static const char *
const LLVM_BC_EXT =
".bc";
27 static std::shared_ptr<llvm::Module>
29 std::string fileName);
36 static void emit(llvm::Module *m, std::string filename =
"");
44 std::string filename =
"");
Class for a program which is a name and a list of functions.
Definition: ASTProgram.h:11
Routines to optimize generated code.
Definition: CodeGenerator.h:16
static void emitHumanReadableAssembly(llvm::Module *m, std::string filename="")
Emit LLVM human-readable assembly to a file.
Definition: CodeGenerator.cpp:52
static void emit(llvm::Module *m, std::string filename="")
Emit LLVM IR to a file.
Definition: CodeGenerator.cpp:16
static std::shared_ptr< llvm::Module > generate(ASTProgram *program, SemanticAnalysis *analysisResults, std::string fileName)
Generate LLVM IR for ast.
Definition: CodeGenerator.cpp:11
Stores the results of semantic analysis passes.
Definition: SemanticAnalysis.h:18