Skip to content

Commit f76334c

Browse files
C++, C#: Share unaliased SSA files between languages
Most of the C# diffs are from bringing those files in sync with the latest C++ files.
1 parent 5585ccd commit f76334c

File tree

25 files changed

+225
-164
lines changed

25 files changed

+225
-164
lines changed

config/identical-files.json

Lines changed: 42 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,31 +47,36 @@
4747
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/Instruction.qll",
4848
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll",
4949
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll",
50-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/Instruction.qll"
50+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/Instruction.qll",
51+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/Instruction.qll"
5152
],
5253
"IR IRBlock": [
5354
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/IRBlock.qll",
5455
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/IRBlock.qll",
5556
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll",
56-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRBlock.qll"
57+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRBlock.qll",
58+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IRBlock.qll"
5759
],
5860
"IR IRVariable": [
5961
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/IRVariable.qll",
6062
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/IRVariable.qll",
6163
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll",
62-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRVariable.qll"
64+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRVariable.qll",
65+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IRVariable.qll"
6366
],
6467
"IR IRFunction": [
6568
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/IRFunction.qll",
6669
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/IRFunction.qll",
6770
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRFunction.qll",
68-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRFunction.qll"
71+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRFunction.qll",
72+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IRFunction.qll"
6973
],
7074
"IR Operand": [
7175
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/Operand.qll",
7276
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/Operand.qll",
7377
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/Operand.qll",
74-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/Operand.qll"
78+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/Operand.qll",
79+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/Operand.qll"
7580
],
7681
"IR IRType": [
7782
"cpp/ql/src/semmle/code/cpp/ir/implementation/IRType.qll",
@@ -89,19 +94,22 @@
8994
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/IR.qll",
9095
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/IR.qll",
9196
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IR.qll",
92-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IR.qll"
97+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IR.qll",
98+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IR.qll"
9399
],
94100
"IR IRSanity": [
95101
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/IRSanity.qll",
96102
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/IRSanity.qll",
97103
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRSanity.qll",
98-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRSanity.qll"
104+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRSanity.qll",
105+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IRSanity.qll"
99106
],
100107
"IR PrintIR": [
101108
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/PrintIR.qll",
102109
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/PrintIR.qll",
103110
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll",
104-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/PrintIR.qll"
111+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/PrintIR.qll",
112+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/PrintIR.qll"
105113
],
106114
"IR IntegerConstant": [
107115
"cpp/ql/src/semmle/code/cpp/ir/internal/IntegerConstant.qll",
@@ -165,17 +173,27 @@
165173
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/PrintIRImports.qll",
166174
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/PrintIRImports.qll"
167175
],
176+
"C++ SSA SSAConstructionImports": [
177+
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SSAConstructionImports.qll",
178+
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstructionImports.qll"
179+
],
168180
"C++ SSA AliasAnalysis": [
169181
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/AliasAnalysis.qll",
170182
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/AliasAnalysis.qll"
171183
],
172-
"C++ SSA SSAConstruction": [
184+
"IR SSA SimpleSSA": [
185+
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SimpleSSA.qll",
186+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/SimpleSSA.qll"
187+
],
188+
"IR SSA SSAConstruction": [
173189
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SSAConstruction.qll",
174-
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstruction.qll"
190+
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstruction.qll",
191+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/SSAConstruction.qll"
175192
],
176-
"C++ SSA PrintSSA": [
193+
"IR SSA PrintSSA": [
177194
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/PrintSSA.qll",
178-
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/PrintSSA.qll"
195+
"cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/PrintSSA.qll",
196+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/PrintSSA.qll"
179197
],
180198
"C++ IR ValueNumber": [
181199
"cpp/ql/src/semmle/code/cpp/ir/implementation/raw/gvn/ValueNumbering.qll",
@@ -209,21 +227,27 @@
209227
"cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/reachability/PrintDominance.qll"
210228
],
211229
"C# IR InstructionImports": [
212-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/InstructionImports.qll"
230+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/InstructionImports.qll",
231+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/InstructionImports.qll"
213232
],
214233
"C# IR IRImports": [
215-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/IRImports.qll"
234+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/IRImports.qll",
235+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/IRImports.qll"
216236
],
217237
"C# IR IRBlockImports": [
218-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/IRBlockImports.qll"
238+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/IRBlockImports.qll",
239+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/IRBlockImports.qll"
219240
],
220241
"C# IR IRVariableImports": [
221-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/IRVariableImports.qll"
242+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/IRVariableImports.qll",
243+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/IRVariableImports.qll"
222244
],
223245
"C# IR OperandImports": [
224-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/OperandImports.qll"
246+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/OperandImports.qll",
247+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/OperandImports.qll"
225248
],
226249
"C# IR PrintIRImports": [
227-
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/PrintIRImports.qll"
250+
"csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/PrintIRImports.qll",
251+
"csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/PrintIRImports.qll"
228252
]
229253
}

cpp/ql/src/semmle/code/cpp/ir/implementation/IRType.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
private import internal.IRTypeInternal
66

7-
newtype TIRType =
7+
private newtype TIRType =
88
TIRVoidType() or
99
TIRUnknownType() or
1010
TIRErrorType() {

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstruction.qll

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import SSAConstructionInternal
2-
private import semmle.code.cpp.ir.implementation.Opcode
3-
private import semmle.code.cpp.ir.implementation.internal.OperandTag
4-
private import semmle.code.cpp.ir.internal.Overlap
2+
private import SSAConstructionImports
53
private import NewIR
64

75
private class OldBlock = Reachability::ReachableBlock;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import semmle.code.cpp.ir.implementation.Opcode
2+
import semmle.code.cpp.ir.implementation.internal.OperandTag
3+
import semmle.code.cpp.ir.internal.Overlap

cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SSAConstruction.qll

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import SSAConstructionInternal
2-
private import semmle.code.cpp.ir.implementation.Opcode
3-
private import semmle.code.cpp.ir.implementation.internal.OperandTag
4-
private import semmle.code.cpp.ir.internal.Overlap
2+
private import SSAConstructionImports
53
private import NewIR
64

75
private class OldBlock = Reachability::ReachableBlock;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import semmle.code.cpp.ir.implementation.Opcode
2+
import semmle.code.cpp.ir.implementation.internal.OperandTag
3+
import semmle.code.cpp.ir.internal.Overlap

cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SimpleSSA.qll

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
import AliasAnalysis
2-
private import semmle.code.cpp.ir.implementation.raw.IR
3-
private import semmle.code.cpp.ir.internal.IntegerConstant as Ints
4-
private import semmle.code.cpp.ir.implementation.internal.OperandTag
5-
private import semmle.code.cpp.ir.internal.IRCppLanguage as Language
6-
private import semmle.code.cpp.ir.internal.Overlap
2+
private import SimpleSSAImports
73

84
private class IntValue = Ints::IntValue;
95

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import semmle.code.cpp.ir.implementation.raw.IR
2+
import semmle.code.cpp.ir.internal.IntegerConstant as Ints
3+
import semmle.code.cpp.ir.implementation.internal.OperandTag
4+
import semmle.code.cpp.ir.internal.IRCppLanguage as Language
5+
import semmle.code.cpp.ir.internal.Overlap
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import semmle.code.csharp.ir.implementation.IRType as IRType
21
import semmle.code.csharp.ir.implementation.MemoryAccessKind as MemoryAccessKind
2+
import semmle.code.csharp.ir.implementation.IRType as IRType
33
import semmle.code.csharp.ir.internal.Overlap as Overlap
44
import semmle.code.csharp.ir.implementation.internal.OperandTag as OperandTag

csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IR.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import IRVariable
55
import Operand
66
private import internal.IRImports as Imports
77
import Imports::EdgeKind
8+
import Imports::IRType
89
import Imports::MemoryAccessKind
910

1011
private newtype TIRPropertyProvider = MkIRPropertyProvider()

0 commit comments

Comments
 (0)