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