Loom C API
Public Loom compiler C API
Loading...
Searching...
No Matches
module_config.h
Go to the documentation of this file.
1// Copyright 2026 The IREE Authors
2//
3// Licensed under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
7#ifndef LOOMC_MODULE_CONFIG_H_
8#define LOOMC_MODULE_CONFIG_H_
9
10#include "loomc/config.h"
11#include "loomc/module.h"
12
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
31
61 loomc_module_t* module, loomc_workspace_t* workspace,
62 const loomc_module_config_options_t* options, loomc_allocator_t allocator,
63 loomc_result_t** out_result);
64
86 loomc_module_t* module, loomc_allocator_t allocator,
87 loomc_result_t** out_result);
88
89#ifdef __cplusplus
90} // extern "C"
91#endif
92
93#endif // LOOMC_MODULE_CONFIG_H_
#define LOOMC_API_EXPORT
Exports a public Loom C API symbol from a shared library build.
Definition base.h:34
size_t loomc_host_size_t
Host allocation and container size type.
Definition base.h:45
loomc_structure_type_t
Structure type values used by extensible public descriptors.
Definition base.h:181
struct iree_status_handle_t * loomc_status_t
Opaque status handle.
Definition base.h:55
Text and JSON configuration bindings.
Opaque in-memory Loom modules.
struct loomc_module_t loomc_module_t
Opaque parsed, linked, optimized, or lowered module.
Definition module.h:90
loomc_status_t loomc_module_query_config_schema(loomc_module_t *module, loomc_allocator_t allocator, loomc_result_t **out_result)
Returns the module's configuration schema as a JSON REPORT artifact.
loomc_status_t loomc_module_apply_config(loomc_module_t *module, loomc_workspace_t *workspace, const loomc_module_config_options_t *options, loomc_allocator_t allocator, loomc_result_t **out_result)
Applies text/JSON bindings to the module's existing configuration symbols.
struct loomc_result_t loomc_result_t
Immutable operation result.
Definition result.h:71
Host allocator used for persistent Loom object storage.
Definition base.h:414
Text configuration bindings and resolution policy shared by API operations.
Definition config.h:78
Configuration bindings and resolution policy for a module operation.
Definition module_config.h:21
const void * next
Reserved extension chain. Must be NULL.
Definition module_config.h:27
loomc_structure_type_t type
Structure type; LOOMC_STRUCTURE_TYPE_MODULE_CONFIG_OPTIONS when nonzero.
Definition module_config.h:23
loomc_config_options_t config
Bindings borrowed for the call and final resolution policy.
Definition module_config.h:29
loomc_host_size_t structure_size
Size of this structure in bytes, or zero.
Definition module_config.h:25
struct loomc_workspace_t loomc_workspace_t
Mutable per-worker scratch workspace.
Definition workspace.h:54