|
Loom C API
Public Loom compiler C API
|
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. | |
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.
| 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.
| loomc_string_view_t loomc_compile_options_t::module_name |
Runtime artifact module name for this invocation.
Empty uses the compiler's default.
| loomc_structure_type_t loomc_compile_options_t::type |
Structure type.
Must be LOOMC_STRUCTURE_TYPE_COMPILE_OPTIONS when nonzero.