-
Notifications
You must be signed in to change notification settings - Fork 7
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
Large list literals (nucleic) #13
Comments
Looks like as of now on trunk and stacks branches, the CFG emitted by closure conversion is broken:
|
It appears to be a problem involving the type cast below. In CPS it's the identity cast, so we're starting with okay code:
But after closure conversion, the cast is from a function to a known function (and also the return contination is being cast to a known func). It looks like the calling convention optimizations in closure conversion are buggy. Namely, it's this problematic cast:
Perhaps an intermediate cast to
|
More specifically, there seems to be some missing CFA information on the RHS var because later on the call is to an known function.
|
From the nucleic benchmark's TODO, there seems to be an issue with allocating a large list in the heap from a literal. I believe this is a problem regardless of what backend is used.
See the TODO file in: https://github.com/ManticoreProject/benchmark/tree/master/benchmarks/programs/seq-nucleic
The text was updated successfully, but these errors were encountered: