mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Fix crash in AggressiveAntiDepBreaker with empty CriticalPathSet
If no register classes are added to CriticalPathRCs, then the CriticalPathSet bitmask will be empty. In that case, ExcludeRegs must remain NULL or else this line will cause a segfault: } else if ((ExcludeRegs != NULL) && ExcludeRegs->test(AntiDepReg)) { I have no in-tree test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190584 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -782,7 +782,7 @@ unsigned AggressiveAntiDepBreaker::BreakAntiDependencies(
|
||||
if (MI == CriticalPathMI) {
|
||||
CriticalPathSU = CriticalPathStep(CriticalPathSU);
|
||||
CriticalPathMI = (CriticalPathSU) ? CriticalPathSU->getInstr() : 0;
|
||||
} else {
|
||||
} else if (CriticalPathSet.any()) {
|
||||
ExcludeRegs = &CriticalPathSet;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user