MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / seal_block

Method seal_block

cranelift/frontend/src/ssa.rs:436–443  ·  view source on GitHub ↗

Completes the global value numbering for a `Block`, all of its predecessors having been already sealed. This method modifies the function's `Layout` by adding arguments to the `Block`s to take into account the Phi function placed by the SSA algorithm. Returns the list of newly created blocks for critical edge splitting.

(&mut self, block: Block, func: &mut Function)

Source from the content-addressed store, hash-verified

434 ///
435 /// Returns the list of newly created blocks for critical edge splitting.
436 pub fn seal_block(&mut self, block: Block, func: &mut Function) -> SideEffects {
437 debug_assert!(
438 !self.is_sealed(block),
439 "Attempting to seal {block} which is already sealed."
440 );
441 self.seal_one_block(block, func);
442 mem::take(&mut self.side_effects)
443 }
444
445 /// Completes the global value numbering for all unsealed `Block`s in `func`.
446 ///

Callers 15

make_trampolineFunction · 0.45
build_search_treeMethod · 0.45
build_search_branchesMethod · 0.45
build_jump_tableMethod · 0.45
do_caseFunction · 0.45
sequence_of_blocksFunction · 0.45
program_with_loopFunction · 0.45
br_table_with_argsFunction · 0.45
undef_values_reorderingFunction · 0.45
undefFunction · 0.45
undef_in_entryFunction · 0.45

Calls 1

seal_one_blockMethod · 0.80

Tested by 10

sequence_of_blocksFunction · 0.36
program_with_loopFunction · 0.36
br_table_with_argsFunction · 0.36
undef_values_reorderingFunction · 0.36
undefFunction · 0.36
undef_in_entryFunction · 0.36
unreachable_useFunction · 0.36