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 242
242
" csharp/ql/src/semmle/code/csharp/ir/implementation/raw/gvn/ValueNumbering.qll" ,
243
243
" csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/gvn/ValueNumbering.qll"
244
244
],
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
+ ],
245
252
"C++ IR ConstantAnalysis" : [
246
253
" cpp/ql/src/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll" ,
247
254
" 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 1
1
private import internal.ValueNumberingInternal
2
2
private import internal.ValueNumberingImports
3
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
- }
18
-
19
4
/**
20
5
* The value number assigned to a particular set of instructions that produce equivalent results.
21
6
*/
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 1
1
private import internal.ValueNumberingInternal
2
2
private import internal.ValueNumberingImports
3
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
- }
18
-
19
4
/**
20
5
* The value number assigned to a particular set of instructions that produce equivalent results.
21
6
*/
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 1
1
private import internal.ValueNumberingInternal
2
2
private import internal.ValueNumberingImports
3
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
- }
18
-
19
4
/**
20
5
* The value number assigned to a particular set of instructions that produce equivalent results.
21
6
*/
Original file line number Diff line number Diff line change 5
5
import semmle.code.cpp.ir.PrintIR
6
6
import semmle.code.cpp.ir.IR
7
7
import 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 1
1
private import internal.ValueNumberingInternal
2
2
private import internal.ValueNumberingImports
3
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
- }
18
-
19
4
/**
20
5
* The value number assigned to a particular set of instructions that produce equivalent results.
21
6
*/
You can’t perform that action at this time.
0 commit comments