| 141 | } |
| 142 | |
| 143 | uint32_t StructuredCFGAnalysis::LoopMergeBlock(uint32_t bb_id) { |
| 144 | uint32_t header_id = ContainingLoop(bb_id); |
| 145 | if (header_id == 0) { |
| 146 | return 0; |
| 147 | } |
| 148 | |
| 149 | BasicBlock* header = context_->cfg()->block(header_id); |
| 150 | Instruction* merge_inst = header->GetMergeInst(); |
| 151 | return merge_inst->GetSingleWordInOperand(kMergeNodeIndex); |
| 152 | } |
| 153 | |
| 154 | uint32_t StructuredCFGAnalysis::LoopContinueBlock(uint32_t bb_id) { |
| 155 | uint32_t header_id = ContainingLoop(bb_id); |