llvm.org GIT mirror llvm / 8a8cf96
My earlier "fix" for PBQP (see r165201) was incorrect. The real issue was that checkRegMaskInterference only initializes the bitmask on the first interference. This fixes PR14027 and (re)fixes PR13945. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165608 91177308-0d34-0410-b5e6-96231b3b80d8 Lang Hames 8 years ago
1 changed file(s) with 2 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
217217 LiveInterval *vregLI = &LIS->getInterval(vreg);
218218
219219 // Record any overlaps with regmask operands.
220 BitVector regMaskOverlaps(tri->getNumRegs());
220 BitVector regMaskOverlaps;
221221 LIS->checkRegMaskInterference(*vregLI, regMaskOverlaps);
222222
223223 // Compute an initial allowed set for the current vreg.
230230 continue;
231231
232232 // vregLI crosses a regmask operand that clobbers preg.
233 if (!regMaskOverlaps.empty() && regMaskOverlaps.test(preg))
233 if (!regMaskOverlaps.empty() && !regMaskOverlaps.test(preg))
234234 continue;
235235
236236 // vregLI overlaps fixed regunit interference.