MimIR 0.1
MimIR is my Intermediate Representation
|
Go to the source code of this file.
Namespaces | |
namespace | mim |
Functions | |
Helpers to work with Tulpes/Sigmas/Arrays/Packs | |
bool | mim::is_unit (Ref) |
std::string | mim::tuple2str (Ref) |
size_t | mim::flatten (DefVec &ops, Ref def, bool flatten_sigmas=true) |
Same as unflatten, but uses the operands of a flattened Pack / Tuple directly. | |
Ref | mim::flatten (Ref def) |
Flattens a sigma/array/pack/tuple. | |
Ref | mim::unflatten (Defs ops, Ref type, bool flatten_muts=true) |
Same as unflatten, but uses the operands of a flattened Pack / Tuple directly. | |
Ref | mim::unflatten (Ref def, Ref type) |
Applies the reverse transformation on a Pack / Tuple, given the original type. | |
DefVec | mim::merge (Ref def, Defs defs) |
DefVec | mim::merge (Defs, Defs) |
Ref | mim::merge_sigma (Ref def, Defs defs) |
Ref | mim::merge_tuple (Ref def, Defs defs) |
Ref | mim::tuple_of_types (Ref t) |