MimIR
0.4-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
Loading...
Searching...
No Matches
flags.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
5
#include "
mim/config.h
"
6
7
namespace
mim
{
8
9
/// Compiler switches that must be saved and looked up in later phases of compilation.
10
/// @see @ref cli
11
struct
Flags
{
12
/// How (if at all) to report Phase runtimes; @see fe::Profiler.
13
enum class
Profile
{
14
None
,
///< No profiling.
15
Summary,
///< Flat table aggregated by Phase name.
16
Tree,
///< Indented tree preserving the order in which Phase%es ran.
17
Trace,
///< chrome://tracing compatible output.
18
};
19
20
uint64_t
scalarize_threshold
= 32;
21
uint32_t
max_fp_iters
= 1024;
// max number of fixed-point iterations before a Phase errors out
22
23
bool
ascii
=
false
;
24
bool
dump_recursive
=
false
;
25
bool
bootstrap
=
false
;
26
bool
force_load
=
false
;
27
Profile
profile
=
Profile::None
;
// how to report Phase runtimes
28
bool
aggressive_lam_spec
=
false
;
// HACK makes LamSpec more agressive but potentially non-terminating
29
#ifdef MIM_ENABLE_CHECKS
30
bool
reeval_breakpoints
=
false
;
31
bool
trace_gids
=
false
;
32
bool
break_on_error
=
false
;
33
bool
break_on_warn
=
false
;
34
bool
break_on_alpha
=
false
;
35
#endif
36
};
37
38
}
// namespace mim
config.h
mim
Definition
ast.h:16
mim::Dep::None
@ None
Depends on nothing of interest.
Definition
def.h:134
mim::Flags
Compiler switches that must be saved and looked up in later phases of compilation.
Definition
flags.h:11
mim::Flags::scalarize_threshold
uint64_t scalarize_threshold
Definition
flags.h:20
mim::Flags::trace_gids
bool trace_gids
Definition
flags.h:31
mim::Flags::break_on_error
bool break_on_error
Definition
flags.h:32
mim::Flags::Profile
Profile
How (if at all) to report Phase runtimes;.
Definition
flags.h:13
mim::Flags::Profile::None
@ None
No profiling.
Definition
flags.h:14
mim::Flags::aggressive_lam_spec
bool aggressive_lam_spec
Definition
flags.h:28
mim::Flags::reeval_breakpoints
bool reeval_breakpoints
Definition
flags.h:30
mim::Flags::bootstrap
bool bootstrap
Definition
flags.h:25
mim::Flags::ascii
bool ascii
Definition
flags.h:23
mim::Flags::max_fp_iters
uint32_t max_fp_iters
Definition
flags.h:21
mim::Flags::force_load
bool force_load
Definition
flags.h:26
mim::Flags::break_on_warn
bool break_on_warn
Definition
flags.h:33
mim::Flags::break_on_alpha
bool break_on_alpha
Definition
flags.h:34
mim::Flags::profile
Profile profile
Definition
flags.h:27
mim::Flags::dump_recursive
bool dump_recursive
Definition
flags.h:24
include
mim
flags.h
Generated by
1.18.0