File tree Expand file tree Collapse file tree 12 files changed +93
-75
lines changed
src/semmle/code/cpp/ir/implementation
test/library-tests/valuenumbering/GlobalValueNumbering
csharp/ql/src/semmle/code/csharp/ir/implementation Expand file tree Collapse file tree 12 files changed +93
-75
lines changed Original file line number Diff line number Diff line change 242242 " csharp/ql/src/semmle/code/csharp/ir/implementation/raw/gvn/ValueNumbering.qll" ,
243243 " csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/gvn/ValueNumbering.qll"
244244 ],
245+ "C++ IR PrintValueNumbering" : [
246+ " cpp/ql/src/semmle/code/cpp/ir/implementation/raw/gvn/PrintValueNumbering.qll" ,
247+ " cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/gvn/PrintValueNumbering.qll" ,
248+ " cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/PrintValueNumbering.qll" ,
249+ " csharp/ql/src/semmle/code/csharp/ir/implementation/raw/gvn/PrintValueNumbering.qll" ,
250+ " csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/gvn/PrintValueNumbering.qll"
251+ ],
245252 "C++ IR ConstantAnalysis" : [
246253 " cpp/ql/src/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll" ,
247254 " cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/constant/ConstantAnalysis.qll" ,
Original file line number Diff line number Diff line change 1+ private import internal.ValueNumberingImports
2+ private import ValueNumbering
3+
4+ /**
5+ * Provides additional information about value numbering in IR dumps.
6+ */
7+ class ValueNumberPropertyProvider extends IRPropertyProvider {
8+ override string getInstructionProperty ( Instruction instr , string key ) {
9+ exists ( ValueNumber vn |
10+ vn = valueNumber ( instr ) and
11+ key = "valnum" and
12+ if strictcount ( vn .getAnInstruction ( ) ) > 1
13+ then result = vn .getDebugString ( )
14+ else result = "unique"
15+ )
16+ }
17+ }
Original file line number Diff line number Diff line change 11private import internal.ValueNumberingInternal
22private import internal.ValueNumberingImports
33
4- /**
5- * Provides additional information about value numbering in IR dumps.
6- */
7- class ValueNumberPropertyProvider extends IRPropertyProvider {
8- override string getInstructionProperty ( Instruction instr , string key ) {
9- exists ( ValueNumber vn |
10- vn = valueNumber ( instr ) and
11- key = "valnum" and
12- if strictcount ( vn .getAnInstruction ( ) ) > 1
13- then result = vn .getDebugString ( )
14- else result = "unique"
15- )
16- }
17- }
18-
194/**
205 * The value number assigned to a particular set of instructions that produce equivalent results.
216 */
Original file line number Diff line number Diff line change 1+ private import internal.ValueNumberingImports
2+ private import ValueNumbering
3+
4+ /**
5+ * Provides additional information about value numbering in IR dumps.
6+ */
7+ class ValueNumberPropertyProvider extends IRPropertyProvider {
8+ override string getInstructionProperty ( Instruction instr , string key ) {
9+ exists ( ValueNumber vn |
10+ vn = valueNumber ( instr ) and
11+ key = "valnum" and
12+ if strictcount ( vn .getAnInstruction ( ) ) > 1
13+ then result = vn .getDebugString ( )
14+ else result = "unique"
15+ )
16+ }
17+ }
Original file line number Diff line number Diff line change 11private import internal.ValueNumberingInternal
22private import internal.ValueNumberingImports
33
4- /**
5- * Provides additional information about value numbering in IR dumps.
6- */
7- class ValueNumberPropertyProvider extends IRPropertyProvider {
8- override string getInstructionProperty ( Instruction instr , string key ) {
9- exists ( ValueNumber vn |
10- vn = valueNumber ( instr ) and
11- key = "valnum" and
12- if strictcount ( vn .getAnInstruction ( ) ) > 1
13- then result = vn .getDebugString ( )
14- else result = "unique"
15- )
16- }
17- }
18-
194/**
205 * The value number assigned to a particular set of instructions that produce equivalent results.
216 */
Original file line number Diff line number Diff line change 1+ private import internal.ValueNumberingImports
2+ private import ValueNumbering
3+
4+ /**
5+ * Provides additional information about value numbering in IR dumps.
6+ */
7+ class ValueNumberPropertyProvider extends IRPropertyProvider {
8+ override string getInstructionProperty ( Instruction instr , string key ) {
9+ exists ( ValueNumber vn |
10+ vn = valueNumber ( instr ) and
11+ key = "valnum" and
12+ if strictcount ( vn .getAnInstruction ( ) ) > 1
13+ then result = vn .getDebugString ( )
14+ else result = "unique"
15+ )
16+ }
17+ }
Original file line number Diff line number Diff line change 11private import internal.ValueNumberingInternal
22private import internal.ValueNumberingImports
33
4- /**
5- * Provides additional information about value numbering in IR dumps.
6- */
7- class ValueNumberPropertyProvider extends IRPropertyProvider {
8- override string getInstructionProperty ( Instruction instr , string key ) {
9- exists ( ValueNumber vn |
10- vn = valueNumber ( instr ) and
11- key = "valnum" and
12- if strictcount ( vn .getAnInstruction ( ) ) > 1
13- then result = vn .getDebugString ( )
14- else result = "unique"
15- )
16- }
17- }
18-
194/**
205 * The value number assigned to a particular set of instructions that produce equivalent results.
216 */
Original file line number Diff line number Diff line change 55import semmle.code.cpp.ir.PrintIR
66import semmle.code.cpp.ir.IR
77import semmle.code.cpp.ir.ValueNumbering
8+ import semmle.code.cpp.ir.implementation.aliased_ssa.gvn.PrintValueNumbering
Original file line number Diff line number Diff line change 1+ private import internal.ValueNumberingImports
2+ private import ValueNumbering
3+
4+ /**
5+ * Provides additional information about value numbering in IR dumps.
6+ */
7+ class ValueNumberPropertyProvider extends IRPropertyProvider {
8+ override string getInstructionProperty ( Instruction instr , string key ) {
9+ exists ( ValueNumber vn |
10+ vn = valueNumber ( instr ) and
11+ key = "valnum" and
12+ if strictcount ( vn .getAnInstruction ( ) ) > 1
13+ then result = vn .getDebugString ( )
14+ else result = "unique"
15+ )
16+ }
17+ }
Original file line number Diff line number Diff line change 11private import internal.ValueNumberingInternal
22private import internal.ValueNumberingImports
33
4- /**
5- * Provides additional information about value numbering in IR dumps.
6- */
7- class ValueNumberPropertyProvider extends IRPropertyProvider {
8- override string getInstructionProperty ( Instruction instr , string key ) {
9- exists ( ValueNumber vn |
10- vn = valueNumber ( instr ) and
11- key = "valnum" and
12- if strictcount ( vn .getAnInstruction ( ) ) > 1
13- then result = vn .getDebugString ( )
14- else result = "unique"
15- )
16- }
17- }
18-
194/**
205 * The value number assigned to a particular set of instructions that produce equivalent results.
216 */
You can’t perform that action at this time.
0 commit comments