This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Enable outliner at -Oz for M-class
ClosedPublic

Authored by samparker on Jul 1 2020, 5:01 AM.

Details

Summary

Enable default outlining when the function has the minsize attribute and we're targeting an m-class core. @yroux I don't want to step on your toes about this, but I would like this to be enabled by default for our downstream testing, so please say if you have any major concerns!

Diff Detail

Event Timeline

samparker created this revision.Jul 1 2020, 5:01 AM
yroux added a comment.Jul 1 2020, 6:57 AM

Hi Sam,

no worries, I thought the optim would have to bake a bit longer before being bundled into Oz, but I'm happy you propose to do it and think it will be better tested with that change.

So I'm OK with your proposal and the patch, but while working on the next Oulining mode I found a latent issue with the liveness information calcuted by the MachineOutliner, in a nutshell if-conversion can introduce a predicated BX_RET in the middle of a BB and the current implementation doesn't see that LR is not dead and needs to be saved/restored when trying to outline a chunk before this BX_RET. I'm testing a fix for that and will submit it as soon as possible, so maybe wait for it before committing it.

Thanks, I'm hoping that doing it just for M-class at the moment won't disrupt too many people if there are some bug to fix.

so maybe wait for it before committing it.

Sure!

Rebased.
Shall we do this Yvan?

yroux accepted this revision.Aug 26 2020, 11:58 PM

Hi Sam,

Yes that's good for me, thanks!

This revision is now accepted and ready to land.Aug 26 2020, 11:58 PM
This revision was automatically updated to reflect the committed changes.