jtenner/starshine/passes does not have a README file
pub struct ApplyCompilerFactsResult {
module_ : Module
stats : CompilerFactMaterializationStats
} derive(Debug)pub struct CompilerFactIndex {
facts : OptimizationFactsSec
functions : HashMap[UInt, FunctionFacts]
bodies : HashMap[UInt, FunctionBodyFacts]
values : HashMap[ValueSite, ValueFacts]
calls : HashMap[CodeSite, CallSiteFacts]
signatures : HashMap[UInt, SignatureFacts]
types : HashMap[UInt, TypeFacts]
globals : HashMap[UInt, GlobalFacts]
tables : HashMap[UInt, TableFacts]
} derive(Debug)fn CompilerFactIndex::allocation_facts(self : CompilerFactIndex, site : ValueSite) -> AllocationFacts?fn CompilerFactIndex::body_facts(self : CompilerFactIndex, function : FuncIdx) -> FunctionBodyFacts?fn CompilerFactIndex::compiler_fact_exact_call_target(self : CompilerFactIndex, site : CodeSite, target_value_site? : ValueSite?) -> UInt?fn CompilerFactIndex::function_facts(self : CompilerFactIndex, function : FuncIdx) -> FunctionFacts?fn CompilerFactIndex::hints_for_function(self : CompilerFactIndex, function : FuncIdx) -> Array[OptimizationHint]fn CompilerFactIndex::hints_for_site(self : CompilerFactIndex, site : CodeSite) -> Array[OptimizationHint]fn CompilerFactIndex::signature_facts(self : CompilerFactIndex, signature : TypeIdx) -> SignatureFacts?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)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
}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) -> HotPassContextimpl Show for HotPassRegistryCategorypub struct HotPassRegistryEntry {
name : String
summary : String
category : HotPassRegistryCategory
descriptor : HotPassDescriptor?
expanded_passes : Array[String]
} derive(Eq, Debug)impl Show for HotPassRegistryEntryfn 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) -> HotPerfCounterspub 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]
}fn HotPerfSession::new(enabled? : Bool, trace? : (String) -> Unit, trace_timings? : Bool, trace_checkpoints? : Bool, trace_counters? : Bool, dump_options? : HotPerfDumpOptions) -> HotPerfSessionpub 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
}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?) -> HotPipelineOptionspub enum HotPipelineVerifyTarget {
HotFuncTarget(HotFunc)
HotFuncWithCacheTarget(HotFunc, HotAnalysisCache)
ModuleTarget(Module)
}impl Show for HotTupleOptimizationGrouppub(all) struct SsaFullGetRewrite {
get_id : Int
original_local : Int
decision : SsaFullGetDecision
} derive(Eq, Debug)pub(all) struct SsaFullMergeGetRewrite {
get_id : Int
original_local : Int
merge_local : Int
inputs : Array[SsaFullMergeInput]
} derive(Eq, Debug)pub(all) struct SsaFullRewritePlan {
write_rewrites : Array[SsaFullWriteRewrite]
get_rewrites : Array[SsaFullGetRewrite]
merge_gets : Array[SsaFullMergeGetRewrite]
} derive(Eq, Debug)pub(all) struct SsaFullWriteRewrite {
write_id : Int
original_local : Int
decision : SsaFullWriteDecision
} derive(Eq, Debug)pub(all) struct SsaNoMergeGetRewrite {
get_id : Int
original_local : Int
decision : SsaNoMergeGetDecision
} derive(Eq, Debug)pub(all) struct SsaNoMergeRewritePlan {
write_rewrites : Array[SsaNoMergeWriteRewrite]
get_rewrites : Array[SsaNoMergeGetRewrite]
} derive(Eq, Debug)pub(all) struct SsaNoMergeWriteRewrite {
write_id : Int
original_local : Int
influenced_gets : Array[Int]
decision : SsaNoMergeWriteDecision
} derive(Eq, Debug)fn apply_compiler_facts(module_ : Module, policy : CompilerFactUsePolicy) -> Result[ApplyCompilerFactsResult, String]fn global_struct_inference_desc_cast_summary() -> Stringfn inlining_nested_function_pipeline_passes(optimize_level : Int, shrink_level : Int) -> Array[String]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) -> Modulefn pass_raw_remove_dropped_unreachable_debris(instrs : Array[Instruction]) -> (Array[Instruction], Bool)fn pass_registry_expanded_names_for_module(mod_ : Module, options : HotPipelineOptions, requested_passes : Array[String]) -> Result[Array[String], String]fn pass_replace_node(ctx : HotPassContext, func : HotFunc, node_id : Int, new_node : HotNode, preserve_value_order? : Bool) -> Unitfn pass_rewrite_structured_instr(instr : Instruction, rewrite_instrs : (Array[Instruction]) -> (Array[Instruction], Bool)) -> (Instruction, Bool)fn pass_splice_region(ctx : HotPassContext, func : HotFunc, region_ref : HotRegionRef, idx : Int, remove_count : Int, node_ids : Array[Int]) -> Array[Int]fn pass_test_run_pipeline(text : String, requested_passes : Array[String], options? : HotPipelineOptions) -> Result[Module, String]fn perf_count_hot_alloc_delta(session : HotPerfSession, before : HotPerfHotSnapshot, after : HotPerfHotSnapshot) -> Unitfn pipeline_trace_hook(trace : (String) -> Unit, pass_name : String, event : String, payload? : String) -> Unitfn pipeline_verify_checkpoint(policy : HotPipelineVerifyPolicy, label : String, target : HotPipelineVerifyTarget) -> Result[Unit, String]fn run_hot_pipeline(mod_ : Module, options : HotPipelineOptions, requested_passes : Array[String]) -> Result[Module, String]fn run_hot_pipeline_debug_dump_enabled(options : HotPipelineOptions, func_idx : FuncIdx, descriptor_name : String) -> Boolfn simplify_locals_notee_nostructure_exact_neighborhood_ready() -> Boolfn simplify_locals_notee_nostructure_summary() -> Stringfn tuple_optimization_exact_slot_prereqs_ready() -> BoolInstall
Download zipWebAssembly parsing, validation, encoding, and optimization toolkit