|
Loom C API
Public Loom compiler C API
|
Complete target-artifact compilation 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-artifact options such as loomc_sanitizer_options_t and loomc_pass_trace_options_t. | |
| const loomc_string_view_t * | roots |
| Explicit root symbol names, or NULL to derive default roots. | |
| loomc_host_size_t | root_count |
| Number of entries in roots. | |
| const loomc_string_view_t * | excluded_roots |
| Default root symbol names to exclude, or NULL for no exclusions. | |
| loomc_host_size_t | excluded_root_count |
| Number of entries in excluded_roots. | |
| loomc_target_profile_t * | target_profile |
| Optional complete target profile applied at the compile boundary. | |
| const loomc_config_options_t * | config |
| Optional typed configuration applied before root resolution. | |
| const loomc_emit_options_t * | emit_options |
| Optional target emission options. | |
| loomc_compile_artifact_flags_t | artifact_flags |
| Additional compiler-side artifacts returned with the primary target artifact. | |
Complete target-artifact compilation options.
This descriptor selects one homogeneous set of kernel or module roots, optional target specialization, typed configuration, and target emission. Root names preserve caller order. When both root lists are empty the compiler derives the module's single default entry category; mixed default categories fail. Explicit roots and exclusions are mutually exclusive. loomc_sanitizer_options_t may be attached to next when pass_program is NULL to override the emitter default pipeline's sanitizer settings. loomc_pass_trace_options_t may be attached to stream selected pass-boundary IR while either a supplied or default program executes. Artifact manifests apply only to loadable kernel requests; requesting one for module roots fails at compile-request resolution before passes run.
| loomc_compile_artifact_flags_t loomc_compile_artifact_options_t::artifact_flags |
Additional compiler-side artifacts returned with the primary target artifact.
Currently only LOOMC_COMPILE_ARTIFACT_FLAG_LAUNCH_CONFIG is accepted. Zero keeps launch-program construction and serialization off the compilation path.
| const loomc_emit_options_t* loomc_compile_artifact_options_t::emit_options |
Optional target emission options.
Its artifact format participates in compile request resolution so compilation and emission select one emitter.
| loomc_structure_type_t loomc_compile_artifact_options_t::type |
Structure type.
Must be LOOMC_STRUCTURE_TYPE_COMPILE_ARTIFACT_OPTIONS when nonzero.