diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2020-02-20 14:00:56 -0500 |
---|---|---|
committer | Matt Arsenault <arsenm2@gmail.com> | 2020-03-11 11:12:12 -0400 |
commit | a2202f6a3f1c596d805755c2221a5b5527a1416b (patch) | |
tree | 22ccc1ed1d61389b081a63c683514f63b04d029a /clang/lib/Lex/ModuleMap.cpp | |
parent | fc421d7ca3ecc4864c547e587eac4dacd98c33da (diff) | |
download | llvm-a2202f6a3f1c596d805755c2221a5b5527a1416b.zip llvm-a2202f6a3f1c596d805755c2221a5b5527a1416b.tar.gz llvm-a2202f6a3f1c596d805755c2221a5b5527a1416b.tar.bz2 |
AMDGPU/GlobalISel: Manually RegBankSelect copies
This was failng on any pre-assigned copy to the VCC bank.
This is something of a workaround for the default implementation in
getInstrMappingImpl, and how it treats copy-like operations in
general.
Copy-like operations are considered to only have one result register
bank, rather than separate banks for each source like a normal
instruction. To avoid potentially mishandling reg_sequence with
impossible operand combinations, the generic implementation errors on
impossible costs. If the bank was already assigned, is treated it
as-if it were an unsatisfiable REG_SEQUENCE mapping. We really don't
get any value from any of what getInstrMappingImpl tries to do for
copies, so just directly emit the simple mapping we really want.
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions