File tree Expand file tree Collapse file tree 6 files changed +0
-43
lines changed
cpp/ql/lib/semmle/code/cpp
rangeanalysis/new/internal/semantic Expand file tree Collapse file tree 6 files changed +0
-43
lines changed Original file line number Diff line number Diff line change @@ -58,12 +58,4 @@ class IRFunction extends IRFunctionBase {
5858 * Gets all blocks in this function.
5959 */
6060 final IRBlock getABlock ( ) { result .getEnclosingIRFunction ( ) = this }
61-
62- /**
63- * Holds if this function may have incomplete def-use information.
64- *
65- * Def-use information may be omitted for a function when it is too expensive
66- * to compute.
67- */
68- final predicate hasIncompleteSsa ( ) { Construction:: hasIncompleteSsa ( this ) }
6961}
Original file line number Diff line number Diff line change @@ -304,8 +304,6 @@ Instruction getMemoryOperandDefinition(
304304 none ( )
305305}
306306
307- predicate hasIncompleteSsa ( IRFunction f ) { none ( ) }
308-
309307/**
310308 * Holds if the operand totally overlaps with its definition and consumes the
311309 * bit range `[startBitOffset, endBitOffset)`.
Original file line number Diff line number Diff line change @@ -58,12 +58,4 @@ class IRFunction extends IRFunctionBase {
5858 * Gets all blocks in this function.
5959 */
6060 final IRBlock getABlock ( ) { result .getEnclosingIRFunction ( ) = this }
61-
62- /**
63- * Holds if this function may have incomplete def-use information.
64- *
65- * Def-use information may be omitted for a function when it is too expensive
66- * to compute.
67- */
68- final predicate hasIncompleteSsa ( ) { Construction:: hasIncompleteSsa ( this ) }
6961}
Original file line number Diff line number Diff line change @@ -473,20 +473,6 @@ private module Cached {
473473 result = getNewInstruction ( oldInstruction )
474474 )
475475 }
476-
477- /**
478- * Holds if the def-use information for `f` may have been omitted because it
479- * was too expensive to compute. This happens if one of the memory allocations
480- * in `f` is a busy definition (i.e., it has many different overlapping uses).
481- */
482- pragma [ nomagic]
483- cached
484- predicate hasIncompleteSsa ( IRFunction f ) {
485- exists ( Alias:: MemoryLocation0 defLocation |
486- Alias:: isBusyDef ( pragma [ only_bind_into ] ( defLocation ) ) and
487- defLocation .getIRFunction ( ) = f
488- )
489- }
490476}
491477
492478private Instruction getNewInstruction ( OldInstruction instr ) { getOldInstruction ( result ) = instr }
Original file line number Diff line number Diff line change @@ -109,9 +109,3 @@ int getStartBitOffset(MemoryLocation location) { none() }
109109
110110/** Gets the end bit offset of a `MemoryLocation`, if any. */
111111int getEndBitOffset ( MemoryLocation location ) { none ( ) }
112-
113- /**
114- * Holds if `def` is a busy definition. That is, it has a large number of
115- * overlapping uses.
116- */
117- predicate isBusyDef ( MemoryLocation def ) { none ( ) }
Original file line number Diff line number Diff line change @@ -114,11 +114,6 @@ module SemanticExprConfig {
114114 /** Holds if no range analysis should be performed on the phi edges in `f`. */
115115 private predicate excludeFunction ( Cpp:: Function f ) {
116116 count ( f .getEntryPoint ( ) ) > 1
117- or
118- exists ( IR:: IRFunction irFunction |
119- irFunction .getFunction ( ) = f and
120- irFunction .hasIncompleteSsa ( )
121- )
122117 }
123118
124119 SemType getUnknownExprType ( Expr expr ) { result = getSemanticType ( expr .getResultIRType ( ) ) }
You can’t perform that action at this time.
0 commit comments