8#ifndef BFC_CODEGEN_INTERNAL_H
9#define BFC_CODEGEN_INTERNAL_H
98[[gnu::nonnull(1, 2), gnu::format(printf, 2, 3)]]
Public assembly code-generation interface.
struct bfc_asm bfc_asm_t
Opaque generated-assembly object.
Definition bfc_codegen.h:18
const bfc_backend_t BFC_BACKEND_MACOS_AARCH64
Immutable backend descriptor exported to generic code generation.
Definition bfc_backend_macos_aarch64.c:276
bfc_error_t bfc_codegen_emitf(bfc_asm_t *asm_prog, const char *format,...)
Formats and appends one assembly fragment.
Definition bfc_codegen.c:175
bfc_error_t bfc_codegen_emit_text(bfc_asm_t *asm_prog, const char *text)
Appends raw text to the assembly buffer.
Definition bfc_codegen.c:91
const bfc_backend_t BFC_BACKEND_MACOS_X86_64
Immutable backend descriptor exported to generic code generation.
Definition bfc_backend_macos_x86_64.c:230
const bfc_backend_t BFC_BACKEND_WINDOWS_X86_64
Backend descriptor declarations.
bfc_error_t bfc_codegen_emit_block(bfc_asm_t *asm_prog, const bfc_ir_block_t *ir_block)
Recursively emits every instruction in an IR block.
Definition bfc_codegen.c:138
Target architecture and operating-system interface.
Mutable assembly-generation state shared by generic codegen and backends.
Definition bfc_codegen_internal.h:52
Immutable callback table implemented by one target backend.
Definition bfc_codegen_internal.h:25
Error value propagated through compiler stages.
Definition bfc_error.h:42
Architecture and operating-system pair used to select a backend.
Definition bfc_target.h:38