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

Command-product construction options. 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.
loomc_link_index_t * link_index
 Frozen provider index containing command and kernel sources.
const loomc_host_size_t * root_symbol_ordinals
 Index-wide symbol ordinals of explicit command roots.
loomc_host_size_t root_symbol_count
 Number of entries in root_symbol_ordinals.
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 all selected kernel entries and their launch configurations.
loomc_request_sink_t request_sink
 Optional sink enabling source-backed request publication.

Detailed Description

Command-product construction options.

Callers zero-initialize this descriptor, set type to LOOMC_STRUCTURE_TYPE_CMD_PROGRAM_PRODUCT_OPTIONS, set structure_size to sizeof(loomc_cmd_program_product_options_t), and fill the requested fields.

Field Documentation

◆ request_sink

loomc_request_sink_t loomc_cmd_program_product_options_t::request_sink

Optional sink enabling source-backed request publication.

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

◆ root_symbol_ordinals

const loomc_host_size_t* loomc_cmd_program_product_options_t::root_symbol_ordinals

Index-wide symbol ordinals of explicit command roots.

Every ordinal must expose a command implementation. Root order is retained in the returned product, including repeated explicit roots. Automatically selected INPUT exports already named here are not appended a second time.

◆ target_profile

const loomc_target_profile_t* loomc_cmd_program_product_options_t::target_profile

Optional execution profile for all selected kernel entries and their launch configurations.

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 a compatible context 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_product_options_t::type

Structure type.

Must be LOOMC_STRUCTURE_TYPE_CMD_PROGRAM_PRODUCT_OPTIONS when nonzero.


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