jtenner/starshine/passes does not have a README file

    ApplyCompilerFactsResult

    CompilerFactIndex

    Read-only, nonserialized index built once per optimization invocation.

    CompilerFactIndex::compiler_fact_exact_call_target

    CompilerFactMaterializationStats

    pub struct CompilerFactMaterializationStats {
    fact_sections_seen : Int
    function_bodies_with_facts : Int
    function_facts_seen : Int
    signature_facts_seen : Int
    type_facts_seen : Int
    global_facts_seen : Int
    table_facts_seen : Int
    value_facts_seen : Int
    relation_facts_seen : Int
    call_facts_seen : Int
    branch_facts_seen : Int
    loop_facts_seen : Int
    allocation_facts_seen : Int
    access_facts_seen : Int
    numeric_operation_facts_seen : Int
    hint_facts_seen : Int
    trusted_assertion_facts : Int
    hint_only_facts : Int
    candidate_rewrites : Int
    exact_call_target_facts_seen : Int
    exact_call_target_facts_accepted : Int
    call_ref_converted : Int
    return_call_ref_converted : Int
    integer_comparisons_folded : Int
    integer_zero_checks_folded : Int
    reference_null_checks_folded : Int
    structurally_incompatible_rejected : Int
    stale_or_unresolved_sites : Int
    type_mismatches : Int
    invalid_referenced_indices : Int
    unsupported_versions : Int
    malformed_or_impossible_facts : Int
    facts_blocked_by_trust : Int
    valid_facts_without_rewrite : Int
    ignored_untrusted_assertions : Int
    } derive(Eq,
    Debug
    )

    CompilerFactMaterializationStats::new

    CompilerFactUsePolicy

    pub enum CompilerFactUsePolicy {
    IgnoreFacts
    HintsOnly
    TrustAssertions
    } derive(Eq,
    Debug
    )

    Optimizer-local policy. This is deliberately not serialized in Wasm.

    CompilerFactUsePolicy::hints_only

    CompilerFactUsePolicy::ignore

    CompilerFactUsePolicy::trust_assertions

    FlattenFlatnessReport

    pub(all) struct FlattenFlatnessReport {
    rich_operand_count : Int
    value_control_count : Int
    local_tee_count : Int
    control_local_set_count : Int
    body_value_flow_count : Int
    unsupported_count : Int
    } derive(Eq,
    Debug
    )

    Analysis-only summary of Binaryen Flat IR contract violations in one HOT function.

    FlattenFlatnessReport::empty

    FlattenFlatnessReport::is_flat

    fn FlattenFlatnessReport::is_flat(self : FlattenFlatnessReport) -> Bool

    H2LDominanceOrder

    type H2LDominanceOrder

    HotPassContext

    pub struct HotPassContext {
    descriptor :
    HotPassDescriptor

    cache :
    HotAnalysisCache

    verify_policy : HotPipelineVerifyPolicy
    closed_world : Bool
    traps_never_happen : Bool
    ignore_implicit_traps : Bool
    fast_math : Bool
    optimize_level : Int
    shrink_level : Int
    trace : (String) -> Unit
    perf : HotPerfSession?
    module_ctx :
    HotModuleContext
    ?
    // private fields
    }

    HotPassContext::new

    fn HotPassContext::new(descriptor :
    HotPassDescriptor
    , cache :
    HotAnalysisCache
    , verify_policy : HotPipelineVerifyPolicy, closed_world : Bool, trace : (String) -> Unit, traps_never_happen? : Bool, ignore_implicit_traps? : Bool, fast_math? : Bool, perf? : HotPerfSession?, module_ctx? :
    HotModuleContext
    ?, optimize_level? : Int, shrink_level? : Int) -> HotPassContext

    HotPassRegistryCategory

    pub enum HotPassRegistryCategory {
    HotPass
    ModulePass
    BoundaryOnly
    Removed
    Preset
    } derive(Eq,
    Debug
    )

    HotPassRegistryCategory::boundary_only

    HotPassRegistryCategory::hot_pass

    HotPassRegistryCategory::module_pass

    HotPassRegistryCategory::preset

    HotPassRegistryCategory::removed

    HotPassRegistryEntry

    pub struct HotPassRegistryEntry {
    name : String
    summary : String
    category : HotPassRegistryCategory
    descriptor :
    HotPassDescriptor
    ?
    expanded_passes : Array[String]
    } derive(Eq,
    Debug
    )

    HotPassResult

    pub struct HotPassResult {
    changed : Bool
    } derive(Eq,
    Debug
    )

    HotPassResult::changed

    fn HotPassResult::changed() -> HotPassResult

    HotPassResult::unchanged

    fn HotPassResult::unchanged() -> HotPassResult

    HotPerfCounters

    pub struct HotPerfCounters {
    node_allocs : Int
    child_span_allocs : Int
    side_table_allocs : Int
    region_splices : Int
    cfg_builds : Int
    dataflow_builds : Int
    traversal_visits : Int
    } derive(Eq,
    Debug
    )

    HotPerfCounters::new

    fn HotPerfCounters::new(node_allocs? : Int, child_span_allocs? : Int, side_table_allocs? : Int, region_splices? : Int, cfg_builds? : Int, dataflow_builds? : Int, traversal_visits? : Int) -> HotPerfCounters

    HotPerfDumpOptions

    pub struct HotPerfDumpOptions {
    hot_func : Bool
    cfg : Bool
    } derive(Eq,
    Debug
    )

    HotPerfDumpOptions::new

    fn HotPerfDumpOptions::new(hot_func? : Bool, cfg? : Bool) -> HotPerfDumpOptions

    HotPerfHotSnapshot

    pub struct HotPerfHotSnapshot {
    node_count : Int
    child_span_count : Int
    side_table_count : Int
    } derive(Eq,
    Debug
    )

    HotPerfHotSnapshot::empty

    HotPerfSession

    pub struct HotPerfSession {
    enabled : Bool
    trace : (String) -> Unit
    trace_timings : Bool
    trace_checkpoints : Bool
    trace_counters : Bool
    dump_options : HotPerfDumpOptions
    counters : HotPerfCounters
    timer_totals : Array[(String, UInt64)]
    timer_indices :
    HashMap
    [String, Int]
    }

    HotPerfSession::new

    fn HotPerfSession::new(enabled? : Bool, trace? : (String) -> Unit, trace_timings? : Bool, trace_checkpoints? : Bool, trace_counters? : Bool, dump_options? : HotPerfDumpOptions) -> HotPerfSession

    HotPipelineOptions

    pub struct HotPipelineOptions {
    verify_policy : HotPipelineVerifyPolicy
    validate_final_module : Bool
    closed_world : Bool
    traps_never_happen : Bool
    ignore_implicit_traps : Bool
    zero_filled_memory : Bool
    fast_math : Bool
    compiler_fact_policy : CompilerFactUsePolicy
    optimize_level : Int
    shrink_level : Int
    inlining_always_inline_max_size : Int
    inlining_one_caller_inline_max_size : Int
    inlining_flexible_inline_max_size : Int
    inlining_max_combined_binary_size : Int
    inlining_allow_functions_with_loops : Bool
    inlining_partial_inlining_ifs : Int
    stack_function_passes : Bool
    trace_enabled : Bool
    trace : (String) -> Unit
    perf : HotPerfSession?
    // private fields
    }

    HotPipelineOptions::new

    fn HotPipelineOptions::new(verify_policy? : HotPipelineVerifyPolicy, validate_final_module? : Bool, closed_world? : Bool, traps_never_happen? : Bool, ignore_implicit_traps? : Bool, zero_filled_memory? : Bool, fast_math? : Bool, compiler_fact_policy? : CompilerFactUsePolicy, optimize_level? : Int, shrink_level? : Int, inlining_always_inline_max_size? : Int, inlining_one_caller_inline_max_size? : Int, inlining_flexible_inline_max_size? : Int, inlining_max_combined_binary_size? : Int, inlining_allow_functions_with_loops? : Bool, inlining_partial_inlining_ifs? : Int, stack_function_passes? : Bool, trace? : (String) -> Unit?, perf? : HotPerfSession?) -> HotPipelineOptions

    HotPipelineVerifyPolicy

    pub enum HotPipelineVerifyPolicy {
    FinalModuleOnly
    AfterEachPass
    } derive(Eq,
    Debug
    )

    HotPipelineVerifyPolicy::after_each_pass

    HotPipelineVerifyPolicy::final_module_only

    HotPipelineVerifyTarget

    HotTupleOptimizationAnalysis

    type HotTupleOptimizationAnalysis derive(Eq,
    Debug
    )

    HotTupleOptimizationCopyConsumers

    type HotTupleOptimizationCopyConsumers

    HotTupleOptimizationDropOnlyElisionFacts

    type HotTupleOptimizationDropOnlyElisionFacts derive(Eq,
    Debug
    )

    HotTupleOptimizationGroup

    type HotTupleOptimizationGroup derive(Eq,
    Debug
    )

    HotTupleOptimizationQuerySummary

    type HotTupleOptimizationQuerySummary derive(Eq,
    Debug
    )

    HotTupleOptimizationRewriteCleanupPlan

    type HotTupleOptimizationRewriteCleanupPlan derive(Eq,
    Debug
    )

    HotTupleOptimizationRootSlot

    type HotTupleOptimizationRootSlot derive(Eq,
    Debug
    )

    HotTupleOptimizationSeedCollection

    type HotTupleOptimizationSeedCollection derive(Eq,
    Debug
    )

    SsaFullGetDecision

    pub(all) enum SsaFullGetDecision {
    Retarget(Int)
    MaterializeDefault
    Merge(Int)
    KeepCanonical
    } derive(Eq,
    Debug
    )

    SsaFullGetRewrite

    pub(all) struct SsaFullGetRewrite {
    get_id : Int
    original_local : Int
    decision : SsaFullGetDecision
    } derive(Eq,
    Debug
    )

    SsaFullMergeGetRewrite

    pub(all) struct SsaFullMergeGetRewrite {
    get_id : Int
    original_local : Int
    merge_local : Int
    inputs : Array[SsaFullMergeInput]
    } derive(Eq,
    Debug
    )

    SsaFullMergeInput

    pub(all) enum SsaFullMergeInput {
    ExplicitWrite(Int)
    ParamEntry(Int)
    DefaultEntry(Int)
    } derive(Eq,
    Debug
    )

    SsaFullRewritePlan

    pub(all) struct SsaFullRewritePlan {
    write_rewrites : Array[SsaFullWriteRewrite]
    get_rewrites : Array[SsaFullGetRewrite]
    merge_gets : Array[SsaFullMergeGetRewrite]
    } derive(Eq,
    Debug
    )

    SsaFullWriteDecision

    pub(all) enum SsaFullWriteDecision {
    Freshen(Int)
    KeepCanonical
    } derive(Eq,
    Debug
    )

    SsaFullWriteRewrite

    pub(all) struct SsaFullWriteRewrite {
    write_id : Int
    original_local : Int
    decision : SsaFullWriteDecision
    } derive(Eq,
    Debug
    )

    SsaNoMergeGetDecision

    pub(all) enum SsaNoMergeGetDecision {
    Retarget(Int)
    MaterializeDefault
    KeepCanonical
    } derive(Eq,
    Debug
    )

    Planned local-get action for Binaryen-style ssa-nomerge rewriting.

    SsaNoMergeGetRewrite

    pub(all) struct SsaNoMergeGetRewrite {
    get_id : Int
    original_local : Int
    decision : SsaNoMergeGetDecision
    } derive(Eq,
    Debug
    )

    Analysis-only get rewrite entry. This does not mutate the function.

    SsaNoMergeRewritePlan

    pub(all) struct SsaNoMergeRewritePlan {
    write_rewrites : Array[SsaNoMergeWriteRewrite]
    get_rewrites : Array[SsaNoMergeGetRewrite]
    } derive(Eq,
    Debug
    )

    Analysis-only no-merge rewrite plan built from HotLocalGraph facts.

    SsaNoMergeWriteDecision

    pub(all) enum SsaNoMergeWriteDecision {
    Freshen(Int)
    KeepCanonical
    } derive(Eq,
    Debug
    )

    Planned local-write action for Binaryen-style ssa-nomerge rewriting.

    SsaNoMergeWriteRewrite

    pub(all) struct SsaNoMergeWriteRewrite {
    write_id : Int
    original_local : Int
    influenced_gets : Array[Int]
    decision : SsaNoMergeWriteDecision
    } derive(Eq,
    Debug
    )

    Analysis-only write rewrite entry. This does not mutate the function.

    apply_compiler_facts

    fn apply_compiler_facts(module_ :
    Module
    , policy : CompilerFactUsePolicy) -> Result[ApplyCompilerFactsResult, String]

    avoid_reinterprets_run_module_pass

    fn avoid_reinterprets_run_module_pass(mod_ :
    Module
    ) ->
    Module

    avoid_reinterprets_summary

    fn avoid_reinterprets_summary() -> String

    coalesce_locals_run_module_pass

    fn coalesce_locals_run_module_pass(mod_ :
    Module
    ) ->
    Module

    coalesce_locals_summary

    fn coalesce_locals_summary() -> String

    code_folding_descriptor

    code_folding_run

    code_folding_summary

    fn code_folding_summary() -> String

    code_pushing_descriptor

    code_pushing_summary

    fn code_pushing_summary() -> String

    dae_optimizing_summary

    fn dae_optimizing_summary() -> String

    dae_run_module_pass

    fn dae_run_module_pass(mod_ :
    Module
    , optimize? : Bool, trace? : (String) -> Unit?) ->
    Module

    dae_summary

    fn dae_summary() -> String

    dead_code_elimination_descriptor

    fn dead_code_elimination_descriptor() ->
    HotPassDescriptor

    dead_code_elimination_summary

    fn dead_code_elimination_summary() -> String

    default_function_optimization_passes

    fn default_function_optimization_passes(optimize_level : Int, shrink_level : Int) -> Array[String]

    default_function_optimization_passes_for_module

    fn default_function_optimization_passes_for_module(mod_ :
    Module
    , optimize_level : Int, shrink_level : Int) -> Array[String]

    dfe_run_module_pass

    dfe_summary

    fn dfe_summary() -> String

    die_run_module_pass

    die_run_module_pass_assume_stable_bindings

    fn die_run_module_pass_assume_stable_bindings(mod_ :
    Module
    ) ->
    Module

    Merge repeated function imports only when the caller guarantees that every repeated module/component lookup is side-effect-free and resolves, after embedding conversion, to the same WebAssembly function identity.

    die_summary

    fn die_summary() -> String

    flatten_classify_hot

    Classify the current HOT function without mutating it.

    flatten_descriptor

    flatten_run

    flatten_summary

    fn flatten_summary() -> String

    global_refining_run_module_pass

    fn global_refining_run_module_pass(mod_ :
    Module
    , closed_world? : Bool) ->
    Module

    global_refining_summary

    fn global_refining_summary() -> String

    global_struct_inference_desc_cast_run_module_pass

    fn global_struct_inference_desc_cast_run_module_pass(mod_ :
    Module
    , closed_world : Bool) ->
    Module

    global_struct_inference_desc_cast_summary

    fn global_struct_inference_desc_cast_summary() -> String

    global_struct_inference_run_module_pass

    fn global_struct_inference_run_module_pass(mod_ :
    Module
    , closed_world : Bool) ->
    Module

    global_struct_inference_summary

    fn global_struct_inference_summary() -> String

    heap2local_descriptor

    heap2local_run

    heap2local_summary

    fn heap2local_summary() -> String

    heap_store_optimization_descriptor

    fn heap_store_optimization_descriptor() ->
    HotPassDescriptor

    heap_store_optimization_summary

    fn heap_store_optimization_summary() -> String

    hot_pass_run

    fn hot_pass_run(ctx : HotPassContext, func :
    HotFunc
    ) -> Result[HotPassResult, String]

    inline_main_run_module_pass

    inline_main_summary

    fn inline_main_summary() -> String

    inlining_nested_function_pipeline_passes

    fn inlining_nested_function_pipeline_passes(optimize_level : Int, shrink_level : Int) -> Array[String]

    inlining_optimizing_summary

    fn inlining_optimizing_summary() -> String

    inlining_run_module_pass

    fn inlining_run_module_pass(mod_ :
    Module
    , optimize? : Bool, trace? : (String) -> Unit?, pass_name? : String, optimize_level? : Int, shrink_level? : Int, always_inline_max_size? : Int, one_caller_inline_max_size? : Int, flexible_inline_max_size? : Int, max_combined_binary_size? : Int, allow_functions_with_loops? : Bool, partial_inlining_ifs? : Int) ->
    Module

    inlining_summary

    fn inlining_summary() -> String

    local_cse_descriptor

    local_cse_run

    local_cse_run_module_pass

    local_cse_summary

    fn local_cse_summary() -> String

    local_subtyping_run_module_pass

    fn local_subtyping_run_module_pass(mod_ :
    Module
    ) ->
    Module

    local_subtyping_summary

    fn local_subtyping_summary() -> String

    memory_packing_run_module_pass

    fn memory_packing_run_module_pass(mod_ :
    Module
    , traps_never_happen? : Bool, zero_filled_memory? : Bool) ->
    Module

    memory_packing_summary

    fn memory_packing_summary() -> String

    merge_blocks_descriptor

    merge_blocks_summary

    fn merge_blocks_summary() -> String

    merge_locals_descriptor

    merge_locals_summary

    fn merge_locals_summary() -> String

    merge_similar_functions_run_module_pass

    fn merge_similar_functions_run_module_pass(mod_ :
    Module
    ) ->
    Module

    merge_similar_functions_summary

    fn merge_similar_functions_summary() -> String

    no_full_inline_summary

    fn no_full_inline_summary() -> String

    no_inline_copy_policy_annotations

    fn no_inline_copy_policy_annotations(mod_ :
    Module
    , source_idx : UInt, target_idx : UInt) ->
    Module

    no_inline_pass_pattern

    fn no_inline_pass_pattern(flag : String) -> (String, String)?

    no_inline_summary

    fn no_inline_summary() -> String

    no_partial_inline_summary

    fn no_partial_inline_summary() -> String

    o4z_canonicalize_final_size_candidate

    fn o4z_canonicalize_final_size_candidate(mod_ :
    Module
    ) ->
    Module

    o4z_canonicalize_final_size_candidate_with_changed

    fn o4z_canonicalize_final_size_candidate_with_changed(mod_ :
    Module
    ) -> (
    Module
    , Bool)

    o4z_canonicalize_final_size_ifs_stateful_candidate

    fn o4z_canonicalize_final_size_ifs_stateful_candidate(mod_ :
    Module
    ) ->
    Module

    o4z_canonicalize_final_size_store_carries

    fn o4z_canonicalize_final_size_store_carries(mod_ :
    Module
    ) ->
    Module

    o4z_outline_similar_size_functions

    fn o4z_outline_similar_size_functions(mod_ :
    Module
    ) ->
    Module

    o4z_prune_final_size_unreferenced_globals

    fn o4z_prune_final_size_unreferenced_globals(mod_ :
    Module
    ) ->
    Module

    o4z_restore_optimized_primes_variadic_pack_funcs

    fn o4z_restore_optimized_primes_variadic_pack_funcs(original :
    Module
    , candidate :
    Module
    ) ->
    Module

    o4z_size_candidate_has_observable_assemblyscript_memory

    fn o4z_size_candidate_has_observable_assemblyscript_memory(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_observable_assemblyscript_run

    fn o4z_size_candidate_has_observable_assemblyscript_run(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_observable_assemblyscript_startup

    fn o4z_size_candidate_has_observable_assemblyscript_startup(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_optimized_primes_variadic_pack_runtime

    fn o4z_size_candidate_has_optimized_primes_variadic_pack_runtime(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_root_default_local_copy

    fn o4z_size_candidate_has_root_default_local_copy(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_small_dense_i64_mul

    fn o4z_size_candidate_has_small_dense_i64_mul(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_stack_carried_simd_trunc_global_write

    fn o4z_size_candidate_has_stack_carried_simd_trunc_global_write(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_stateful_emscripten_main_runtime

    fn o4z_size_candidate_has_stateful_emscripten_main_runtime(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_unobservable_atomic_fence

    fn o4z_size_candidate_has_unobservable_atomic_fence(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_unreferenced_defined_global

    fn o4z_size_candidate_has_unreferenced_defined_global(mod_ :
    Module
    ) -> Bool

    o4z_size_candidate_has_unsafe_emscripten_main_runtime

    fn o4z_size_candidate_has_unsafe_emscripten_main_runtime(mod_ :
    Module
    ) -> Bool

    once_reduction_run_module_pass

    once_reduction_summary

    fn once_reduction_summary() -> String

    optimize_casts_descriptor

    optimize_casts_run

    fn optimize_casts_run(ctx : HotPassContext, func :
    HotFunc
    ) -> HotPassResult

    optimize_casts_summary

    fn optimize_casts_summary() -> String

    optimize_instructions_descriptor

    fn optimize_instructions_descriptor() ->
    HotPassDescriptor

    optimize_instructions_summary

    fn optimize_instructions_summary() -> String

    optimize_preset_passes

    fn optimize_preset_passes(options : HotPipelineOptions) -> Array[String]

    pass_compute_label_used

    pass_delete_detached_nodes

    fn pass_delete_detached_nodes(ctx : HotPassContext, func :
    HotFunc
    , node_ids : Array[Int]) -> Unit

    pass_label_is_used

    fn pass_label_is_used(label_id : Int, label_used :
    BitSet
    ) -> Bool

    pass_mark_mutated

    fn pass_mark_mutated(ctx : HotPassContext, func :
    HotFunc
    ) -> Unit

    pass_node_is_unused

    fn pass_node_is_unused(ctx : HotPassContext, func :
    HotFunc
    , node_id : Int) -> Bool

    pass_node_use_count

    fn pass_node_use_count(ctx : HotPassContext, func :
    HotFunc
    , node_id : Int) -> Int

    pass_prepare_requirements

    fn pass_prepare_requirements(ctx : HotPassContext, func :
    HotFunc
    ) -> Unit

    pass_raw_collapse_trailing_unreachable_run

    pass_raw_dropped_block_has_unreachable_tail

    fn pass_raw_dropped_block_has_unreachable_tail(instr :
    Instruction
    ) -> Bool

    pass_raw_instr_is_branch_control

    fn pass_raw_instr_is_branch_control(instr :
    Instruction
    ) -> Bool

    pass_raw_instrs_end_in_unreachable

    fn pass_raw_instrs_end_in_unreachable(instrs : Array[
    Instruction
    ]) -> Bool

    pass_raw_instrs_have_branch_control

    fn pass_raw_instrs_have_branch_control(instrs : Array[
    Instruction
    ]) -> Bool

    pass_raw_remove_dropped_unreachable_debris

    fn pass_raw_remove_dropped_unreachable_debris(instrs : Array[
    Instruction
    ]) -> (Array[
    Instruction
    ], Bool)

    pass_raw_void_block_can_inline_before_unreachable

    fn pass_raw_void_block_can_inline_before_unreachable(instr :
    Instruction
    ) -> Bool

    pass_registry_all

    fn pass_registry_all() -> Array[HotPassRegistryEntry]

    pass_registry_category

    fn pass_registry_category(name : String) -> HotPassRegistryCategory?

    pass_registry_expanded_names_for_module

    fn pass_registry_expanded_names_for_module(mod_ :
    Module
    , options : HotPipelineOptions, requested_passes : Array[String]) -> Result[Array[String], String]

    pass_registry_fixed_point_cleanup_sequence

    fn pass_registry_fixed_point_cleanup_sequence() -> Array[String]

    pass_registry_help_entries

    fn pass_registry_help_entries() -> Array[HotPassRegistryEntry]

    pass_registry_lookup

    fn pass_registry_lookup(name : String) -> HotPassRegistryEntry?

    pass_registry_random_executable_sequence

    fn pass_registry_random_executable_sequence(profile : String, seed : UInt64) -> Array[String]

    pass_replace_node

    fn pass_replace_node(ctx : HotPassContext, func :
    HotFunc
    , node_id : Int, new_node :
    HotNode
    , preserve_value_order? : Bool) -> Unit

    pass_require_liveness

    pass_require_loop_info

    pass_require_use_def

    pass_splice_region

    fn pass_splice_region(ctx : HotPassContext, func :
    HotFunc
    , region_ref :
    HotRegionRef
    , idx : Int, remove_count : Int, node_ids : Array[Int]) -> Array[Int]

    pass_test_capture_trace

    fn pass_test_capture_trace(text : String, requested_passes : Array[String]) -> Result[Array[String], String]

    pass_test_lift_first_func

    fn pass_test_lift_first_func(text : String) ->
    HotFunc

    pass_test_module_from_wat

    fn pass_test_module_from_wat(text : String) ->
    Module

    pass_test_run_pipeline

    fn pass_test_run_pipeline(text : String, requested_passes : Array[String], options? : HotPipelineOptions) -> Result[
    Module
    , String]

    pass_verify_before_after

    fn pass_verify_before_after(ctx : HotPassContext, func :
    HotFunc
    ) -> Result[Unit, String]

    perf_count_cfg_build

    fn perf_count_cfg_build(session : HotPerfSession, count? : Int) -> Unit

    perf_count_child_span_alloc

    fn perf_count_child_span_alloc(session : HotPerfSession, count? : Int) -> Unit

    perf_count_dataflow_build

    fn perf_count_dataflow_build(session : HotPerfSession, name : String, count? : Int) -> Unit

    perf_count_hot_alloc_delta

    fn perf_count_hot_alloc_delta(session : HotPerfSession, before : HotPerfHotSnapshot, after : HotPerfHotSnapshot) -> Unit

    perf_count_node_alloc

    fn perf_count_node_alloc(session : HotPerfSession, count? : Int) -> Unit

    perf_count_region_splice

    fn perf_count_region_splice(session : HotPerfSession, count? : Int) -> Unit

    perf_count_side_table_alloc

    fn perf_count_side_table_alloc(session : HotPerfSession, count? : Int) -> Unit

    perf_count_traversal_visit

    fn perf_count_traversal_visit(session : HotPerfSession, count? : Int) -> Unit

    perf_counters

    fn perf_counters(session : HotPerfSession) -> HotPerfCounters

    perf_dump_cfg

    fn perf_dump_cfg(session : HotPerfSession, cfg :
    HotCfg
    , label : String) -> Unit

    perf_dump_hot_func

    fn perf_dump_hot_func(session : HotPerfSession, func :
    HotFunc
    , label : String) -> Unit

    perf_emit_counters

    fn perf_emit_counters(session : HotPerfSession, label : String) -> Unit

    perf_snapshot_hot_func

    fn perf_snapshot_hot_func(func :
    HotFunc
    ) -> HotPerfHotSnapshot

    perf_start_timer

    fn perf_start_timer(session : HotPerfSession, name : String) -> UInt64

    perf_stop_timer

    fn perf_stop_timer(session : HotPerfSession, name : String, start_us : UInt64) -> Unit

    perf_validation_checkpoint

    fn perf_validation_checkpoint(session : HotPerfSession, name : String) -> Unit

    pick_load_signs_descriptor

    pick_load_signs_summary

    fn pick_load_signs_summary() -> String

    pipeline_trace_hook

    fn pipeline_trace_hook(trace : (String) -> Unit, pass_name : String, event : String, payload? : String) -> Unit

    pipeline_verify_checkpoint

    fn pipeline_verify_checkpoint(policy : HotPipelineVerifyPolicy, label : String, target : HotPipelineVerifyTarget) -> Result[Unit, String]

    precompute_descriptor

    precompute_propagate_descriptor

    fn precompute_propagate_descriptor() ->
    HotPassDescriptor

    precompute_propagate_run

    fn precompute_propagate_run(ctx : HotPassContext, func :
    HotFunc
    ) -> HotPassResult

    precompute_propagate_summary

    fn precompute_propagate_summary() -> String

    precompute_summary

    fn precompute_summary() -> String

    propagate_globals_globally_run_module_pass

    fn propagate_globals_globally_run_module_pass(mod_ :
    Module
    ) ->
    Module

    propagate_globals_globally_summary

    fn propagate_globals_globally_summary() -> String

    remove_unused_brs_descriptor

    remove_unused_brs_summary

    fn remove_unused_brs_summary() -> String

    remove_unused_names_descriptor

    fn remove_unused_names_descriptor() ->
    HotPassDescriptor

    remove_unused_names_summary

    fn remove_unused_names_summary() -> String

    reorder_globals_run_module_pass

    fn reorder_globals_run_module_pass(mod_ :
    Module
    ) ->
    Module

    reorder_globals_run_module_pass_always

    fn reorder_globals_run_module_pass_always(mod_ :
    Module
    ) ->
    Module

    reorder_globals_summary

    fn reorder_globals_summary() -> String

    reorder_locals_run_module_pass

    reorder_locals_summary

    fn reorder_locals_summary() -> String

    rse_summary

    fn rse_summary() -> String

    rume_extract_functions

    rume_nonfunction_summary

    fn rume_nonfunction_summary() -> String

    rume_run_host_roots_module_pass

    fn rume_run_host_roots_module_pass(mod_ :
    Module
    , roots : Array[String]) -> Result[
    Module
    , String]

    Apply the application's exact export roots as the final mutating transform. Preserve exposed function names/identity relative to this input module.

    rume_run_module_pass

    fn rume_run_module_pass(mod_ :
    Module
    , traps_never_happen? : Bool, closed_world? : Bool) ->
    Module

    rume_run_nonfunction_module_pass

    fn rume_run_nonfunction_module_pass(mod_ :
    Module
    , traps_never_happen? : Bool, closed_world? : Bool) ->
    Module

    rume_summary

    fn rume_summary() -> String

    run_hot_pipeline

    fn run_hot_pipeline(mod_ :
    Module
    , options : HotPipelineOptions, requested_passes : Array[String]) -> Result[
    Module
    , String]

    run_hot_pipeline_debug_dump_enabled

    fn run_hot_pipeline_debug_dump_enabled(options : HotPipelineOptions, func_idx :
    FuncIdx
    , descriptor_name : String) -> Bool

    shrink_preset_passes

    fn shrink_preset_passes(options : HotPipelineOptions) -> Array[String]

    simplify_globals_optimizing_summary

    fn simplify_globals_optimizing_summary() -> String

    simplify_locals_descriptor

    simplify_locals_nonesting_descriptor

    fn simplify_locals_nonesting_descriptor() ->
    HotPassDescriptor

    simplify_locals_nonesting_summary

    fn simplify_locals_nonesting_summary() -> String

    simplify_locals_nostructure_descriptor

    fn simplify_locals_nostructure_descriptor() ->
    HotPassDescriptor

    simplify_locals_nostructure_exact_slot_passes

    fn simplify_locals_nostructure_exact_slot_passes() -> Array[String]

    simplify_locals_nostructure_summary

    fn simplify_locals_nostructure_summary() -> String

    simplify_locals_notee_descriptor

    fn simplify_locals_notee_descriptor() ->
    HotPassDescriptor

    simplify_locals_notee_nostructure_descriptor

    fn simplify_locals_notee_nostructure_descriptor() ->
    HotPassDescriptor

    simplify_locals_notee_nostructure_exact_neighborhood_ready

    fn simplify_locals_notee_nostructure_exact_neighborhood_ready() -> Bool

    simplify_locals_notee_nostructure_summary

    fn simplify_locals_notee_nostructure_summary() -> String

    simplify_locals_notee_summary

    fn simplify_locals_notee_summary() -> String

    simplify_locals_summary

    fn simplify_locals_summary() -> String

    ssa_full_build_merge_rewrite_plan

    ssa_full_descriptor

    ssa_full_summary

    fn ssa_full_summary() -> String

    ssa_nomerge_build_rewrite_plan

    Build the analysis-only no-merge rewrite plan from LocalGraph facts.

    ssa_nomerge_descriptor

    ssa_nomerge_loop_carried_canonical_writes

    fn ssa_nomerge_loop_carried_canonical_writes(func :
    HotFunc
    ) ->
    BitSet

    ssa_nomerge_summary

    fn ssa_nomerge_summary() -> String

    string_gathering_run_module_pass

    fn string_gathering_run_module_pass(mod_ :
    Module
    ) ->
    Module

    string_gathering_summary

    fn string_gathering_summary() -> String

    strip_debug_run_module_pass

    strip_debug_summary

    fn strip_debug_summary() -> String

    tuple_optimization_descriptor

    fn tuple_optimization_descriptor() ->
    HotPassDescriptor

    tuple_optimization_exact_slot_prereqs_ready

    fn tuple_optimization_exact_slot_prereqs_ready() -> Bool

    tuple_optimization_summary

    fn tuple_optimization_summary() -> String

    untee_run_module_pass

    untee_summary

    fn untee_summary() -> String

    Source Files