-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
segfault on rfactoring an RVar produced by fusing a Var with an RVar #7854
Comments
The fix is to forbid rfactoring over an RVar if that RVar has had a pure var fused into it |
Why doesn't this just set |
That sounds more like a split than an rfactor. rfactor would be replacing the fusion of y and r with a single new pure Var z in an intermediate Func, and moving the reduction over yr (still fused) to the wrapper Func. The problem with that is you need bounds for yr to do that transformation, which don't exist yet where rfactor is implemented because the bounds of yr depend on the bounds of y which are yet to be inferred, and even when inferred it places a nasty constraint on what the bounds of y can be. |
This crashes:
I believe the issue is that the rfactor code has to handle splits, but doesn't correctly handle fusing a Var with an RVar to produce an RVar. Also it doesn't do enough validation. This should be an internal assert failure rather than a crash.
The text was updated successfully, but these errors were encountered: