Skip to content
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

LLVM memory model code reorganization #399

Open
brianhuffman opened this issue Jan 14, 2020 · 1 comment
Open

LLVM memory model code reorganization #399

brianhuffman opened this issue Jan 14, 2020 · 1 comment

Comments

@brianhuffman
Copy link
Contributor

The structure and operation of the LLVM memory model is complicated and hard to understand. We should refactor and reorganize the code to make it easier to figure out.

It would be very helpful if the code was separated into modules in such a way that each module could be understood separately. (The current division into modules Common.hs and Generic.hs is a relic of an older implementation, and doesn't make sense anymore.) In particular, it would be nice to be able to understand the offset-related parts of the memory model separately from the allocation-unit-related parts.

Those modules could also benefit from additional documentation.

@langston-barrett
Copy link
Contributor

It would also be nice to design a more abstract interface for the memory model (e.g., a typeclass) so that client code could more easily switch between different implementations (e.g., a bump-allocator based implementation based on SMT arrays).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants