| 460 | } |
| 461 | |
| 462 | bool Loop::AreAllOperandsOutsideLoop(const Instruction& inst) const { |
| 463 | analysis::DefUseManager* def_use_mgr = GetContext()->get_def_use_mgr(); |
| 464 | |
| 465 | const std::function<bool(const uint32_t*)> operand_outside_loop = |
| 466 | [this, &def_use_mgr](const uint32_t* id) { |
| 467 | return !this->IsInsideLoop(def_use_mgr->GetDef(*id)); |
| 468 | }; |
| 469 | |
| 470 | return inst.WhileEachInId(operand_outside_loop); |
| 471 | } |
| 472 | |
| 473 | void Loop::ComputeLoopStructuredOrder( |
| 474 | std::vector<BasicBlock*>* ordered_loop_blocks, bool include_pre_header, |
nothing calls this directly
no test coverage detected