1pub mod abi;
9pub mod abi_eval;
10pub mod abi_format;
11pub mod abi_lane;
12pub mod abi_subset;
13pub mod abi_validate;
14pub mod backend_selection;
15pub mod closure;
16pub mod compare;
17pub mod control_ir;
18pub mod cps_capture;
19pub mod cps_closure;
20pub mod cps_compare;
21pub mod cps_effectful_calls;
22pub mod cps_env;
23pub mod cps_eval;
24pub mod cps_frame_trace;
25pub mod cps_ir;
26pub mod cps_lower;
27pub mod cps_optimize;
28pub mod cps_repr;
29pub mod cps_repr_abi;
30pub mod cps_repr_cranelift;
31pub mod cps_validate;
32pub mod cranelift;
33pub mod eval;
34pub mod lower;
35pub mod native_runtime;
36pub mod value_cranelift;
37
38pub use abi::{
39 NativeAbiBlock, NativeAbiFunction, NativeAbiModule, NativeAbiStmt, lower_closure_module_to_abi,
40};
41pub use abi_eval::{NativeAbiEvalError, NativeAbiEvalResult, eval_abi_module};
42pub use abi_format::format_abi_module;
43pub use abi_lane::{
44 NativeAbiLaneAnalysis, NativeAbiRepr, NativeAbiReprAnalysis, NativeAbiValueLane,
45 NativeRuntimePtrKind, analyze_abi_reprs, analyze_abi_value_lanes,
46};
47pub use abi_subset::{NativeAbiSubsetError, validate_cranelift_prototype_subset};
48pub use abi_validate::{NativeAbiValidateError, validate_abi_module};
49pub use backend_selection::{
50 NativeBackendPlan, NativeBackendReason, NativeBackendReasonKind, NativeBackendSelection,
51 NativeRootBackend, NativeRootLabel, select_native_backends,
52};
53pub use closure::{
54 NativeClosureAbi, NativeClosureBlock, NativeClosureCapture, NativeClosureCodeRef,
55 NativeClosureEnvRef, NativeClosureEnvironment, NativeClosureFunction, NativeClosureModule,
56 NativeClosureSlot, NativeClosureStmt, closure_convert_module,
57};
58pub use compare::{
59 NativeCompareError, NativeSourceCompareError, NativeValueCompareError, compare_module,
60 compare_module_i64, compare_module_value,
61};
62pub use control_ir::{
63 BlockId, NativeBlock, NativeFunction, NativeLiteral, NativeModule, NativeStmt,
64 NativeTerminator, ValueId,
65};
66pub use cps_capture::infer_cps_captures;
67pub use cps_closure::{
68 CpsClosureContinuation, CpsClosureFunction, CpsClosureModule, closure_convert_cps_module,
69};
70pub use cps_compare::{
71 CpsCompareError, CpsReprI64CompareReport, CpsReprI64RootCompare, compare_cps_module,
72 compare_cps_repr_cranelift_i64, compare_cps_repr_cranelift_i64_report,
73};
74pub use cps_effectful_calls::reify_effectful_direct_calls;
75pub use cps_env::{
76 CpsContinuationEnvironmentLayout, CpsEnvironmentLayout, CpsEnvironmentSlot,
77 CpsFunctionEnvironmentLayout, layout_cps_environments,
78};
79pub use cps_eval::{CpsEvalError, eval_cps_module};
80pub use cps_frame_trace::{
81 CpsFrameTraceEvent, CpsFrameTraceLayer, CpsFrameTraceSlot, with_cps_frame_trace,
82};
83pub use cps_ir::{
84 CpsContinuation, CpsContinuationId, CpsFunction, CpsHandler, CpsHandlerArm,
85 CpsHandlerContextId, CpsHandlerId, CpsLiteral, CpsModule, CpsShotKind, CpsStmt, CpsTerminator,
86 CpsValueId,
87};
88pub use cps_lower::{CpsLowerError, CpsLowerResult, lower_cps_module};
89pub use cps_optimize::{
90 CpsOptimizationOutput, CpsOptimizationProfile, optimize_cps_repr_abi_module,
91};
92pub use cps_repr::{
93 CpsReprAbiAnalysis, CpsReprAbiLane, CpsReprContinuation, CpsReprEnvironmentSlot,
94 CpsReprEvalError, CpsReprFunction, CpsReprFunctionAbiAnalysis, CpsReprFunctionValueAnalysis,
95 CpsReprModule, CpsReprValueAnalysis, CpsReprValueKind, analyze_cps_repr_abi_lanes,
96 analyze_cps_repr_values, eval_cps_repr_module, lower_cps_repr_module,
97};
98pub use cps_repr_abi::{
99 CpsReprAbiContinuation, CpsReprAbiEnvironmentSlot, CpsReprAbiFunction, CpsReprAbiHandler,
100 CpsReprAbiHandlerArm, CpsReprAbiModule, CpsReprAbiValue, lower_cps_repr_abi_module,
101};
102pub use cps_repr_cranelift::{
103 CpsReprCraneliftError, CpsReprJitModule, CpsReprObjectModule, compile_cps_repr_abi_module,
104 compile_cps_repr_abi_module_to_object, compile_runtime_module_to_cps_repr_jit,
105 compile_runtime_module_to_cps_repr_object,
106};
107pub use cps_validate::{CpsValidateError, validate_cps_module};
108pub use cranelift::{
109 NativeCraneliftError, NativeJitModule, NativeObjectModule, compile_abi_module,
110 compile_abi_module_to_object,
111};
112pub use eval::{NativeEvalError, eval_module};
113pub use lower::{NativeLowerError, NativeLowerResult, lower_module};
114pub use native_runtime::{
115 NativeRuntimeContext, bool_is_true as native_runtime_bool_is_true,
116 concat_string as native_runtime_concat_string, list_empty as native_runtime_list_empty,
117 list_index as native_runtime_list_index, list_len as native_runtime_list_len,
118 list_merge as native_runtime_list_merge, list_singleton as native_runtime_list_singleton,
119 list_view_raw as native_runtime_list_view_raw, make_bool as native_runtime_make_bool,
120 make_float as native_runtime_make_float, make_int as native_runtime_make_int,
121 make_string as native_runtime_make_string, make_unit as native_runtime_make_unit,
122 record_empty as native_runtime_record_empty, record_insert as native_runtime_record_insert,
123 record_select as native_runtime_record_select, tuple_empty as native_runtime_tuple_empty,
124 tuple_get as native_runtime_tuple_get, tuple_push as native_runtime_tuple_push,
125 variant as native_runtime_variant, variant_payload as native_runtime_variant_payload,
126 variant_tag_eq as native_runtime_variant_tag_eq, yulang_native_bool_is_true,
127 yulang_native_concat_string, yulang_native_context_free, yulang_native_context_new,
128 yulang_native_list_empty, yulang_native_list_index, yulang_native_list_index_range,
129 yulang_native_list_index_range_raw, yulang_native_list_len, yulang_native_list_merge,
130 yulang_native_list_singleton, yulang_native_list_splice, yulang_native_list_splice_raw,
131 yulang_native_list_view_raw, yulang_native_make_bool, yulang_native_make_float,
132 yulang_native_make_int, yulang_native_make_string, yulang_native_make_unit,
133 yulang_native_print_value, yulang_native_record_empty, yulang_native_record_insert,
134 yulang_native_record_select, yulang_native_string_index_range,
135 yulang_native_string_index_range_raw, yulang_native_string_splice,
136 yulang_native_string_splice_raw, yulang_native_tuple_empty, yulang_native_tuple_get,
137 yulang_native_tuple_push, yulang_native_variant, yulang_native_variant_payload,
138 yulang_native_variant_tag_eq,
139};
140pub use value_cranelift::{
141 NativeValueCraneliftError, NativeValueJitModule, NativeValueObjectModule,
142 compile_value_abi_module, compile_value_abi_module_to_object,
143};