|
Loom C API
Public Loom compiler C API
|
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. | |
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.
| 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.
| 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.
| 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.
| loomc_structure_type_t loomc_cmd_program_product_options_t::type |
Structure type.
Must be LOOMC_STRUCTURE_TYPE_CMD_PROGRAM_PRODUCT_OPTIONS when nonzero.