[all-commits] [llvm/llvm-project] 739b69: [LLVM][AArch64] Explain that X19 is used as the fr...
David Spickett via All-commits
all-commits at lists.llvm.org
Mon Sep 12 02:18:26 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 739b69e655fe66674982cffc8b8166306355e7d3
https://github.com/llvm/llvm-project/commit/739b69e655fe66674982cffc8b8166306355e7d3
Author: David Spickett <david.spickett at linaro.org>
Date: 2022-09-12 (Mon, 12 Sep 2022)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
A llvm/test/CodeGen/AArch64/inline-asm-clobber-base-frame-pointer.ll
Log Message:
-----------
[LLVM][AArch64] Explain that X19 is used as the frame base pointer register
Fixes #50098
LLVM uses X19 as the frame base pointer, if it needs to. Meaning you
can get warnings if you clobber that with inline asm.
However, it doesn't explain why. The frame base register is not part
of the ABI so it's pretty confusing why you get that warning out of the blue.
This adds a method to explain a reserved register with X19 as the first one.
The logic is the same as getReservedRegs.
I could have added a return parameter to isASMClobberable and friends
but found that there's a lot of things that call isReservedReg in various
ways.
So while one more method on the pile isn't great design, it is simpler
right now to do it this way and only pay the cost if you are actually using
a reserved register.
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D133213
More information about the All-commits
mailing list