mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
2ce112dbf2
What happens here is that the phi node for `i` has its mutable range set to start at 0, because it has a back edge and we haven't initialized the mutable ranges of all its operands yet when we iterate the operands and set range.start = min(start of operand starts). Then the corresponding scope has its range set to start at 0 too. When PropagateScopeDeps runs it sees that `b` is from instruction 1, which is after the start of the scope (0), so it thinks `b` isn't a valid dependency. The fix is in InferMutableRanges, where we need to make sure that phis ignore their operand's ranges until those ranges are initialized.