mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
LibJS: Don't try to merge blocks not ending in Jumps
This commit is contained in:
committed by
Ali Mohammad Pur
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();
|
||||
|
||||
Reference in New Issue
Block a user