[PATCH] D129677: Disable machine function splitting for functions with inline asm br

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 11:39:21 PDT 2022


nickdesaulniers added a comment.

In D129677#3653627 <https://reviews.llvm.org/D129677#3653627>, @efriedma wrote:

> The primary issue with range extension thunks is that they clobber x16 (and in theory are allowed to clobber x17).  So we'd need to ensure that all asm goto blocks clobber x16 and x17.
>
> I can't think of any other issue with depending on range extension thunks, I guess.  (See also https://github.com/ARM-software/abi-aa/blob/main/aaelf64/aaelf64.rst#call-and-jump-relocations .)

I guess we could error if the inline asm used x16 or x17 and we did do MFS? IIRC, we already error for 32b r7 being reserved (under some conditions, which I've forgotten).  Or maybe avoid MFS if the inline asm had x16 or x17 in its clobber list?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129677



More information about the llvm-commits mailing list