Loom C API
Public Loom compiler C API
Toggle main menu visibility
Loading...
Searching...
No Matches
compiler.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_TARGET_CMD_COMPILER_H_
8
#define LOOMC_TARGET_CMD_COMPILER_H_
9
10
#include "
loomc/link_index.h
"
11
14
15
#ifdef __cplusplus
16
extern
"C"
{
17
#endif
18
23
typedef
struct
loomc_cmd_compiler_t
loomc_cmd_compiler_t
;
24
26
typedef
struct
loomc_cmd_compiler_options_t
{
29
loomc_structure_type_t
type
;
30
32
loomc_host_size_t
structure_size
;
33
35
const
void
*
next
;
36
43
loomc_host_size_t
retained_byte_limit
;
44
}
loomc_cmd_compiler_options_t
;
45
60
LOOMC_API_EXPORT
loomc_status_t
loomc_cmd_compiler_create
(
61
loomc_link_index_t
* link_index,
const
loomc_cmd_compiler_options_t
* options,
62
loomc_allocator_t
allocator,
loomc_cmd_compiler_t
** out_compiler);
63
67
LOOMC_API_EXPORT
void
loomc_cmd_compiler_retain
(
loomc_cmd_compiler_t
* compiler);
68
74
LOOMC_API_EXPORT
void
loomc_cmd_compiler_release
(
75
loomc_cmd_compiler_t
* compiler);
76
77
#ifdef __cplusplus
78
}
// extern "C"
79
#endif
80
81
#endif
// LOOMC_TARGET_CMD_COMPILER_H_
LOOMC_API_EXPORT
#define LOOMC_API_EXPORT
Exports a public Loom C API symbol from a shared library build.
Definition
base.h:34
loomc_host_size_t
size_t loomc_host_size_t
Host allocation and container size type.
Definition
base.h:45
loomc_structure_type_t
loomc_structure_type_t
Structure type values used by extensible public descriptors.
Definition
base.h:181
loomc_status_t
struct iree_status_handle_t * loomc_status_t
Opaque status handle.
Definition
base.h:55
loomc_cmd_compiler_create
loomc_status_t loomc_cmd_compiler_create(loomc_link_index_t *link_index, const loomc_cmd_compiler_options_t *options, loomc_allocator_t allocator, loomc_cmd_compiler_t **out_compiler)
Creates a compiler retaining |link_index|.
loomc_cmd_compiler_retain
void loomc_cmd_compiler_retain(loomc_cmd_compiler_t *compiler)
Retains a compiler.
loomc_cmd_compiler_release
void loomc_cmd_compiler_release(loomc_cmd_compiler_t *compiler)
Releases a compiler.
loomc_cmd_compiler_t
struct loomc_cmd_compiler_t loomc_cmd_compiler_t
Concurrent command compiler retaining a frozen index and prepared native sources and staged plans.
Definition
compiler.h:23
link_index.h
Reusable link indexes for deterministic library and source discovery.
loomc_link_index_t
struct loomc_link_index_t loomc_link_index_t
Frozen immutable link index.
Definition
link_index.h:72
loomc_allocator_t
Host allocator used for persistent Loom object storage.
Definition
base.h:426
loomc_cmd_compiler_options_t
Command compiler storage policy.
Definition
compiler.h:26
loomc_cmd_compiler_options_t::type
loomc_structure_type_t type
Structure type.
Definition
compiler.h:29
loomc_cmd_compiler_options_t::next
const void * next
Extension chain; currently must be NULL.
Definition
compiler.h:35
loomc_cmd_compiler_options_t::retained_byte_limit
loomc_host_size_t retained_byte_limit
Maximum retained source and staged-plan bytes, including tracking and unused arena capacity.
Definition
compiler.h:43
loomc_cmd_compiler_options_t::structure_size
loomc_host_size_t structure_size
Size of this structure in bytes.
Definition
compiler.h:32
loomc
target
cmd
compiler.h
Generated by
1.17.0