Skip to content

Commit 18c96fd

Browse files
committed
Shared: Remove antijoin.
1 parent 9231119 commit 18c96fd

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

shared/controlflow/codeql/controlflow/Guards.qll

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -696,13 +696,14 @@ module Make<
696696
private predicate impliesStep1(Guard g1, GuardValue v1, Guard g2, GuardValue v2) {
697697
baseImpliesStep(g1, v1, g2, v2)
698698
or
699-
exists(SsaDefinition def, Expr e |
699+
exists(SsaDefinition def, Expr e, BasicBlock bb1 |
700700
// If `def = g2 ? v1 : ...` and all other assignments to `def` are different from
701701
// `v1` then a guard proving `def == v1` ensures that `g2` evaluates to `v2`.
702702
uniqueValue(def, e, v1) and
703703
guardReadsSsaVar(g1, def) and
704704
g2.directlyValueControls(e.getBasicBlock(), v2) and
705-
not g2.directlyValueControls(g1.getBasicBlock(), v2)
705+
bb1 = g1.getBasicBlock() and
706+
not g2.directlyValueControls(bb1, v2)
706707
)
707708
or
708709
exists(int k1, int k2, boolean upper |

0 commit comments

Comments
 (0)