isRematerializable() doesn't have to check the same VNInfo for twice, since it doesn't mutate anything. With this it can handle circles.
There is no functional change.
Differential D17087
[RegAlloc] CalcSpillWeights: Fix infinite loop timshen on Feb 10 2016, 11:32 AM. Authored by
Details
isRematerializable() doesn't have to check the same VNInfo for twice, since it doesn't mutate anything. With this it can handle circles. There is no functional change.
Diff Detail Event TimelineComment Actions Hi Tim, Do you actually have a test case for that? Since we bail out on PHIs, I do not see how you can have a loop here. Cheers, Comment Actions Attached reduced test case. Sorry, I also found that this change is wrong. I thought it works but I forgot to turn on assertion. This test case triggers an assertion failure with this change. I will do more investigation. Comment Actions Thanks for the update. If you need help narrowing that down, please file a PR with the symptoms and how to reproduce. Cheers, |