|
|
|
@ -111,7 +111,7 @@ void Traverse(EmitContext& ctx, IR::Program& program) { |
|
|
|
IR::Block* current_block{}; |
|
|
|
for (const IR::AbstractSyntaxNode& node : program.syntax_list) { |
|
|
|
switch (node.type) { |
|
|
|
case IR::AbstractSyntaxNode::Type::Block: |
|
|
|
case IR::AbstractSyntaxNode::Type::Block: { |
|
|
|
const Id label{node.block->Definition<Id>()}; |
|
|
|
if (current_block) { |
|
|
|
ctx.OpBranch(label); |
|
|
|
@ -122,6 +122,7 @@ void Traverse(EmitContext& ctx, IR::Program& program) { |
|
|
|
EmitInst(ctx, &inst); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
case IR::AbstractSyntaxNode::Type::If: { |
|
|
|
const Id if_label{node.if_node.body->Definition<Id>()}; |
|
|
|
const Id endif_label{node.if_node.merge->Definition<Id>()}; |
|
|
|
|