![]() |
chigraph
master
Systems programming language written for beginners in LLVM
|
Defines the Context class and related functions. More...
#include <memory>
#include <unordered_map>
#include "chi/Fwd.hpp"
#include "chi/ModuleCache.hpp"
#include "chi/Support/Flags.hpp"
#include "chi/Support/json.hpp"
#include <llvm/IR/LLVMContext.h>
#include <llvm/Support/CodeGen.h>
#include <boost/filesystem/path.hpp>
#include <boost/utility/string_view.hpp>
Go to the source code of this file.
Classes | |
struct | chi::Context |
The class that handles the loading, creation, storing, and compilation of modules It also stores a LLVMContext object to be used everywhere. More... | |
Namespaces | |
chi | |
The namespace where chigraph lives. | |
Enumerations | |
enum | chi::CompileSettings { chi::CompileSettings::UseCache = 1u, chi::CompileSettings::LinkDependencies = 1u << 1, chi::CompileSettings::Default = UseCache | LinkDependencies } |
Settings for compiling modules. More... | |
Functions | |
Result | chi::interpretLLVMIR (std::unique_ptr< llvm::Module > mod, llvm::CodeGenOpt::Level optLevel=llvm::CodeGenOpt::Default, const std::vector< llvm::GenericValue > &args={}, llvm::Function *funcToRun=nullptr, llvm::GenericValue *ret=nullptr) |
Interpret LLVM IR, just a convenience function. More... | |
Result | chi::interpretLLVMIRAsMain (std::unique_ptr< llvm::Module > mod, llvm::CodeGenOpt::Level optLevel=llvm::CodeGenOpt::Default, const std::vector< std::string > &args={}, llvm::Function *funcToRun=nullptr, int *ret=nullptr) |
Interpret LLVM IR as if it were the main function. More... | |
std::string | chi::stringifyLLVMType (llvm::Type *ty) |
Turns a type into a string. More... | |
boost::filesystem::path | chi::workspaceFromChildPath (const boost::filesystem::path &path) |
Get the workspace directory from a child of the workspace directory Example: say you have a workspace at ~/chi/ If you used this with ~/chi/src/ it would return ~/chi/. More... | |
Defines the Context class and related functions.
Definition in file Context.hpp.