-
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
[CHERI] Fix issue where tag_get was being CSE'd across free calls. #70
Conversation
Seems to have introduced a lot of test failures? |
ee28636
to
771bc25
Compare
386d0f5
to
623efce
Compare
@davidchisnall Interested in your thoughts on the code quality regressions this introduces. Modeling |
I think we probably want to introduce two builtins, one that is and one that isn’t doing temporal checks. They’re independent so using both won’t be CSE’d. A lot of of uses know that they can’t be deallocated and so are fine to use the non-temporal one, as long as they don’t use it before they’ve done the thing that guarantees that the object is not free. We can also maybe do some clever things later like rewrite the temporal one to non-temporal if we know that a capability has store-local permission. |
@davidchisnall PTAL |
LGTM, @nwf ? |
Seems sensible to me, though I cannot do much more than nod along to the LLVM changes. |
Fix for #38