forked from OSchip/llvm-project
Check regmask interference for -join-physregs.
llvm-svn: 150404
This commit is contained in:
parent
636d283202
commit
6f8fe71216
|
@ -1426,6 +1426,14 @@ bool RegisterCoalescer::JoinIntervals(CoalescerPair &CP) {
|
|||
return true;
|
||||
}
|
||||
|
||||
// Check if a register mask clobbers DstReg.
|
||||
BitVector UsableRegs;
|
||||
if (LIS->checkRegMaskInterference(RHS, UsableRegs) &&
|
||||
!UsableRegs.test(CP.getDstReg())) {
|
||||
DEBUG(dbgs() << "\t\tRegister mask interference.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
for (const unsigned *AS = TRI->getAliasSet(CP.getDstReg()); *AS; ++AS){
|
||||
if (!LIS->hasInterval(*AS))
|
||||
continue;
|
||||
|
|
Loading…
Reference in New Issue