[PATCH] D57054: [MachineOutliner][ARM][RFC] Add Machine Outliner support for ARM

Yvan Roux via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 9 06:37:20 PST 2020


yroux added a comment.

> ! In D57054#1811740 <https://reviews.llvm.org/D57054#1811740>, @samparker wrote:
>  Hmm, would it be possible to pass a bool to the pass which will control whether liveness is updated? The other, suboptimal, option would be to not do outlining when we have the LOB extension.

Ok maybe, at least in a first keeping the current pass order and disabling outliner when LOB is turned on is the thing to do, and we can move to more optimized version later.

> Yes, but LowOverheadLoops does not increase block size or change the CFG. We mainly remove instructions but in the cases where we add instructions, they're replacing pseudos with a size that represents the maximum number of instructions that could be inserted.

Even if you only decrease the size you can have a distance increase due to aligment constraints, for instance if LOB removes some instructions before a load of a constant, then we have .align directive before a constant island, the load is moved upward and the distance between the load and the constant has increased


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57054/new/

https://reviews.llvm.org/D57054





More information about the llvm-commits mailing list