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 |
|
Mathias Vorreiter Pedersen
|
0b4459db75
|
C++: Add more QLDoc.
|
2024-07-01 10:13:32 +01:00 |
|
Mathias Vorreiter Pedersen
|
e845204ec9
|
C++: Add tests of internal MaD predicates and accept test changes.
|
2024-06-26 14:10:31 +01:00 |
|
Mathias Vorreiter Pedersen
|
d38ce61e03
|
C++: Mention in the QLDoc that you cannot instantiate templates in the signature string.
|
2024-06-26 13:54:28 +01:00 |
|
Mathias Vorreiter Pedersen
|
5b1b60cc92
|
Merge pull request #16797 from MathiasVP/yml-for-allocation-and-deallocation
C++: Add extensible predicates to `Allocation` and `Deallocation`
|
2024-06-24 15:34:27 +01:00 |
|
Anders Schack-Mulligen
|
25d520a7f1
|
Merge pull request #16785 from aschackmull/dataflow/stage3-notypes
Dataflow: Replace stage 3 type pruning with flow-insensitive type pruning.
|
2024-06-24 15:21:37 +02:00 |
|
Anders Schack-Mulligen
|
8c23e21073
|
Dataflow: Cache compatibleTypes.
|
2024-06-24 13:35:48 +02:00 |
|
Mathias Vorreiter Pedersen
|
00d772f980
|
C++: Fix value numbering imports.
|
2024-06-24 11:53:24 +01:00 |
|
Mathias Vorreiter Pedersen
|
9a2c7d34af
|
C++: Simplify 'parseParens'.
|
2024-06-21 15:45:43 +01:00 |
|
Mathias Vorreiter Pedersen
|
f507b51170
|
C++: Fix Code Scanning errors.
|
2024-06-21 14:04:05 +01:00 |
|
Mathias Vorreiter Pedersen
|
3e9862391b
|
C++: No need for 'decodeUnknownContent' if we specify the MaD summary rows correctly. This avoids a bad join in a compiler-generated predicate.
|
2024-06-21 14:04:03 +01:00 |
|
Mathias Vorreiter Pedersen
|
7d41e8ef73
|
C++: Perform a TC to skip conversions when special-casing materialization of temporaries.
|
2024-06-21 13:35:09 +01:00 |
|
Mathias Vorreiter Pedersen
|
47309df2a9
|
C++: Fix 'toString' on parameter and argument positions.
|
2024-06-21 12:47:46 +01:00 |
|
Mathias Vorreiter Pedersen
|
b0bd7a983f
|
C++: Add MaD syntax for an arbitrary number of dereferences.
|
2024-06-21 12:47:42 +01:00 |
|
Mathias Vorreiter Pedersen
|
716df0c7ce
|
C++: Support a richer language in MaD summaries for selecting member functions.
|
2024-06-21 12:47:39 +01:00 |
|
Mathias Vorreiter Pedersen
|
6bf22bda58
|
C++: Replace allocation models with models from extensible predicates.
|
2024-06-21 08:54:09 +01:00 |
|
Mathias Vorreiter Pedersen
|
d308178781
|
C++: Add extensible predicate for allocation.
|
2024-06-20 16:26:52 +01:00 |
|
Mathias Vorreiter Pedersen
|
3457551264
|
C++: Replace deallocation models with models from extensible predicates.
|
2024-06-20 16:26:49 +01:00 |
|
Mathias Vorreiter Pedersen
|
e5c20b13cf
|
C++: Add extensible predicate for deallocation.
|
2024-06-20 14:51:09 +01:00 |
|
Mathias Vorreiter Pedersen
|
901fac4282
|
C++: Support 'Element' content in flow summaries.
|
2024-06-19 13:40:06 +01:00 |
|
Mathias Vorreiter Pedersen
|
013ee9c15e
|
C++: Add support for 'Element' content in dataflow.
|
2024-06-19 13:39:39 +01:00 |
|
Mathias Vorreiter Pedersen
|
c158f8054e
|
C++: Get rid of all the 'StdContainer' taint models.
|
2024-06-19 13:36:19 +01:00 |
|
Mathias Vorreiter Pedersen
|
4079de125f
|
C++: Fix FP by also excluding indirections of array expressions.
|
2024-06-13 10:59:39 +01:00 |
|
Mathias Vorreiter Pedersen
|
3351b9547d
|
Merge branch 'rc/3.14' into rc-3.14-mergeback
|
2024-06-11 16:21:08 +01:00 |
|