-
Notifications
You must be signed in to change notification settings - Fork 17
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
Allow raising ifs with speculatively executable loads #443
Conversation
return false; | ||
|
||
llvm::errs() << "ACCESSMAP\n"; | ||
isl_map_dump(accessMap); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ivanradanov if there is an inner affine.for would this still work or potential crash?
we definitely want to exclude any if conditions, but we do need to ensure we have all the index vars
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently the use of this function is limited to only this case:
`scope` -> affine.if {
...
`op` -> affine.load
so no indexes will be gone. I guess I will add a dominance check to make sure we don't misuse it in the future
|
@wsmoses did you try the latest commit? that should have removed the debug prints and fixed the memory handling |
yeah I did [just running the test that failed CI, though in debug] |
Test should be fixed now, checking how it works on the full code now. |
llvm::any_of(*ifOp.getElseBlock(), | ||
[](Operation &op) { return !mlir::isPure(&op); })) { | ||
[ifOp](Operation &op) { | ||
return !isSafeToSpeculativelyExecuteAtScope(ifOp, &op); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a little worried about correctness here.
Specifically if you have an if of an if.
We want to use the scope of the outermost if (assuming that the outer if recursively calls this utility)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm modulo if of if concerns
will let the if concerns be addressed post commit @ivanradanov |
No description provided.