MimIR 0.1
MimIR is my Intermediate Representation
|
#include <mim/axiom.h>
#include <mim/lam.h>
#include <mim/world.h>
#include <mim/plug/core/core.h>
#include "mim/plug/mem/autogen.h"
Go to the source code of this file.
Namespaces | |
namespace | mim |
namespace | mim::plug |
namespace | mim::plug::mem |
The mem Plugin | |
Enumerations | |
%mem.Ptr | |
enum class | mim::plug::mem::AddrSpace : nat_t { mim::plug::mem::Generic = 0 , mim::plug::mem::Global = 1 , mim::plug::mem::Texture = 2 , mim::plug::mem::Shared = 3 , mim::plug::mem::Constant = 4 } |
Functions | |
%mem.M | |
Lam * | mim::plug::mem::mut_con (World &w) |
Yields con[mem.M] . | |
Lam * | mim::plug::mem::mut_con (Ref dom) |
Yields con[mem.M, dom] . | |
Ref | mim::plug::mem::mem_def (Ref def) |
Returns the (first) element of type mem::M from the given tuple. | |
Ref | mim::plug::mem::mem_var (Lam *lam) |
Returns the memory argument of a function if it has one. | |
Ref | mim::plug::mem::replace_mem (Ref mem, Ref arg) |
Swaps the memory occurrences in the given def with the given memory. | |
Ref | mim::plug::mem::strip_mem_ty (Ref def) |
Removes recusively all occurences of mem from a type (sigma). | |
Ref | mim::plug::mem::strip_mem (Ref def) |
Recursively removes all occurrences of mem from a tuple. | |
%mem.lea | |
Ref | mim::plug::mem::op_lea (Ref ptr, Ref index) |
Ref | mim::plug::mem::op_lea_unsafe (Ref ptr, Ref i) |
Ref | mim::plug::mem::op_lea_unsafe (Ref ptr, u64 i) |
%mem.remem | |
Ref | mim::plug::mem::op_remem (Ref mem) |
%mem.alloc | |
Ref | mim::plug::mem::op_alloc (Ref type, Ref mem) |
%mem.slot | |
Ref | mim::plug::mem::op_slot (Ref type, Ref mem) |
%mem.malloc | |
Ref | mim::plug::mem::op_malloc (Ref type, Ref mem) |
%mem.mslot | |
Ref | mim::plug::mem::op_mslot (Ref type, Ref mem, Ref id) |