irx.builder.core

irx.builder.core

Source: packages/irx/src/irx/builder/core.py

title: Shared concrete core for llvmliteir visitors.

Functions

is_unsigned_node(node: astx.AST) -> bool

title: Is unsigned node.
parameters:
  node:
    type: astx.AST
returns:
  type: bool

uses_unsigned_semantics(node: astx.AST) -> bool

title: Uses unsigned semantics.
parameters:
  node:
    type: astx.AST
returns:
  type: bool

semantic_symbol_key(node: astx.AST, fallback: str) -> str

title: Semantic symbol key.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_assignment_key(node: astx.AST, fallback: str) -> str

title: Semantic assignment key.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_function_key(node: astx.AST, fallback: str) -> str

title: Semantic function key.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_function_name(node: astx.AST, fallback: str) -> str

title: Semantic LLVM function name.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_struct_key(node: astx.AST, fallback: str) -> str

title: Semantic struct key.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_struct_name(node: astx.AST, fallback: str) -> str

title: Semantic LLVM struct name.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_class_key(node: astx.AST, fallback: str) -> str

title: Semantic class key.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_class_name(node: astx.AST, fallback: str) -> str

title: Semantic LLVM class-object name.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str

semantic_flag(node: astx.AST, name: str, default: bool=False) -> bool

title: Semantic flag.
parameters:
  node:
    type: astx.AST
  name:
    type: str
  default:
    type: bool
returns:
  type: bool

semantic_fma_rhs(node: astx.AST) -> astx.AST | None

title: Semantic fma rhs.
parameters:
  node:
    type: astx.AST
returns:
  type: astx.AST | None

Classes

VisitorCore(BuilderVisitor)

No docstring available.

Methods

visit(self, node: astx.AST) -> None
title: Visit AST nodes.
parameters:
  node:
    type: astx.AST
translate(self, node: astx.AST) -> str
title: Translate.
parameters:
  node:
    type: astx.AST
returns:
  type: str
translate_modules(self, root: ParsedModule, resolver: ImportResolver) -> str
title: Translate a reachable graph of parsed modules to LLVM IR.
parameters:
  root:
    type: ParsedModule
  resolver:
    type: ImportResolver
returns:
  type: str
llvm_function_name_for_node(self, node: astx.AST, fallback: str) -> str
title: Return the LLVM symbol name for a function node.
parameters:
  node:
    type: astx.AST
  fallback:
    type: str
returns:
  type: str
activate_runtime_feature(self, feature_name: str) -> None
title: Activate runtime feature.
parameters:
  feature_name:
    type: str
require_runtime_symbol(self, feature_name: str, symbol_name: str) -> ir.Function
title: Require runtime symbol.
parameters:
  feature_name:
    type: str
  symbol_name:
    type: str
returns:
  type: ir.Function
initialize(self) -> None
title: Initialize.
get_function(self, name: str) -> ir.Function | None
title: Get function.
parameters:
  name:
    type: str
returns:
  type: ir.Function | None
create_entry_block_alloca(self, var_name: str, type_name: str | ir.Type) -> Any
title: Create entry block alloca.
parameters:
  var_name:
    type: str
  type_name:
    type: str | ir.Type
returns:
  type: Any
set_fast_math(self, enabled: bool) -> None
title: Set fast math.
parameters:
  enabled:
    type: bool