Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
autogen.h
Go to the documentation of this file.
1#pragma once
2
3#include <thorin/axiom.h>
4#include <thorin/plugin.h>
5
6/// @namespace thorin::plug::affine @ref affine
7namespace thorin {
8namespace plug::affine {
9
10static constexpr plugin_t Plugin_Id = 0x871ca3c60000000;
11
12/// @name %%affine.For
13///@{
14#ifdef DOXYGEN // see https://github.com/doxygen/doxygen/issues/9668
15enum For : flags_t {
16#else
17enum class For : flags_t {
18#endif
19};
20
21///@}
22
23/// @name %%affine.lower_for_pass
24///@{
25#ifdef DOXYGEN // see https://github.com/doxygen/doxygen/issues/9668
27#else
28enum class lower_for_pass : flags_t {
29#endif
30};
31
32///@}
33
34} // namespace plug::affine
35
36#ifndef DOXYGEN // don't include in Doxygen documentation
37template<> constexpr flags_t Annex::Base<plug::affine::For> = 0x871ca3c60000000;
38template<> constexpr size_t Annex::Num<plug::affine::For> = 0;
39template<> constexpr flags_t Annex::Base<plug::affine::lower_for_pass> = 0x871ca3c60000100;
40template<> constexpr size_t Annex::Num<plug::affine::lower_for_pass> = 0;
41
42template<> struct Axiom::Match<plug::affine::lower_for_pass> { using type = Axiom; };
43#endif
44} // namespace thorin
Type of Match::def_.
Definition axiom.h:57
static constexpr plugin_t Plugin_Id
Definition autogen.h:10
Definition cfg.h:11
u64 plugin_t
Definition types.h:47
u64 flags_t
Definition types.h:46
static constexpr flags_t Base
Definition plugin.h:131