mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 19:12:56 +02:00
Check regmask interference for -join-physregs.
llvm-svn: 150404
This commit is contained in:
parent
2141a8413e
commit
52b793ba37
@ -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
Block a user