|
|
|
@ -703,8 +703,7 @@ private: |
|
|
|
|
|
|
|
// Implement if header block
|
|
|
|
IR::IREmitter ir{*current_block}; |
|
|
|
const IR::U1 cond{VisitExpr(ir, *stmt.cond)}; |
|
|
|
ir.DummyReference(cond); |
|
|
|
const IR::U1 cond{ir.ConditionRef(VisitExpr(ir, *stmt.cond))}; |
|
|
|
|
|
|
|
const size_t if_node_index{syntax_list.size()}; |
|
|
|
syntax_list.emplace_back(); |
|
|
|
@ -754,8 +753,7 @@ private: |
|
|
|
|
|
|
|
// The continue block is located at the end of the loop
|
|
|
|
IR::IREmitter ir{*continue_block}; |
|
|
|
const IR::U1 cond{VisitExpr(ir, *stmt.cond)}; |
|
|
|
ir.DummyReference(cond); |
|
|
|
const IR::U1 cond{ir.ConditionRef(VisitExpr(ir, *stmt.cond))}; |
|
|
|
|
|
|
|
IR::Block* const body_block{syntax_list.at(body_block_index).data.block}; |
|
|
|
loop_header_block->AddBranch(body_block); |
|
|
|
@ -791,8 +789,7 @@ private: |
|
|
|
IR::Block* const skip_block{MergeBlock(parent, stmt)}; |
|
|
|
|
|
|
|
IR::IREmitter ir{*current_block}; |
|
|
|
const IR::U1 cond{VisitExpr(ir, *stmt.cond)}; |
|
|
|
ir.DummyReference(cond); |
|
|
|
const IR::U1 cond{ir.ConditionRef(VisitExpr(ir, *stmt.cond))}; |
|
|
|
current_block->AddBranch(break_block); |
|
|
|
current_block->AddBranch(skip_block); |
|
|
|
current_block = skip_block; |
|
|
|
|