MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
ll.h File Reference
#include <bit>
#include <deque>
#include <format>
#include <fstream>
#include <iterator>
#include <optional>
#include <ostream>
#include <set>
#include <string>
#include <fe/term.h>
#include <mim/driver.h>
#include <mim/phase.h>
#include <mim/schedule.h>
#include <mim/plug/clos/clos.h>
#include <mim/plug/math/math.h>
#include <mim/plug/mem/mem.h>
#include <mim/plug/vec/vec.h>
#include "mim/plug/ll/autogen.h"
Include dependency graph for ll.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mim::plug::ll::BB
class  mim::plug::ll::Emitter

Namespaces

namespace  mim
namespace  mim::plug
namespace  mim::plug::ll
 The ll Plugin

Macros

#define MIM_LL_BE   "ll backend: "
 Prefix for this backend's diagnostics; concatenate it with the format literal.

Functions

void mim::plug::ll::mim_ll_convert (Emitter &e, const Def *type, bool simd, std::string &res)
 The heavy, target-independent emitter methods are compiled once into libmim_ll (see ll.cpp).
void mim::plug::ll::mim_ll_finalize (Emitter &e)
void mim::plug::ll::mim_ll_emit_epilogue (Emitter &e, Lam *lam)
void mim::plug::ll::mim_ll_emit_bb (Emitter &e, BB &bb, const Def *def, std::string &res)
Emitter::Rt mim::plug::ll::arg_rt (fe::View< std::string > args)
 Parses -X <backend>:rt=extern|embed; Emitter::Rt::embed is the default.
static std::optional< std::pair< nat_t, const Def * > > mim::plug::ll::is_simd (const Def *type)

Macro Definition Documentation

◆ MIM_LL_BE

#define MIM_LL_BE   "ll backend: "

Prefix for this backend's diagnostics; concatenate it with the format literal.

Note
Not usable with the Def::expect family: those take the inner "what was expected" description.

Definition at line 45 of file ll.h.

Referenced by mim::plug::ll::Emitter::emit_phi(), mim::plug::ll::Emitter::start(), and mim::plug::ll::Emitter::visit().