MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::Select Class Reference

Matches (ff, tt)#cond - where cond is a Bool but not a Literal. More...

#include <mim/tuple.h>

Inheritance diagram for mim::Select:
[legend]

Public Member Functions

 Select (const Def *)
const Def * pair () const
const Def * cond () const
const Def * tt () const
const Def * ff () const
Public Member Functions inherited from mim::Switch
 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

Additional Inherited Members

Protected Attributes inherited from mim::Switch
const Extract * extract_ = nullptr

Detailed Description

Matches (ff, tt)#cond - where cond is a Bool but not a Literal.

Note
If cond is a Literal, either
  • (x, y)#lit would have been folded to x/y anyway, or
  • we have something like this: pair#0_2

Definition at line 429 of file tuple.h.

Constructor & Destructor Documentation

◆ Select()

mim::Select::Select ( const Def * def)

Definition at line 92 of file tuple.cpp.

References mim::Switch::extract_, mim::Switch::num_targets(), and mim::Switch::Switch().

Referenced by mim::Branch::Branch().

Member Function Documentation

◆ cond()

const Def * mim::Select::cond ( ) const
inline

Definition at line 434 of file tuple.h.

References mim::Switch::index().

◆ ff()

const Def * mim::Select::ff ( ) const
inline

Definition at line 436 of file tuple.h.

References mim::Switch::target().

◆ pair()

const Def * mim::Select::pair ( ) const
inline

Definition at line 433 of file tuple.h.

References mim::Switch::tuple().

◆ tt()

const Def * mim::Select::tt ( ) const
inline

Definition at line 435 of file tuple.h.

References mim::Switch::target().


The documentation for this class was generated from the following files: