mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-15 04:13:11 +00:00
LibJS: Don't try to merge blocks not ending in Jumps
This commit is contained in:
parent
192897c269
commit
186237aec8
|
@ -30,6 +30,9 @@ void MergeBlocks::perform(PassPipelineExecutable& executable)
|
|||
if (executable.exported_blocks->contains(*entry.value.begin()))
|
||||
continue;
|
||||
|
||||
if (entry.key->terminator()->type() != Instruction::Type::Jump)
|
||||
continue;
|
||||
|
||||
{
|
||||
InstructionStreamIterator it { entry.key->instruction_stream() };
|
||||
auto& first_instruction = *it;
|
||||
|
@ -95,6 +98,7 @@ void MergeBlocks::perform(PassPipelineExecutable& executable)
|
|||
auto it = blocks_to_merge.begin();
|
||||
auto const* current_block = *it;
|
||||
blocks_to_merge.remove(it);
|
||||
|
||||
Vector<BasicBlock const*> successors { current_block };
|
||||
for (;;) {
|
||||
auto const* last = successors.last();
|
||||
|
|
Loading…
Reference in a new issue