| 442 | } |
| 443 | |
| 444 | bool LoopFissionPass::ShouldSplitLoop(const Loop& loop, IRContext* c) { |
| 445 | LivenessAnalysis* analysis = c->GetLivenessAnalysis(); |
| 446 | |
| 447 | RegisterLiveness::RegionRegisterLiveness liveness{}; |
| 448 | |
| 449 | Function* function = loop.GetHeaderBlock()->GetParent(); |
| 450 | analysis->Get(function)->ComputeLoopRegisterPressure(loop, &liveness); |
| 451 | |
| 452 | return split_criteria_(liveness); |
| 453 | } |
| 454 | |
| 455 | Pass::Status LoopFissionPass::Process() { |
| 456 | bool changed = false; |
nothing calls this directly
no test coverage detected