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

Yvan Roux via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 9 03:26:36 PST 2020


yroux added a comment.

In D57054#1811486 <https://reviews.llvm.org/D57054#1811486>, @samparker wrote:

> This, and the fact that LowOverheadLoops is dependent upon block sizes and placement (I need to add a comment in the header on that pass....). So, ConstantIslands would have to guarantee not to change branch targets or change the distance between blocks around the low-overhead loop constructs. I think updating liveness information would be the easier option.


I can add liveness info into the outlined function, but we will need to do the same on AArch64 even if is not necessary.  On the other hand isn't it the same for the ConstantIslands pass, I mean isn't the size of blocks modified by the LowOverheadLoops pass which can potentially break the accesses to some constant ? The experiment also shows that the optmization of cmp/beq into cbz made by ConstantIsland place is unleashed when the LowOverheadLoops is made before.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D57054





More information about the cfe-commits mailing list