Matches a jump table (target_0, target_1, ...)#index where index is a non-Literal Idx n and n the arity. More...
#include <mim/tuple.h>
Public Member Functions | |
| Switch (const Def *) | |
| operator bool () const noexcept | |
| const Extract * | extract () const |
| const Def * | tuple () const |
| const Def * | index () const |
| size_t | num_targets () const |
| const Def * | target (size_t i) const |
Protected Attributes | |
| const Extract * | extract_ = nullptr |
Matches a jump table (target_0, target_1, ...)#index where index is a non-Literal Idx n and n the arity.
| mim::Switch::Switch | ( | const Def * | def | ) |
Definition at line 84 of file tuple.cpp.
References mim::Def::arity(), extract(), extract_, mim::Extract::index(), mim::Lit::isa(), mim::Idx::isa_lit(), mim::Extract::tuple(), and mim::Def::type().
Referenced by mim::Dispatch::Dispatch(), mim::plug::clos::phase::ClosConvPrep::rewrite_imm_App(), and mim::Select::Select().
|
inline |
Definition at line 414 of file tuple.h.
References extract_.
Referenced by mim::Branch::Branch(), mim::Dispatch::Dispatch(), index(), Switch(), and tuple().
|
inline |
Definition at line 416 of file tuple.h.
References extract(), and mim::Extract::index().
Referenced by mim::Select::cond().
|
inline |
Definition at line 418 of file tuple.h.
References mim::Lit::as(), and tuple().
Referenced by mim::Select::Select(), and target().
|
inlineexplicitnoexcept |
|
inline |
Definition at line 419 of file tuple.h.
References num_targets(), mim::Def::proj(), and tuple().
Referenced by mim::Select::ff(), and mim::Select::tt().
|
inline |
Definition at line 415 of file tuple.h.
References extract(), and mim::Extract::tuple().
Referenced by num_targets(), mim::Select::pair(), and target().
|
protected |
Definition at line 422 of file tuple.h.
Referenced by extract(), operator bool(), mim::Select::Select(), and Switch().