Alex Eyers-Taylor
|
c79ec8c37a
|
CPP: Improve performance of IR debugging
|
2023-10-05 17:35:52 +01:00 |
|
Mathias Vorreiter Pedersen
|
20900dafc0
|
C++: Handle reverse flow when 'nodeTo' is an instruction.
|
2023-10-05 16:28:57 +02:00 |
|
Mathias Vorreiter Pedersen
|
2f39ab1977
|
C++: Project away 'why' to prevent tuple duplication in 'Buffer.qll'.
|
2023-10-05 13:32:52 +02:00 |
|
Mathias Vorreiter Pedersen
|
75c74d50f9
|
C++: Use 'unique' in 'hasIRRepresentationOfIndirectInstruction' similar to how it's done in 'hasIRRepresentationOfIndirectOperand'.
|
2023-10-04 19:00:33 +02:00 |
|
Mathias Vorreiter Pedersen
|
843e9ad254
|
C++: Add more QLDoc.
|
2023-10-04 14:37:05 +02:00 |
|
Henry Mercer
|
f3847b3f51
|
Merge branch 'main' into henrymercer/rc-3.11-mergeback
|
2023-10-03 16:30:23 +01:00 |
|
Mathias Vorreiter Pedersen
|
57d3f3f482
|
C++: Actually propagate the 'isBarrier1' or 'isBarrier2' predicates to the dataflow configurations.
|
2023-10-03 15:58:24 +02:00 |
|
Mathias Vorreiter Pedersen
|
9df5e43fae
|
C++: Block flow through indirect flow through pointer-arithmetic instructions when following flow for the allocation size.
|
2023-10-03 15:31:50 +02:00 |
|
Asger F
|
0d96ed8aee
|
Merge pull request #14305 from asgerf/shared/flow-state-inout-barriers
Shared: add in/out barriers with flow state
|
2023-09-28 11:07:23 +02:00 |
|
Anders Schack-Mulligen
|
2548939849
|
C++: Use shared FileSystem library.
|
2023-09-28 08:58:55 +02:00 |
|
Asger F
|
d501856519
|
Update DataFlowImpl.qll copies
|
2023-09-25 10:05:29 +02:00 |
|
Anders Schack-Mulligen
|
ae278fcad7
|
C++: Fix import conflict.
|
2023-09-22 15:06:21 +02:00 |
|
Anders Schack-Mulligen
|
66da997b7b
|
Dataflow: Make use of defaults for language-specific hooks.
|
2023-09-22 14:54:22 +02:00 |
|
Anders Schack-Mulligen
|
13f7daf71e
|
Merge pull request #13982 from aschackmull/dataflow/typeflow-calledge-pruning
Dataflow: Add type-based call-edge pruning.
|
2023-09-21 13:33:08 +02:00 |
|
Mathias Vorreiter Pedersen
|
22d66b6d81
|
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
|
2023-09-20 09:56:10 +01:00 |
|
Mathias Vorreiter Pedersen
|
fb1ce2ab70
|
C++: Lift 'getParameter' to 'ParameterNode'.
|
2023-09-20 09:51:35 +01:00 |
|
Geoffrey White
|
a3579f6e38
|
Merge branch 'main' into typos
|
2023-09-19 16:44:13 +01:00 |
|
Geoffrey White
|
8a0e202b63
|
CPP: Fix typos.
|
2023-09-19 15:18:03 +01:00 |
|
Mathias Vorreiter Pedersen
|
8906a37989
|
Merge pull request #14250 from MathiasVP/reduce-dataflow-duplication-for-allocations
C++: Reduce dataflow duplication for allocations
|
2023-09-19 11:18:20 +01:00 |
|
Alexander Eyers-Taylor
|
1f4a5301cd
|
Merge pull request #14242 from alexet/simplify-ir-guards
CPP: Simplify some code in IRGuards.
|
2023-09-19 10:35:09 +01:00 |
|
Mathias Vorreiter Pedersen
|
d2e66a1186
|
C++: Ignore addresses of 'InitializeDynamicAllocationInstruction' in 'unique' when converting between instructions and expression in dataflow.
|
2023-09-18 17:55:19 +01:00 |
|
Mathias Vorreiter Pedersen
|
38b100531b
|
C++: Only add conversion when necessary.
|
2023-09-18 11:46:11 +01:00 |
|
Alex Eyers-Taylor
|
c7ccfac938
|
CPP: Simplify some code in IRGuards.
|
2023-09-18 10:51:48 +01:00 |
|
Mathias Vorreiter Pedersen
|
734a91db9c
|
Merge pull request #14237 from MathiasVP/range-analysis-perf
C++: Fix order of non-linear join in range analysis
|
2023-09-18 10:38:19 +01:00 |
|
Mathias Vorreiter Pedersen
|
46b15fa6f2
|
C++: Fix join of non-linear joins.
|
2023-09-16 01:33:16 +01:00 |
|
Mathias Vorreiter Pedersen
|
cdf5872eb3
|
Merge pull request #14217 from alexet/is-trivial-built-in
CPP:Make __is_trivial a builtin operation.
|
2023-09-15 16:01:25 +01:00 |
|
Mathias Vorreiter Pedersen
|
6c7833f28c
|
Merge pull request #14223 from MathiasVP/add-explicit-dereferenced-by-operation-base-case-predicate
C++: Add a `directDereferencedByOperation` predicate
|
2023-09-15 10:19:26 +01:00 |
|
Mathias Vorreiter Pedersen
|
b18de9e641
|
C++: Add a named base case predicate for 'dereferencedByOperation' that can be used in queries.
|
2023-09-14 17:12:58 +01:00 |
|
Mathias Vorreiter Pedersen
|
36b7b6cffe
|
C++: Fix phi-phi flow.
|
2023-09-14 14:02:03 +01:00 |
|
Alex Eyers-Taylor
|
d79a2c7674
|
CPP:Make __is_trivial a builtin operation.
|
2023-09-14 12:50:36 +01:00 |
|
Mathias Vorreiter Pedersen
|
18fa6f5d64
|
Merge pull request #14202 from alexet/translated-element-location
CPP: Add a location to TranslatedElement to help with debugging IR creation
|
2023-09-13 15:19:24 +01:00 |
|
Anders Schack-Mulligen
|
f5a4b792bd
|
C++/Go/Python/Ruby/Swift: Add dummy localMustFlowStep.
|
2023-09-13 15:43:46 +02:00 |
|
Alex Eyers-Taylor
|
0c10fa0c87
|
CPP: Add a location to TranslatedElement to help with debugging IR creation
|
2023-09-13 12:21:30 +01:00 |
|
Mathias Vorreiter Pedersen
|
b03054b1ed
|
C++: Make sure some instruction also gives back the 'ParenthesisExpr's.
|
2023-09-12 19:46:42 +01:00 |
|
Dilan
|
bc2bb19491
|
Merge tag 'codeql-cli/latest'
Compatible with the latest released version of the CodeQL CLI
|
2023-09-12 16:13:57 +00:00 |
|
Mathias Vorreiter Pedersen
|
7d2c12e63d
|
C++: Handle the extent of 'new[]' in 'getConvertedResultExpressionImpl0' and add a few more comments.
|
2023-09-12 10:28:36 +01:00 |
|
Mathias Vorreiter Pedersen
|
becb469477
|
Merge branch 'main' into deduplicate-dataflow-results-take-3
|
2023-09-11 09:55:11 +01:00 |
|
Mathias Vorreiter Pedersen
|
7ff4ebd912
|
Merge pull request #14102 from alexet/alexet/remove-unreachable-ir
CPP: Remove sucessors of non-returning IR calls transitively.
|
2023-09-09 14:48:26 +01:00 |
|
Mathias Vorreiter Pedersen
|
0be61be07a
|
C++: Handle flow out of post-update nodes when there's another use of the variable in the call that we need to skip.
|
2023-09-08 17:07:26 +01:00 |
|
Alex Eyers-Taylor
|
5fe44b65b7
|
CPP: Avoid CP with edgekind in non-returning analysis
|
2023-09-08 16:55:06 +01:00 |
|
Mathias Vorreiter Pedersen
|
32ed82eecc
|
Merge pull request #14154 from MathiasVP/fix-off-by-one-in-asDefiningArgument
|
2023-09-07 18:48:57 +01:00 |
|
Alex Eyers-Taylor
|
b44c4587a4
|
CPP: Remove sucessors of non-returning IR calls.
|
2023-09-07 12:58:20 +01:00 |
|
Alex Eyers-Taylor
|
d603b7ac3c
|
CPP: Make functions that reach the end return.
This is UB in C++ but not C where it is only bad if the result is used.
|
2023-09-07 12:39:48 +01:00 |
|
Mathias Vorreiter Pedersen
|
14faa5d020
|
C++: Fix off-by-one in 'asDefiningArgument' so that the domain of the argument is '[1..]' like 'asIndirectArgument'.
|
2023-09-06 17:19:44 +01:00 |
|
Mathias Vorreiter Pedersen
|
2bed77de09
|
Merge branch 'main' into deduplicate-dataflow-results-take-3
|
2023-09-06 14:12:36 +01:00 |
|
Alex Eyers-Taylor
|
3db384ddc3
|
CPP: Handle globals flowing into "UnreacheachedInstruction"
|
2023-09-05 11:50:32 +01:00 |
|
Mathias Vorreiter Pedersen
|
20f501d1c7
|
C++: Change queries to use 'asExpr' instead of 'asConvertedExpr'.
|
2023-09-01 15:01:32 +01:00 |
|
Mathias Vorreiter Pedersen
|
cca6052026
|
C++: Use 'operandNode' to generate the string for indirect operands.
|
2023-09-01 14:04:54 +01:00 |
|
Mathias Vorreiter Pedersen
|
f1c4fa2345
|
C++: When we generate a string for the node we avoid multiple results by only using the 0'th result from the 'asExpr' predicate. However, when we want to convert between nodes and expressions we don't care about which one we get.
|
2023-09-01 14:04:52 +01:00 |
|
Mathias Vorreiter Pedersen
|
d2bb73ba1f
|
C++: Use the index to to get the 'most converted' and 'least converted' instruction in a bunch of places.
|
2023-09-01 13:47:06 +01:00 |
|