File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -1551,8 +1551,7 @@ void LinearScanRA::calculateCurrentBBLiveIntervals(
1551
1551
liveIntervals.push_back (stackCallRetLR);
1552
1552
stackCallRetLR->setPushed (true );
1553
1553
}
1554
- if (arg && argSize > 0 && arg->getRegVar ()) {
1555
- vASSERT (stackCallArgLR);
1554
+ if (stackCallArgLR && arg && argSize > 0 && arg->getRegVar ()) {
1556
1555
stackCallArgLR->setLastRef (
1557
1556
curInst, curInst->getLexicalId () * 2 -
1558
1557
1 ); // Minus one so that arguments will not be spilled
Original file line number Diff line number Diff line change @@ -2021,6 +2021,15 @@ void PhyRegsLocalRA::markPhyRegs(G4_Declare *topdcl) {
2021
2021
for (unsigned int i = 0 ; i < numwords; i++) {
2022
2022
// Starting from first word, mark each consecutive word busy
2023
2023
setWordBusy (regnum, (subRegInWord + i));
2024
+
2025
+ // In case across one GRF
2026
+ if (subRegInWord + i >= builder.numEltPerGRF <Type_UW>()) {
2027
+ regnum++;
2028
+ if (!isGRFAvailable (regnum)) {
2029
+ break ;
2030
+ }
2031
+ i = 0 ;
2032
+ }
2024
2033
}
2025
2034
}
2026
2035
} else {
You can’t perform that action at this time.
0 commit comments