diff options
author | Quentin Colombet <qcolombet@apple.com> | 2016-04-12 00:38:51 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2016-04-12 00:38:51 +0000 |
commit | 777a7717ef2fd0ba274cfb34418f7fd9883c6bea (patch) | |
tree | 3b690f49e746cae6edd59c6268ae4535a15ac8f5 | |
parent | f43f882f3738763c7408d1505458301fe62e93b3 (diff) | |
download | bcm5719-llvm-777a7717ef2fd0ba274cfb34418f7fd9883c6bea.tar.gz bcm5719-llvm-777a7717ef2fd0ba274cfb34418f7fd9883c6bea.zip |
[RegBankSelect] Teach the repairing code how to handle physical
registers.
llvm-svn: 266029
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp b/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp index 0e7782841be..f31b2cc9db0 100644 --- a/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp +++ b/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp @@ -63,7 +63,10 @@ RegBankSelect::repairReg(unsigned Reg, assert(ValMapping.BreakDown.size() == 1 && "Support for complex break down not supported yet"); const RegisterBankInfo::PartialMapping &PartialMap = ValMapping.BreakDown[0]; - assert(PartialMap.Mask.getBitWidth() == MRI->getSize(Reg) && + assert(PartialMap.Mask.getBitWidth() == + (TargetRegisterInfo::isPhysicalRegister(Reg) + ? TRI->getMinimalPhysRegClass(Reg)->getSize() * 8 + : MRI->getSize(Reg)) && "Repairing other than copy not implemented yet"); // If the MIRBuilder is configured to insert somewhere else than // DefUseMI, we may not use this function like was it first @@ -207,7 +210,8 @@ void RegBankSelect::assignInstr(MachineInstr &MI) { // Therefore, create a new temporary for Reg. assert(ValMapping.BreakDown.size() == 1 && "Support for complex break down not supported yet"); - if (MRI->getRegClassOrRegBank(Reg)) { + if (TargetRegisterInfo::isPhysicalRegister(Reg) || + MRI->getRegClassOrRegBank(Reg)) { if (!MO.isDef() && MI.isPHI()) { // Phis are already copies, so there is nothing to repair. // Note: This will not hold when we support break downs with |