[all-commits] [llvm/llvm-project] a2202f: AMDGPU/GlobalISel: Manually RegBankSelect copies
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Wed Mar 11 08:12:35 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a2202f6a3f1c596d805755c2221a5b5527a1416b
https://github.com/llvm/llvm-project/commit/a2202f6a3f1c596d805755c2221a5b5527a1416b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-03-11 (Wed, 11 Mar 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-copy.mir
Log Message:
-----------
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.
More information about the All-commits
mailing list