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

Command-product options for one invocation-local materialized module. More...

#include <program.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
 Optional invocation extensions such as loomc_target_specialization_options_t.
const loomc_link_index_t * library_index
 Optional frozen library-only index used to resolve module declarations.
loomc_string_view_t provider_name
 Stable provider label for diagnostics and private-name determinism.
const loomc_string_view_t * root_symbols
 Command symbols in the materialized module, with or without a leading @.
loomc_host_size_t root_symbol_count
 Number of entries in root_symbols.
loomc_cmd_program_product_flags_t flags
 Product construction flags.
loomc_config_options_t config
 Per-invocation config bindings applied during selective materialization.
const loomc_target_profile_t * target_profile
 Optional execution profile for every selected kernel entry and launch configuration.
loomc_request_sink_t request_sink
 Optional sink enabling source-backed kernel request publication.

Detailed Description

Command-product options for one invocation-local materialized module.

The module is indexed as one INPUT provider over an optional immutable library prefix. Named roots resolve in that exact module, including private command definitions, without serializing or reparsing its IR.

Field Documentation

◆ flags

loomc_cmd_program_product_flags_t loomc_cmd_program_module_options_t::flags

Product construction flags.

INPUT exports selected by the include flag are appended after explicit roots that do not already name them.

◆ library_index

const loomc_link_index_t* loomc_cmd_program_module_options_t::library_index

Optional frozen library-only index used to resolve module declarations.

Passing NULL plans against the materialized module alone.

◆ provider_name

loomc_string_view_t loomc_cmd_program_module_options_t::provider_name

Stable provider label for diagnostics and private-name determinism.

Empty uses the module name.

◆ request_sink

loomc_request_sink_t loomc_cmd_program_module_options_t::request_sink

Optional sink enabling source-backed kernel request publication.

A NULL callback leaves kernel implementation bodies unopened and returns only executable-entry requirements.

◆ root_symbols

const loomc_string_view_t* loomc_cmd_program_module_options_t::root_symbols

Command symbols in the materialized module, with or without a leading @.

Root order and duplicates are retained in the returned product.

◆ target_profile

const loomc_target_profile_t* loomc_cmd_program_module_options_t::target_profile

Optional execution profile for every selected kernel entry and launch configuration.

Every materialized command program also uses the profile when its authored target still resolves to target.decl. Targetless command programs remain target-neutral, and programs with concrete targets retain their authored context.

Borrowed synchronously from the module context's target environment. Published requests own their concrete target definitions. NULL preserves source target selection and explicit invocation specializations. A non-NULL profile cannot be combined with nonempty per-function specializations or target-declaration bindings in next.

◆ type

loomc_structure_type_t loomc_cmd_program_module_options_t::type

Structure type.

Must be LOOMC_STRUCTURE_TYPE_CMD_PROGRAM_MODULE_OPTIONS when nonzero.


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