When register pressure tracking is disabled, the scheduler attempts to load
pressures at SReg_32 and VGPR_32. This causes an index out of bounds error.
This patch fixes this issue by inserting checks for RPTracking when pressure values
are loaded and candidates are initialized. NFC
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Can we not rename initCandidate since it is mimicking GenericScheduler::initCandidate?
Comment Actions
- reverted the function name back to initCandidate
- added testing for the option -misched-regpressure=false
Comment Actions
@rampitec Agreed, I have been examining the code around the changes I have made. I am not sure why that test was affected.
Comment Actions
- Use DAG to check if RPTracking is enabled.
- Eliminate diffs in extract-element.ll as this patch should not have altered that test.
Comment Actions
@rampitec I was loading the pressure values at every candidate. initCandidate clears the values in Pressure so the array becomes empty for the next iteration.