MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
nvptx.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <string>
5
6#include <mim/plug/ll/ll.h>
7
8namespace mim {
9
10class World;
11
12namespace plug::nvptx {
13
14/// Prefix for this backend's fe::throwf messages; see MIM_LL_BE.
15#define MIM_NVPTX_BE "nvptx backend: "
16
17namespace ll = mim::plug::ll;
18
22
23void emit_host(World&, std::ostream&, std::optional<std::string>, ll::Emitter::Rt rt = ll::Emitter::Rt::embed);
24DeviceEmitFlags emit_device(World&, std::ostream&);
25
26} // namespace plug::nvptx
27
28} // namespace mim
The World represents the whole program and manages creation of MimIR nodes (Defs).
Definition world.h:43
Rt
How the C runtime wrappers (compiled to a <name>.ll via add_mim_runtime) reach the output.
Definition ll.h:167
@ embed
Splice the wrapper IR into the emitted module so it is self-contained.
Definition ll.h:168
The ll Plugin
Definition ll.h:41
The nvptx Plugin
Definition nvptx.h:12
DeviceEmitFlags emit_device(World &, std::ostream &)
Definition nvptx.cpp:667
void emit_host(World &, std::ostream &, std::optional< std::string >, ll::Emitter::Rt rt=ll::Emitter::Rt::embed)
Definition nvptx.cpp:659
Definition ast.h:16