builder
¶
Modules:
-
backend– -
base– -
casting– -
core– -
diagnostics– -
lowering– -
protocols– -
runtime– -
state– -
strings– -
types– -
vector–
Classes:
-
Builder– -
VariablesLLVM–
Functions:
-
emit_add– -
emit_int_div– -
is_fp_type– -
is_int_type– -
is_vector– -
safe_pop– -
splat_scalar–
Builder
¶
Builder()
Bases: Builder
Methods:
-
activate_runtime_feature– -
build– -
build_modules– -
module– -
run– -
translate– -
translate_modules–
Source code in src/irx/builder/backend.py
60 61 62 63 64 65 | |
activate_runtime_feature
¶
activate_runtime_feature(feature_name: str) -> None
Source code in src/irx/builder/base.py
250 251 252 253 254 255 256 257 | |
build
¶
build(node: AST, output_file: str) -> None
Source code in src/irx/builder/backend.py
105 106 107 108 109 110 111 112 113 114 115 | |
build_modules
¶
build_modules(
root: ParsedModule,
resolver: ImportResolver,
output_file: str,
) -> None
Source code in src/irx/builder/backend.py
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | |
module
¶
module() -> Module
Source code in src/irx/builder/base.py
231 232 233 234 235 236 237 | |
run
¶
run(
*,
capture_stderr: bool = True,
raise_on_error: bool = True,
debug: bool = False,
) -> CommandResult
Source code in src/irx/builder/base.py
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | |
translate
¶
translate(expr: AST) -> str
Source code in src/irx/builder/backend.py
75 76 77 78 79 80 81 82 83 84 85 | |
translate_modules
¶
translate_modules(
root: ParsedModule, resolver: ImportResolver
) -> str
Source code in src/irx/builder/backend.py
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
VariablesLLVM
¶
Methods:
get_data_type
¶
get_data_type(type_name: str) -> Type
Source code in src/irx/builder/types.py
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | |
emit_add
¶
emit_add(
ir_builder: IRBuilder,
lhs: Value,
rhs: Value,
name: str = "addtmp",
) -> Instruction
Source code in src/irx/builder/vector.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | |
emit_int_div
¶
emit_int_div(
ir_builder: IRBuilder,
lhs: Value,
rhs: Value,
unsigned: bool,
) -> Instruction
Source code in src/irx/builder/vector.py
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
is_fp_type
¶
is_fp_type(type_: Type) -> bool
Source code in src/irx/builder/types.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
is_int_type
¶
is_int_type(type_: Type) -> bool
Source code in src/irx/builder/types.py
34 35 36 37 38 39 40 41 42 43 44 | |
is_vector
¶
is_vector(value: Value) -> bool
Source code in src/irx/builder/vector.py
14 15 16 17 18 19 20 21 22 23 24 | |
safe_pop
¶
safe_pop(
values: list[Value | Function | None],
) -> Value | Function | None
Source code in src/irx/builder/runtime/__init__.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
splat_scalar
¶
splat_scalar(
ir_builder: IRBuilder,
scalar: Value,
vec_type: VectorType,
) -> Value
Source code in src/irx/builder/vector.py
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | |