MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
core.h File Reference
#include <mim/axm.h>
#include <mim/world.h>
#include "mim/plug/core/autogen.h"
Include dependency graph for core.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mim
namespace  mim::plug
namespace  mim::plug::core
 The core Plugin

Functions

core.trait
const Def * mim::plug::core::op (trait o, const Def *type)
core.pe
const Def * mim::plug::core::op (pe o, const Def *def)
core.bit2
constexpr std::array< std::array< u64, 2 >, 2 > mim::plug::core::make_truth_table (bit2 id)
is_commutative/is_associative
constexpr bool mim::is_commutative (plug::core::nat id)
constexpr bool mim::is_commutative (plug::core::ncmp id)
constexpr bool mim::is_commutative (plug::core::wrap id)
constexpr bool mim::is_commutative (plug::core::icmp id)
constexpr bool mim::is_commutative (plug::core::bit2 id)
constexpr bool mim::is_associative (plug::core::bit2 id)
constexpr bool mim::is_associative (plug::core::nat id)
constexpr bool mim::is_associative (plug::core::ncmp id)
constexpr bool mim::is_associative (plug::core::icmp id)
constexpr bool mim::is_associative (plug::core::wrap id)

Variables

constexpr flags_t mim::plug::core::icmp_mask = 0b00011111

Mode

enum class  mim::plug::core::Mode : nat_t {
  mim::plug::core::none = 0 ,
  mim::plug::core::nsw = 1 << 0 ,
  mim::plug::core::nuw = 1 << 1 ,
  mim::plug::core::nsuw = nsw | nuw
}
using mim::plug::core::VMode = std::variant<Mode, nat_t, const Def*>
 Give Mode as mim::plug::core::Mode, mim::nat_t or const Def*.
const Def * mim::plug::core::mode (World &w, VMode m)
 mim::plug::core::VMode -> const Def*.