[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