simoncook added a comment.

In D67185#1718459 <https://reviews.llvm.org/D67185#1718459>, @luismarques wrote:

> @simoncook: your commit doesn't include handling the case of TLS lowering 
> when `-ffixed-x4` is used.


I looked at this, and did start writing the patch that covers the use of TP/X4 
for TLS lowering, but didn't push it because it doesn't match the rest of the 
the cases I error on here. As it stands, what landed produces errors whenever a 
reserved register is //modified//, but not when they are read (so in for 
example the argument case you can use incoming arguments, but not lower calls 
to functions that need arguments.

For TLS I believe we would only be consuming X4, so erroring here would be 
inconsistent. I don't necessarily think producing an error whenever the 
compiler wishes to read a particular register is useful, for inlineasm there's 
no way to verify the validity of reading a particular register, but I don't 
think we can express that to the backend well anyway. I can work on a follow-up 
error/warn on all the reads case if we think that's of value, but as far as the 
intended purpose of stopping the compiler clobbering reserved registers, I 
don't think there's anything needed in that case.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67185



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to