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:
@@ -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) \
|
||||
|
||||
@@ -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;
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário