Commit Graph

2639 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
1c8e0c453c C++: Fix more inconsistencies. 2024-07-17 15:44:50 +01:00
Mathias Vorreiter Pedersen
45ba0c3319 Merge pull request #16907 from MathiasVP/phi-escape-5
C++: Add a new `MemoryLocation` to represent sets of `Allocation`s
2024-07-17 15:44:04 +01:00
Mathias Vorreiter Pedersen
8a3a3fa263 C++: Sync identical files. 2024-07-17 14:39:08 +01:00
Mathias Vorreiter Pedersen
d5ccb2e396 C++: Add a large QLDoc with example to 'getInstructionSuccessor'. 2024-07-17 14:39:02 +01:00
Mathias Vorreiter Pedersen
dbe0fceea6 C++: Sync identical files. 2024-07-16 17:42:39 +01:00
Mathias Vorreiter Pedersen
083b9b77c9 C++: Delete redundant conjuncts. 2024-07-16 17:42:31 +01:00
Mathias Vorreiter Pedersen
8894fba17a C++: Sync identical files. 2024-07-16 16:19:04 +01:00
Mathias Vorreiter Pedersen
950d70ffed C++: Replace 'InitializeGroup' with 'UninitializedGroup'. 2024-07-16 16:16:50 +01:00
Geoffrey White
195c20cfd5 C++: Fix provenance for sources/sinks. 2024-07-16 09:33:51 +01:00
Geoffrey White
eefbb676e9 C++: Support alert provenance. 2024-07-16 09:33:48 +01:00
Anders Schack-Mulligen
da5abc8321 Dataflow: Replace MakeSets with QlBuiltins::InternSets. 2024-07-15 13:35:57 +02:00
Mathias Vorreiter Pedersen
813f08ef57 C++: Strip away specifiers and typedefs when finding iterator parameters for a string taint function. 2024-07-12 09:54:04 +01:00
Calum Grant
24914efcb8 Merge pull request #16956 from github/calumgrant/cpp20-array-sizes
C++: Test C++20 implicit array sizes.
2024-07-11 17:44:08 +01:00
Calum Grant
c6fb50095b C++: Change note and autoformat 2024-07-11 14:21:09 +01:00
Calum Grant
29df3cb5b3 C++: Add test for C++20 implicit array sizes
Implement NewArrayExpr.getArraySize()
2024-07-11 12:59:52 +01:00
Jeroen Ketema
87d9218369 Merge pull request #16951 from jketema/builtin-op
C++: Support more builtin operations
2024-07-11 12:50:46 +02:00
Jeroen Ketema
ed42c3cd6f C++: Fix class extension 2024-07-11 11:48:01 +02:00
Jeroen Ketema
48bf06f1aa C++: Fix getAPrimaryQlClass 2024-07-11 10:43:17 +02:00
Jeroen Ketema
0413e0e090 C++: Clean up QLDoc and add change note 2024-07-11 10:37:26 +02:00
Jeroen Ketema
3f789bad60 C++: Support more builtin operations 2024-07-10 21:27:09 +02:00
Mathias Vorreiter Pedersen
a747ffca07 C++: Address definitions should also handle ssa variables that are calls. 2024-07-06 12:27:35 +01:00
Mathias Vorreiter Pedersen
b954845318 C++: Ignore the new 'InitializeGroup' instruction in dataflow. 2024-07-04 14:22:06 +01:00
Mathias Vorreiter Pedersen
89f0705585 C++: Sync identical files. 2024-07-04 14:22:03 +01:00
Mathias Vorreiter Pedersen
72b52cc814 C++: Insert Chi instructions after InitializeGroup instructions whose variable group's virtual variable is all aliased memory. 2024-07-04 14:22:02 +01:00
Mathias Vorreiter Pedersen
92e814b75e C++: Stub 'VariableGroup' and 'GroupedMemoryLocation' in unaliased SSA so that the pyrameterized files compile. 2024-07-04 14:21:59 +01:00
Mathias Vorreiter Pedersen
db525f5cee C++: Sync identical files. 2024-07-04 14:21:58 +01:00
Mathias Vorreiter Pedersen
03ec184ee0 C++: Add 'InitializeGroup' instructions to the successor relation. 2024-07-04 14:21:56 +01:00
Mathias Vorreiter Pedersen
c4d72e5b4f C++: No need to check if the offset is non-negative. It always is because of 'defBlock.getInstruction(oldOffset)' has a result. 2024-07-04 14:21:55 +01:00
Mathias Vorreiter Pedersen
cf8b2d55c5 C++: Hide away the 'multiply by two' hack in a predicate. 2024-07-04 14:21:53 +01:00
Mathias Vorreiter Pedersen
8db7ece8d4 C++: Fill in trivial parts of SSA. 2024-07-04 14:21:51 +01:00
Mathias Vorreiter Pedersen
2c4bf13d05 C++: Sync identical files. 2024-07-04 14:21:50 +01:00
Mathias Vorreiter Pedersen
c54dc49891 C++: Improve 'toString' on the 'InitializeGroup' instruction. 2024-07-04 14:21:49 +01:00
Mathias Vorreiter Pedersen
b185c67d4f C++: Handle overlap with grouped memory locations. 2024-07-04 14:21:47 +01:00
Mathias Vorreiter Pedersen
e7c43b3fcc C++: Return grouped memory locations from 'getOperandMemoryLocation' and 'getResultMemoryLocation'. 2024-07-04 14:21:46 +01:00
Mathias Vorreiter Pedersen
09c03d9a5f C++: The virtual variable of a variable that is contained in a grouped memory location is that grouped memory location (or all aliased memory if it escapes). 2024-07-04 14:21:45 +01:00
Mathias Vorreiter Pedersen
399d47d2cb C++: Cleanup 2024-07-04 14:21:43 +01:00
Mathias Vorreiter Pedersen
5e1c67f5f1 C++: Add a new 'MemoryLocation' that represents a set of allocations. 2024-07-04 14:21:42 +01:00
Mathias Vorreiter Pedersen
c5c4f08bea C++: Rename from 'getAllocation' to 'getAnAllocation'. 2024-07-04 12:12:00 +01:00
Mathias Vorreiter Pedersen
0b84329e8c C++: Expose the 'AddressOperand' from both 'hasResultMemoryAccess' and 'hasOperandMemoryAccess' and add a boolean column indicating whether they relate to multiple 'Allocation's. 2024-07-04 12:11:59 +01:00
Mathias Vorreiter Pedersen
1c8cf3cd2c C++: Sync identical files. 2024-07-04 12:11:58 +01:00
Mathias Vorreiter Pedersen
ffa55b4bf8 C++: Disable special casing of Phi operands in alias analysis. Instead, we simply add flow through them. 2024-07-04 12:11:57 +01:00
Mathias Vorreiter Pedersen
ef8532982c C++: Sync identical files. 2024-07-04 12:11:56 +01:00
Mathias Vorreiter Pedersen
72679c82a9 C++: Add a new opcode and instruction. 2024-07-04 12:11:54 +01:00
Mathias Vorreiter Pedersen
8e18e7d4e6 Merge pull request #16791 from MathiasVP/collection-content-2
C++: Add support for `Element` content
2024-07-04 08:52:33 +01:00
Tom Hvitved
da0909c080 Merge pull request #16896 from hvitved/ssa/dataflow-integration-prep
SSA: Add `BasicBlock.{getNode/1,length/0}` to the input signature
2024-07-03 19:56:35 +02:00
Tom Hvitved
4ae8720930 SSA: Add BasicBlock.{getNode/1,length/0} to the input signature 2024-07-03 11:32:35 +02:00
Mathias Vorreiter Pedersen
284007dbff C++: Fix more QLDoc. 2024-07-03 09:14:06 +01:00
Mathias Vorreiter Pedersen
4652003688 C++: Update QLDoc on 'GuardCondition' to reflect the fact that switch statements are supported. 2024-07-02 20:21:54 +01:00
Mathias Vorreiter Pedersen
6b025db824 C++: Add QLDoc to 'getParameterTypeName'. 2024-07-02 14:26:15 +01:00
Mathias Vorreiter Pedersen
c104a0a74c C++: Expand QLDoc on 'signatureMatches'. 2024-07-02 14:23:04 +01:00