4 ms·
> A single IR allows you to freely reorder passes rather than having to reimplement them if you want to move them earlier or later in the phase order. ...i'm n
by mathisfun123 3y ago
> A single IR allows you to freely reorder passes rather than having to reimplement them if you want to move them earlier or later in the phase order.
...i'm not trying to be rude here but... that's not how any of this works...
you can scholar.google.com "phase ordering llvm ir" to find thousands of papers that demonstrate.
- subharmonicon 3y agoI have no idea what you mean by “how any of this works”. I didn’t bring up solving the phase ordering problem, you did. I’m simply pointing out that if you have a compiler where you have multiple IRs or dialects of IR, and you have a pass that is written to work on IR “X”, and then at some point after that pass you translate to IR “Y”, if you want to move your pass after that point of translation, you either need to rewrite your pass so that it operates on “Y”, or you need to translate back to “X” again.
- mathisfun123 3y ago> I didn’t bring up solving the phase ordering problem, you did. what? the first mention of phase ordering this thread is due to you >That fell out of favor due to the fact that you end up having to choose and commit to the phase ordering fairly early on