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

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.

Detailed Description

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.

Field Documentation

◆ artifact_flags

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.

◆ emit_options

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.

◆ type

loomc_structure_type_t loomc_compile_artifact_options_t::type

Structure type.

Must be LOOMC_STRUCTURE_TYPE_COMPILE_ARTIFACT_OPTIONS when nonzero.


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