Skip to content

Commit 915c0fd

Browse files
committed
Shared SSA: Sync files
1 parent 05e37a7 commit 915c0fd

File tree

5 files changed

+55
-0
lines changed

5 files changed

+55
-0
lines changed

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaImplCommon.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,4 +659,15 @@ module Consistency {
659659
not phiHasInputFromBlock(_, def, _) and
660660
not uncertainWriteDefinitionInput(_, def)
661661
}
662+
663+
query predicate notDominatedByDef(RelevantDefinition def, SourceVariable v, BasicBlock bb, int i) {
664+
exists(BasicBlock bbDef, int iDef | def.definesAt(v, bbDef, iDef) |
665+
ssaDefReachesReadWithinBlock(v, def, bb, i) and
666+
(bb != bbDef or i < iDef)
667+
or
668+
ssaDefReachesRead(v, def, bb, i) and
669+
not ssaDefReachesReadWithinBlock(v, def, bb, i) and
670+
not def.definesAt(v, getImmediateBasicBlockDominator*(bb), _)
671+
)
672+
}
662673
}

csharp/ql/lib/semmle/code/cil/internal/SsaImplCommon.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,4 +659,15 @@ module Consistency {
659659
not phiHasInputFromBlock(_, def, _) and
660660
not uncertainWriteDefinitionInput(_, def)
661661
}
662+
663+
query predicate notDominatedByDef(RelevantDefinition def, SourceVariable v, BasicBlock bb, int i) {
664+
exists(BasicBlock bbDef, int iDef | def.definesAt(v, bbDef, iDef) |
665+
ssaDefReachesReadWithinBlock(v, def, bb, i) and
666+
(bb != bbDef or i < iDef)
667+
or
668+
ssaDefReachesRead(v, def, bb, i) and
669+
not ssaDefReachesReadWithinBlock(v, def, bb, i) and
670+
not def.definesAt(v, getImmediateBasicBlockDominator*(bb), _)
671+
)
672+
}
662673
}

csharp/ql/lib/semmle/code/csharp/controlflow/internal/pressa/SsaImplCommon.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,4 +659,15 @@ module Consistency {
659659
not phiHasInputFromBlock(_, def, _) and
660660
not uncertainWriteDefinitionInput(_, def)
661661
}
662+
663+
query predicate notDominatedByDef(RelevantDefinition def, SourceVariable v, BasicBlock bb, int i) {
664+
exists(BasicBlock bbDef, int iDef | def.definesAt(v, bbDef, iDef) |
665+
ssaDefReachesReadWithinBlock(v, def, bb, i) and
666+
(bb != bbDef or i < iDef)
667+
or
668+
ssaDefReachesRead(v, def, bb, i) and
669+
not ssaDefReachesReadWithinBlock(v, def, bb, i) and
670+
not def.definesAt(v, getImmediateBasicBlockDominator*(bb), _)
671+
)
672+
}
662673
}

csharp/ql/lib/semmle/code/csharp/dataflow/internal/basessa/SsaImplCommon.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,4 +659,15 @@ module Consistency {
659659
not phiHasInputFromBlock(_, def, _) and
660660
not uncertainWriteDefinitionInput(_, def)
661661
}
662+
663+
query predicate notDominatedByDef(RelevantDefinition def, SourceVariable v, BasicBlock bb, int i) {
664+
exists(BasicBlock bbDef, int iDef | def.definesAt(v, bbDef, iDef) |
665+
ssaDefReachesReadWithinBlock(v, def, bb, i) and
666+
(bb != bbDef or i < iDef)
667+
or
668+
ssaDefReachesRead(v, def, bb, i) and
669+
not ssaDefReachesReadWithinBlock(v, def, bb, i) and
670+
not def.definesAt(v, getImmediateBasicBlockDominator*(bb), _)
671+
)
672+
}
662673
}

ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImplCommon.qll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,4 +659,15 @@ module Consistency {
659659
not phiHasInputFromBlock(_, def, _) and
660660
not uncertainWriteDefinitionInput(_, def)
661661
}
662+
663+
query predicate notDominatedByDef(RelevantDefinition def, SourceVariable v, BasicBlock bb, int i) {
664+
exists(BasicBlock bbDef, int iDef | def.definesAt(v, bbDef, iDef) |
665+
ssaDefReachesReadWithinBlock(v, def, bb, i) and
666+
(bb != bbDef or i < iDef)
667+
or
668+
ssaDefReachesRead(v, def, bb, i) and
669+
not ssaDefReachesReadWithinBlock(v, def, bb, i) and
670+
not def.definesAt(v, getImmediateBasicBlockDominator*(bb), _)
671+
)
672+
}
662673
}

0 commit comments

Comments
 (0)