Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {

class ApNil extends Ap;

predicate fwdFlow(Nd node);

predicate fwdFlow(Nd node, Ap ap);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No need for the binary fwdFlow, right? It's only there for revFlow because this section of the signature is implicitly extending/including the StageSig signature, and we're not adding fwdFlow to that.

For the same reason, the unary fwdFlow signature should be moved a couple of lines up, so it's above the // begin StageSig comment.

(We don't yet have the proper QL language feature to do this kind of signature sharing, so there's just a comment bracketing the StageSig part).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Correct! It's not needed. I'll delete that and move the fwdFlow a few lines up.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed in e06294b


predicate revFlow(Nd node);

predicate revFlow(Nd node, Ap ap);
Expand Down Expand Up @@ -634,7 +638,7 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {
)
}

private predicate fwdFlow(NodeEx node) { fwdFlow(node, _) }
predicate fwdFlow(NodeEx node) { fwdFlow(node, _) }

pragma[nomagic]
private predicate fwdFlowReadSet(ContentSet c, NodeEx node, Cc cc) {
Expand Down Expand Up @@ -1291,6 +1295,13 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {
import Stage1
import Stage1Common

predicate fwdFlow(Nd node) { Stage1::fwdFlow(node) }

predicate fwdFlow(Nd node, Ap ap) {
Stage1::fwdFlow(node) and
exists(ap)
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Delete.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in e06294b


predicate revFlow(NodeEx node, Ap ap) { Stage1::revFlow(node) and exists(ap) }

predicate toNormalSinkNode = toNormalSinkNodeEx/1;
Expand Down Expand Up @@ -1395,6 +1406,10 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {

import Stage1Common

predicate fwdFlow(Nd node) { Stage1::fwdFlow(node.getNodeEx()) }

predicate fwdFlow(Nd node, Ap ap) { Stage1::fwdFlow(node.getNodeEx()) and exists(ap) }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Delete.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in e06294b


predicate revFlow(Nd node) { Stage1::revFlow(node.getNodeEx()) }

predicate revFlow(Nd node, Ap ap) { Stage1::revFlow(node.getNodeEx()) and exists(ap) }
Expand Down
Loading