mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-02 10:33:53 +00:00
Check regmask interference for -join-physregs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150404 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9ea7e6e308
commit
3ed4dee530
@ -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…
x
Reference in New Issue
Block a user