[clang] [llvm] Implement `preserve_none` for 32-bit x86 (PR #150106)

Brandt Bucher via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 23 10:31:45 PDT 2025


brandtbucher wrote:

Okay. Both of those concerns already apply to the existing 64-bit flavor, right? Would you prefer to see them addressed here, or in a dedicated follow-up?

> For "nest", we can forbid combining it with the preserves_none calling convention, probably, as long as we can detect it and error out. There's no reason anyone would combine the two.

Makes sense. Where do you think the best place to do this is?

> For the base pointer, you also need to worry about the callee-save register list: I don't think we have code to properly save/restore the base pointer if it gets clobbered by a call.

Okay, this is just adding them to the existing `CSR_*_NoneRegs`, correct?

https://github.com/llvm/llvm-project/pull/150106


More information about the llvm-commits mailing list