Forkify fixes
1 unresolved thread
1 unresolved thread
Merge request reports
Activity
528 536 // PHIs on the frontier of the uses by the candidate phi, i.e in uses_for_dependance need 529 537 // to have headers that postdominate the loop continue latch. The value of the PHI used needs to be defined 530 538 // by the time the reduce is triggered (at the end of the loop's internal control). 539 // If anything in the intersection is a phi (that isn't this own phi), then the reduction cycle depends on control. 540 // Which is not allowed. 541 if intersection.iter().any(|cycle_node| editor.node(cycle_node).is_phi() && *cycle_node != *phi) || editor.node(loop_continue_latch).is_phi() { 542 return LoopPHI::ControlDependant(*phi); 543 } Not allowed is a strong way to put it - it's not allowed:
- By the time of GCM
- Even then, only for non-parallel-reduce phis
GCM has been modified to automatically unforkify fork-joins with control dependent, non-parallel reductions. So in this case, I believe we can actually forkify.
Edited by rarbore2
- Resolved by rarbore2
added 3 commits
-
6382ef42...259b6268 - 2 commits from branch
main
- 0d27e11f - Merge branch 'main' into forkify-fixes
-
6382ef42...259b6268 - 2 commits from branch
added 3 commits
-
43404780...4a0f20de - 2 commits from branch
main
- d1be038f - Merge branch 'main' into forkify-fixes
-
43404780...4a0f20de - 2 commits from branch
enabled an automatic merge when all merge checks for 13bc8938 pass
mentioned in commit 0d5cd1ab
Please register or sign in to reply