-
Notifications
You must be signed in to change notification settings - Fork 67
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
[herd,aarch64] Adding ctrl to indirect branches #612
Conversation
thanks @artkhyzha this looks good to me. |
commit_bcc ii | ||
>>= fun () -> M.unitT (B.Jump (tgt,bds)) |
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.
In my opinion commit_bcc ii >>= fun () ->
has to be added in front of line 2008 below.
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.
Thanks you -- makes sense to add it there.
(This makes me wonder if there is any unit test to compose for the new functionality.)
It may a good idea to add a test whose outcome changes with the new control dependency:
If I am not wrong, the test was allowed and is now forbidden. For the record, I discovered the problem fixed by PR #642 on a similar test. |
Thank you for this, @maranget, it's a great suggestion. I'd include these three test. The first two are just minor tweaks of your suggestion, I'll explain in a bit why I tweaked them. Where do you think these should go? Should they be in
|
So I decided to go ahead and keep the aforementioned tests as unit tests. (Will gladly change to another approach, if it's preferred.) @maranget, would you say there are more things to do for this PR? |
Hi @artkhyzha, the new tests are in the right place. I'll perform a full regression before merging, as asked by @jalglave. I am lacking time at them moment. Please bear with me :) |
Co-authored by: Luc Maranget
1381c6f
to
317f6b9
Compare
Complete regression went fine yesterday night. There is one change, which is expected since the test contains one indirect jump. Rebased and merged. Thanks @artkhyzha. |
Thank you, @maranget! |
[herd,aarch64] Adding ctrl to indirect branches This is a draft PR aimed at making indirect branches create control dependencies. The idea is to simply let the indirect branches to create a "commit" type of an event; then the `aarch64deps.cat` should automatically draw `ctrl` edges.
This is a draft PR aimed at making indirect branches create control dependencies.
The idea is to simply let the indirect branches to create a "commit" type of an event; then the
aarch64deps.cat
should automatically drawctrl
edges.A possible variation of the approach could be to create a separate kind of events for indirect branches and to alter
aarch64deps.cat
accordingly -- simply to keep the old and the new events separated.