diff options
-rw-r--r-- | llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h b/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h index cc2c80d186c..e9b2a069a53 100644 --- a/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h +++ b/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h @@ -359,7 +359,11 @@ public: /// \note Since this is a copy, both registers have the same size. virtual unsigned copyCost(const RegisterBank &A, const RegisterBank &B, unsigned Size) const { - return 0; + // Optimistically assume that copies are coalesced. I.e., when + // they are on the same bank, they are free. + // Otherwise assume a non-zero cost of 1. The targets are supposed + // to override that properly anyway if they care. + return &A != &B; } /// Identifier used when the related instruction mapping instance |