Commit Graph

13671 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
9bfe847fda C++: Fix awful joins on bochs:
```
Evaluated relational algebra for predicate DataFlowPrivate::storeStepImpl/4#b2c79f9a@13be12rc with tuple counts:
           9   ~0%    {3} r1 = JOIN `FlowSummaryImpl::Private::Steps::summaryStoreStep/3#5c2d4899` WITH DataFlowUtil::TFlowSummaryNode#40da8361 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
           9   ~0%    {4}    | JOIN WITH DataFlowUtil::TFlowSummaryNode#40da8361 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1, _
           9  ~12%    {4}    | REWRITE WITH Out.3 := true

     1853420   ~0%    {3} r2 = SCAN `DataFlowPrivate::nodeHasInstruction/3#f469bb06` OUTPUT In.1, In.0, In.2
      100282   ~0%    {3}    | JOIN WITH `Instruction::StoreInstruction.getDestinationAddressOperand/0#dispred#596a4aba` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
      127910   ~0%    {6}    | JOIN WITH `DataFlowPrivate::numberOfLoadsFromOperand/4#7e555666_1023#join_rhs` ON FIRST 1 OUTPUT _, Lhs.1, Rhs.1, Rhs.3, Lhs.2, Rhs.2
      127910   ~0%    {4}    | REWRITE WITH Tmp.0 := 1, Out.0 := (Tmp.0 + In.4 + In.5) KEEPING 4
  4178182721   ~1%    {4}    | JOIN WITH `DataFlowUtil::FieldContent.getIndirectionIndex/0#dispred#cc69866f_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
  4290552803   ~0%    {5}    | JOIN WITH `DataFlowUtil::FieldContent.getAField/0#dispred#ba1c91e5` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.0, Rhs.1
  3033745816   ~5%    {7}    | JOIN WITH DataFlowUtil::PostFieldUpdateNode#b86f3a84_1023#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.2, Rhs.3
  3033745816   ~3%    {9}    | JOIN WITH DataFlowUtil::TPostUpdateNodeImpl#f5e76b7a_21#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0, Lhs.5, Lhs.6, Rhs.1, _
                      {8}    | REWRITE WITH Tmp.8 := 1, TEST InOut.7 = Tmp.8 KEEPING 8
  1516872908   ~0%    {7}    | SCAN OUTPUT In.4, In.5, In.6, In.0, In.1, In.2, In.3
  2409090286   ~1%    {6}    | JOIN WITH DataFlowUtil::PostFieldUpdateNode#b86f3a84_0231#join_rhs ON FIRST 3 OUTPUT Rhs.3, Lhs.6, Lhs.3, Lhs.4, Lhs.5, Lhs.0
       66016  ~45%    {4}    | JOIN WITH `DataFlowUtil::FieldAddress.getField/0#dispred#bdd01c1a` ON FIRST 2 OUTPUT Lhs.2, Lhs.4, Lhs.5, Lhs.3

       66025  ~45%    {4} r3 = r1 UNION r2
                      return r3
```
2025-11-19 10:08:09 +00:00
Mathias Vorreiter Pedersen
7f0fcb0c46 C++: Create a common base class for 'NonUnionContent' and 'UnionContent' called 'FieldContent'. 2025-11-18 18:53:37 +00:00
Mathias Vorreiter Pedersen
7527d88762 C++: Get rid of abstract'ness from these public predicates. We are not supposed to have abstract public stuff. Oops ... 2025-11-18 18:52:20 +00:00
Mathias Vorreiter Pedersen
2af6db6320 C++: Rename 'FieldContent' to 'NonUnionContent'. 2025-11-18 18:51:33 +00:00
Paolo Tranquilli
48ee9dd149 Merge branch 'main' into post-release-prep/codeql-cli-2.23.6 2025-11-18 12:18:09 +01:00
github-actions[bot]
5ee45af3aa Post-release preparation for codeql-cli-2.23.6 2025-11-18 09:53:12 +00:00
Mathias Vorreiter Pedersen
47ac4dd1dc C++: Add 'nomagic' to 'getParameter'. 2025-11-17 19:21:37 +00:00
github-actions[bot]
18fa6799ce Release preparation for version 2.23.6 2025-11-17 16:38:07 +00:00
Jeroen Ketema
1671805598 Merge pull request #20831 from jketema/expanded
C++: Extract the expanded compiler arguments
2025-11-17 13:58:24 +01:00
Jeroen Ketema
1df47cc747 C++: Fix QL-for-QL warning 2025-11-17 11:17:57 +01:00
Jeroen Ketema
15393ae621 C++: Add change note 2025-11-17 11:17:56 +01:00
Jeroen Ketema
61b7eb3d5c C++: Update dbscheme stats file 2025-11-17 11:17:55 +01:00
Jeroen Ketema
a8d488fa29 C++: Add upgrade and downgrade scripts 2025-11-17 11:17:54 +01:00
Jeroen Ketema
ee97d6f461 C++: Expose the expanded compilation arguments 2025-11-17 11:17:53 +01:00
Jeroen Ketema
861c236dae C++: Add table for expanded compilation arguments 2025-11-17 11:17:51 +01:00
Simon Friis Vindum
792ac7a772 C++: Fix typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-14 12:59:41 +01:00
Simon Friis Vindum
1dd78e2f4b C++: Add change note 2025-11-14 12:26:24 +01:00
Simon Friis Vindum
5da73f3232 C++: Make sure that nrOfBoundsNEPhi is functional 2025-11-14 12:26:23 +01:00
Simon Friis Vindum
74b433ef59 C++: Add range analysis tests 2025-11-14 12:26:22 +01:00
Simon Friis Vindum
69e70d7cbc Reapply "Merge pull request #20645 from paldepind/cpp/range-analysis-measure"
This reverts commit e7c029ae7d.
2025-11-14 12:26:21 +01:00
Mathias Vorreiter Pedersen
7b052e2404 Merge branch 'main' into fix-cp-in-external-flow 2025-11-10 10:44:31 +00:00
Mathias Vorreiter Pedersen
29a294f8d0 C++: Bind the columns inside the predicate instead of relying on 'bindingset's. The repeated inlining caused by 'bindiingset's created some #shared predicates with repeated regex matching. 2025-11-10 10:21:12 +00:00
Mathias Vorreiter Pedersen
267a7f5229 Merge pull request #20779 from MathiasVP/fix-bad-magic
C++: Fix bad magic in `IRGuards`
2025-11-10 10:05:18 +00:00
Jeroen Ketema
eb3e86480f Merge pull request #20784 from jketema/qual-fail
C++: Fix named qualifier dataset check error with decltypes
2025-11-10 10:36:47 +01:00
Jeroen Ketema
0bf415acdf C++: Add upgrade and downgrade scripts 2025-11-10 10:11:05 +01:00
Jeroen Ketema
b660625429 C++: Update dbscheme to address dataset check error 2025-11-10 10:11:04 +01:00
Jeroen Ketema
a3f26fd6bb C++: Update expected test results after QL changes 2025-11-10 10:11:03 +01:00
Jeroen Ketema
f9554e1542 C++: Give proper getNames to more types and fix QLdoc 2025-11-10 10:11:01 +01:00
Mathias Vorreiter Pedersen
dfdc2a6a15 C++: Delete an incorrect comment. 2025-11-08 16:45:45 +00:00
Mathias Vorreiter Pedersen
3d6b3a31ac C++: Also join on the 'namespace'. 2025-11-08 16:45:39 +00:00
Mathias Vorreiter Pedersen
bfe2b7dc44 C++: Use the new predicate to remove a cartesian-like join. 2025-11-08 16:43:43 +00:00
Mathias Vorreiter Pedersen
a922d5099f C++: Factor out some conjuncts from 'interpretElement0' and into a new predicate. 2025-11-08 16:42:16 +00:00
Mathias Vorreiter Pedersen
74b774eec5 Merge pull request #20769 from MathiasVP/add-more-flow-models
C++: Add a few more models
2025-11-08 16:39:29 +00:00
github-actions[bot]
10ae374a82 Post-release preparation for codeql-cli-2.23.4 2025-11-07 18:18:09 +00:00
Michael B. Gale
0cbc9358de Revert C++ range analysis change note 2025-11-07 17:39:40 +00:00
Mathias Vorreiter Pedersen
6a2debba96 C++: Fix bad magic. 2025-11-07 17:38:18 +00:00
github-actions[bot]
6342da9503 Release preparation for version 2.23.4 2025-11-07 17:37:29 +00:00
Michael B. Gale
eb32c32d4c Merge pull request #20777 from github/revert-20745-release-prep/2.23.4
Revert "Release preparation for version 2.23.4"
2025-11-07 17:35:35 +00:00
Mathias Vorreiter Pedersen
56b9566299 C++: Fix mistakes in models of internal strcat and strcpy functions. 2025-11-07 17:29:48 +00:00
Michael B. Gale
6ce8f07290 Revert "Release preparation for version 2.23.4" 2025-11-07 17:28:28 +00:00
Mathias Vorreiter Pedersen
f163d015d5 C++: Clean up comments. 2025-11-07 17:27:25 +00:00
Enrico Steffinlongo
e7c029ae7d Revert "Merge pull request #20645 from paldepind/cpp/range-analysis-measure"
This reverts commit a0a6f288b5, reversing
changes made to 32f21d6d49.
2025-11-07 16:49:47 +00:00
Mathias Vorreiter Pedersen
f0da0d98a2 C++: Add a few more models I noticed while here. 2025-11-06 17:00:19 +00:00
Mathias Vorreiter Pedersen
2b6a75f4ad C++: Accept test changes. 2025-11-06 16:57:11 +00:00
Mathias Vorreiter Pedersen
1d5d272822 C++: Add a few more models. 2025-11-06 16:55:51 +00:00
Mathias Vorreiter Pedersen
0607100310 C++: Add tests with missing flow. 2025-11-06 16:54:54 +00:00
github-actions[bot]
4014df9a6e Post-release preparation for codeql-cli-2.23.4 2025-11-04 17:57:52 +00:00
github-actions[bot]
64fcdd1f2f Release preparation for version 2.23.4 2025-11-03 14:52:23 +00:00
Nora Dimitrijević
a0975e7e19 Constrain location overrides to actual sources/sinks 2025-10-28 09:42:20 +01:00
Nora Dimitrijević
96e1536769 C++/SqlTainted 2025-10-28 09:42:17 +01:00