You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To determine whether a promise is unused anywhere else and therefore can be lowered, a forward analysis does not suffice. See file attached. If a promise is not used 'so far' within a particular branch, it does not mean it is not used in any other branches and, therefore, is not necessarily a candidate. FDGVN.txt
Notice that, in the file, the Deopt BB comes from a dead CheckPoint. Maybe we should schedule a Checkpoint cleanup at the very end of ForceDominance.
Also, we should revisit the method isUnused.
This is the only issue I did not solve when working on #1250. The bug is exposed when the budget is lifted from the pass scheduler. Sometimes ForceDominance and GVN will fight each other while doing and undoing changes, getting stuck in a loop. For example, ForceDominance would push MkArg instructions down to exit BBs, and GNU would push them back up.
To expose the bug, run : PIR_WARMUP=2 PIR_DEOPT_CHAOS=50000 bin/R -f ../../external/custom-r/tests/Examples/utils-Ex.R
The text was updated successfully, but these errors were encountered:
At:
rir/rir/src/compiler/opt/force_dominance.cpp
Line 112 in 0040223
To determine whether a promise is unused anywhere else and therefore can be lowered, a forward analysis does not suffice. See file attached. If a promise is not used 'so far' within a particular branch, it does not mean it is not used in any other branches and, therefore, is not necessarily a candidate.
FDGVN.txt
Notice that, in the file, the Deopt BB comes from a dead CheckPoint. Maybe we should schedule a Checkpoint cleanup at the very end of ForceDominance.
Also, we should revisit the method
isUnused
.This is the only issue I did not solve when working on #1250. The bug is exposed when the budget is lifted from the pass scheduler. Sometimes ForceDominance and GVN will fight each other while doing and undoing changes, getting stuck in a loop. For example, ForceDominance would push MkArg instructions down to exit BBs, and GNU would push them back up.
To expose the bug, run :
PIR_WARMUP=2 PIR_DEOPT_CHAOS=50000 bin/R -f ../../external/custom-r/tests/Examples/utils-Ex.R
The text was updated successfully, but these errors were encountered: