The limitation with the registerOptimizerLastEPCallback ordering is that, when they come from different plugins - i.e. different shared libraries -, it is currently based solely on the order of command line options and can't be defined in the code.
Jun 29 2021
Jun 28 2021
Jun 25 2021
Adding subtarget feature to control RME availability.
Jun 24 2021
Jun 23 2021
Adding RME support to release notes.
Jun 18 2021
Jun 14 2021
This solution works well if both passes are always supposed to be run together. If they should also work as standalone passes, it becomes tricky to figure out at what point each of them should be registered.
This could be done using the legacy pass manager on a hacky kind of way by querying for the passes on the PassRegistry, but this is no longer an option in NPM.
Jun 9 2021
I'd still like to understand exactly what you'd be using this for. As in why does some pass need to run before all other instances of some other pass?
May 24 2021
As I mentioned, this is mostly targeted on plugin passes. At the moment the NPM only offers the PassBuilder's callbacks level of granularity to control when a plugin pass should be run, which might not be sufficient on some cases. The goal was to provide a more fine grained control over this, allowing plugin implementations to run before other native or plugin passes that migth impact their behavior.
Do you have any suggestions on alternative ways to achieve this? I'm not fond of using pass names here myself and would be more than happy to go for a different implementation.
May 21 2021
Feb 24 2021
Feb 15 2021
Dropping test's IR section.
Feb 11 2021
Feb 9 2021
This change is no longer relevant after D52010.
The changes from D52010 have removed the conflict that made the spilling of high register necessary.
This patch is no longer relevant. D96335 adds a test covering the high register clobbering scenario.
Feb 2 2021
Jan 27 2021
The truncate conditions look a lot better and the test coverage seems reasonable now.
Jan 14 2021
Jan 12 2021
Jan 7 2021
No problem! I've pushed the commit on your behalf.
Jan 4 2021
Dec 18 2020
Dec 17 2020
Dec 14 2020
Dec 9 2020
Adding new TLBI operands to xs tests.
Dec 8 2020
Dec 3 2020
Reducing scope to 'ls64' extension only.
Dec 2 2020
Dec 1 2020
As suggested, the contents of this revision were squashed into D91772.
Rebasing and addressing comments.