Loom C API
Public Loom compiler C API
Loading...
Searching...
No Matches
loomc_compile_options_t Struct Reference

Compile invocation options. More...

#include <compile.h>

Data Fields

loomc_structure_type_t type
 Structure type.
loomc_host_size_t structure_size
 Size of this structure in bytes.
const void * next
 Extension chain for compile invocation options such as loomc_target_specialization_options_t.
loomc_string_view_t module_name
 Runtime artifact module name for this invocation.
loomc_compile_artifact_flags_t artifact_flags
 Requested result artifacts.
loomc_config_options_t config
 Per-invocation config dialect bindings and optional JSON object.

Detailed Description

Compile invocation options.

A compile invocation borrows a mutable module and returns a result with diagnostics and artifacts. Per-kernel configuration values materialize into the module before the selected pass program runs. These values live here rather than on the prepared compiler so autotuning and JIT sweeps can vary config without constructing many compiler handles. Per-function target specializations are supplied through loomc_target_specialization_options_t on next, so one invocation can compile several function versions for different exact targets.

Field Documentation

◆ artifact_flags

loomc_compile_artifact_flags_t loomc_compile_options_t::artifact_flags

Requested result artifacts.

Zero avoids artifact serialization and keeps the hot path focused on diagnostics and in-place module transformation.

◆ module_name

loomc_string_view_t loomc_compile_options_t::module_name

Runtime artifact module name for this invocation.

Empty uses the compiler's default.

◆ type

loomc_structure_type_t loomc_compile_options_t::type

Structure type.

Must be LOOMC_STRUCTURE_TYPE_COMPILE_OPTIONS when nonzero.


The documentation for this struct was generated from the following file: