Skip to content

[CFG] Traverse through shrsi in GIID check#975

Merged
zero9178 merged 3 commits into
mainfrom
users/zero9179/shrsi-giid
Jun 15, 2026
Merged

[CFG] Traverse through shrsi in GIID check#975
zero9178 merged 3 commits into
mainfrom
users/zero9179/shrsi-giid

Conversation

@zero9178

Copy link
Copy Markdown
Collaborator

The GIID implementation uses a white-list of operations to traverse which shrsi was previously not part of. This would lead to e.g. data dependencies not correctly being found and used to eliminate memory ordering dependencies.

Fixes #974

The GIID implementation uses a white-list of operations to traverse which `shrsi` was previously not part of. This would lead to e.g. data dependencies not correctly being found and used to eliminate memory ordering dependencies.

Fixes #974
@zero9178 zero9178 requested review from Jiahui17 and murphe67 June 14, 2026 19:02
Comment thread lib/Support/CFG.cpp
handshake::SubIOp, handshake::TruncIOp, handshake::XOrIOp,
handshake::AddFOp, handshake::CmpFOp, handshake::DivFOp,
handshake::MulFOp, handshake::SubFOp>([&](auto) {
handshake::ShRSIOp, handshake::SubIOp, handshake::TruncIOp,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe do:

// clang-format off
<
handshake::ShRSIOp,
handshake::TruncIOp,
...
>
// clang-format on

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I admittedly prefer to have clang-format here also because the list would get quite long otherwise

@zero9178 zero9178 merged commit 3038399 into main Jun 15, 2026
8 checks passed
@zero9178 zero9178 deleted the users/zero9179/shrsi-giid branch June 15, 2026 10:27
@murphe67

Copy link
Copy Markdown
Collaborator

my literal exact fears looking at that code come true 😭😭

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simple data dependency does not lead to LSQ elision (again)

3 participants