23 using GlobalVarList = std::list<std::unique_ptr<GlobalVar>>;
24 using FunctionList = std::list<std::unique_ptr<Function>>;
56 return globalVars_.empty();
60 return globalVars_.size();
102 return functions_.empty();
106 return functions_.size();
134 GlobalVarList globalVars_;
135 FunctionList functions_;
163 constexpr auto parse(std::format_parse_context &ctx) {
167 template <
typename FormatContext>
169 return std::format_to(ctx.out(),
"{}", M.
format());
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
Definition IndirectIterator.h:16
Definition GlobalVar.h:16
Function & addFunction(const_function_iterator pos, std::unique_ptr< Function > F)
Module & operator=(const Module &)=delete
size_t function_size() const
Definition Module.h:105
function_iterator function_begin()
Definition Module.h:85
IndirectIterator< FunctionList::const_iterator > const_function_iterator
Definition Module.h:31
std::unique_ptr< Function > removeLastFunction()
Definition Module.h:125
IndirectIterator< GlobalVarList::const_iterator, const GlobalVar > const_global_var_iterator
Definition Module.h:28
Module & operator=(Module &&)=default
const_function_iterator function_end() const
Definition Module.h:97
Module(Module &&)=default
IndirectIterator< FunctionList::iterator > function_iterator
Definition Module.h:30
GlobalVar & appendGlobalVar(std::unique_ptr< GlobalVar > G)
Definition Module.h:69
bool function_empty() const
Definition Module.h:101
std::unique_ptr< GlobalVar > removeGlobalVar(const_global_var_iterator pos)
IndirectIterator< GlobalVarList::iterator, GlobalVar > global_var_iterator
Definition Module.h:27
std::unique_ptr< GlobalVar > removeFirstGlobalVar()
Definition Module.h:75
Function & prependFunction(std::unique_ptr< Function > F)
Definition Module.h:111
function_iterator function_end()
Definition Module.h:93
std::unique_ptr< Function > removeFunction(const_function_iterator pos)
bool global_var_empty() const
Definition Module.h:55
std::unique_ptr< GlobalVar > removeLastGlobalVar()
Definition Module.h:79
global_var_iterator global_var_begin()
Definition Module.h:39
GlobalVar & prependGlobalVar(std::unique_ptr< GlobalVar > G)
Definition Module.h:65
const_function_iterator function_begin() const
Definition Module.h:89
Function & appendFunction(std::unique_ptr< Function > F)
Definition Module.h:115
const_global_var_iterator global_var_end() const
Definition Module.h:51
Module(const Module &)=delete
std::string format() const
global_var_iterator global_var_end()
Definition Module.h:47
const_global_var_iterator global_var_begin() const
Definition Module.h:43
GlobalVar & addGlobalVar(const_global_var_iterator pos, std::unique_ptr< GlobalVar > G)
std::unique_ptr< Function > removeFirstFunction()
Definition Module.h:121
size_t global_var_size() const
Definition Module.h:59
Definition BasicBlock.h:22
MINI_LLVM_EXPORT GlobalVar * getGlobalVarByName(Module &M, std::string_view name)
auto globalVars(Module &M)
Definition Module.h:138
MINI_LLVM_EXPORT Function * getFunctionByName(Module &M, std::string_view name)
auto functions(Module &M)
Definition Module.h:146
Definition GraphColoringAllocator.h:13
constexpr const char * name(Diagnostic::Level level)
Definition Diagnostic.h:38