Reduce default MaxRegs setting to avoid wraparound.

Fix wraparound bug in XLS that was reducing available registers.

Reviewed By: @bertmaher

Differential Revision: D1142120
Esse commit está contido em:
Edwin Smith
2014-01-24 05:32:37 -08:00
commit de Sara Golemon
commit 4404f655c5
2 arquivos alterados com 2 adições e 1 exclusões
+1 -1
Ver Arquivo
@@ -409,7 +409,7 @@ public:
F(bool, HHIRRefcountOpts, true) \
F(bool, HHIRRefcountOptsAlwaysSink, false) \
F(bool, HHIRExtraOptPass, true) \
F(uint32_t, HHIRNumFreeRegs, -1) \
F(uint32_t, HHIRNumFreeRegs, 64) \
F(bool, HHIREnableGenTimeInlining, true) \
F(uint32_t, HHIRInliningMaxCost, 13) \
F(uint32_t, HHIRAlwaysInlineMaxCost, 10) \
+1
Ver Arquivo
@@ -534,6 +534,7 @@ void XLS::buildIntervals() {
}
// Implement stress mode by blocking more registers.
stress += RuntimeOption::EvalHHIRNumFreeRegs;
assert(stress >= RuntimeOption::EvalHHIRNumFreeRegs); // no wraparound.
for (auto r : m_blocked) {
auto& blocked = m_blocked[r];
if (blocked.empty() || blocked.start() == 0) continue;