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