================
@@ -1125,6 +1130,10 @@ Register SparcTargetLowering::getRegisterByName(const
char* RegName, LLT VT,
.Case("g4", SP::G4).Case("g5", SP::G5).Case("g6", SP::G6).Case("g7",
SP::G7)
.Default(0);
+ const SparcRegisterInfo *TRI = Subtarget->getRegisterInfo();
+ if (!TRI->isReservedReg(MF, Reg))
+ Reg = 0;
----------------
s-barannikov wrote:
I think we should follow gcc as much as possible. Some info can be found
[here](https://gcc.gnu.org/onlinedocs/gcc/Global-Register-Variables.html).
In particular, gcc does not seem to require -ffixed-reg option for a register
used in 'register asm' construct (global or local). Reserving an ABI register
does not prohibit function calls either. I've been only able to get an error
when trying to reserve the frame pointer.
https://github.com/llvm/llvm-project/pull/74927
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits