diff options
Diffstat (limited to 'lib/Target/R600/AMDGPUSubtarget.cpp')
-rw-r--r-- | lib/Target/R600/AMDGPUSubtarget.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/R600/AMDGPUSubtarget.cpp b/lib/Target/R600/AMDGPUSubtarget.cpp index 0ead65209e1..15def380a48 100644 --- a/lib/Target/R600/AMDGPUSubtarget.cpp +++ b/lib/Target/R600/AMDGPUSubtarget.cpp @@ -119,10 +119,10 @@ void AMDGPUSubtarget::overrideSchedPolicy(MachineSchedPolicy &Policy, unsigned NumRegionInstrs) const { if (getGeneration() >= SOUTHERN_ISLANDS) { - // Track register pressure so the scheduler can try to decrease - // pressure once register usage is above the threshold defined by - // SIRegisterInfo::getRegPressureSetLimit() - Policy.ShouldTrackPressure = true; + // FIXME: Register pressure tracking seems to lead to worse code. + // I think part of the issue is that our RegPressureSet limits are too + // low, so we are almost always in REG-CRITICAL state. + Policy.ShouldTrackPressure = false; // Enabling both top down and bottom up scheduling seems to give us less // register spills than just using one of these approaches on its own. |