Hi all,
I've been contributing to SILOptimizer and got curious about whether there's been any exploration of using ML/RL to guide optimization decisions in SIL, in the spirit of what Google's MLGO does for inlining and register allocation in LLVM.
The general idea would be replacing some of the current heuristics (inlining decisions, generic specialization, ARC optimization, etc.) with a learned model in cases where static analysis is known to be overly conservative, with any proposed transformation still validated through existing static guarantees rather than trusted blindly.
Before digging further, I wanted to check:
- has this been discussed on the list or in an existing proposal/RFC?
- which SIL passes are known to be the most conservative today, and would make good candidates to explore this on?
- any pointers to prior art specific to SIL (rather than LLVM IR) would be great.
Thanks!