Currently the autogenerated regalloc model will sometimes
output an incorrect LR index to evict instead of the first LR
with with the mask set to 1. This trips an assertion within
the MLRegallocAdvisor that the evicted LR has a mask of 1. This
patch, made possible by https://reviews.llvm.org/D124565, simplifies
the autogenerated model by taking away all unnecessary features and
getting rid of the functions that were previously to mix in all
the necessary inputs so they wouldn't get pruned by the Tensorflow
XLA AOT compiler. This is no longer necessary after the previously
mentioned patch. This also fixes the nondeterministic behavior
that is sometimes observed where the autogenerated model will
simply output 0 instead of the correct index.
Details
Details
- Reviewers
mtrofin yundiqian - Commits
- rGf3939dc50938: [mlgo] Simplify autogenerated regalloc model
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
This patch removes all unnecessary features from the autogenerated regalloc model (simplifying it greatly) and gets rid of the nondeterminism that I was experiencing that trips the mask==1 assertion in the MLRegallocAdvisor. Not anything super critical, but slightly annoying during development as it has to be commented out and commented back in after feature extraction development is completed and doesn't do what it it is supposed to during development. Tested locally as working and all the tests in /llvm/test/CodeGen/MLRegalloc pass for me as well.