Shengchen Kan
c9017bc793
[X86] Support EGPR (R16-R31) for APX ( #70958 )
...
1. Map R16-R31 to DWARF registers 130-145.
2. Make R16-R31 caller-saved registers.
3. Make R16-31 allocatable only when feature EGPR is supported
4. Make R16-31 availabe for instructions in legacy maps 0/1 and EVEX
space, except XSAVE*/XRSTOR
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Explanations for some seemingly unrelated changes:
inline-asm-registers.mir, statepoint-invoke-ra-enter-at-end.mir:
The immediate (TargetInstrInfo.cpp:1612) used for the regdef/reguse is
the encoding for the register
class in the enum generated by tablegen. This encoding will change
any time a new register class is added. Since the number is part
of the input, this means it can become stale.
seh-directive-errors.s:
R16-R31 makes ".seh_pushreg 17" legal
musttail-varargs.ll:
It seems some LLVM passes use the number of registers rather the number
of allocatable registers as heuristic.
This PR is to reland #67702 after #70222 in order to reduce some
compile-time regression when EGPR is not used.
2023-11-09 23:39:40 +08:00
..
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-08-16 16:15:44 -07:00
2023-05-19 22:21:56 +08:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-29 22:56:09 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-04-15 20:31:07 -04:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-08-16 16:15:44 -07:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-08-16 16:15:44 -07:00
2022-08-16 16:15:44 -07:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-04-22 11:07:41 -04:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2023-11-09 23:39:40 +08:00
2022-08-24 22:41:38 +00:00
2022-09-14 10:30:25 +02:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2023-05-17 17:03:15 +02:00
2022-08-10 13:18:02 +01:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-04-28 10:05:39 +08:00
2021-11-07 15:06:54 +00:00
2022-12-22 14:01:02 +01:00
2021-11-07 15:06:54 +00:00
2022-11-02 13:53:12 +00:00
2022-11-02 13:53:12 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-09-22 09:51:15 -04:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-08-16 16:15:44 -07:00
2022-08-16 16:15:44 -07:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2022-12-19 12:54:50 +01:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00
2021-11-07 15:06:54 +00:00