Mathias Vorreiter Pedersen
|
7bb2b57394
|
Merge pull request #15964 from rdmarsh2/rdmarsh2/cpp/temp-destructors-extended
C++: IR translation for destruction of temporaries with extended lifetimes
|
2024-03-27 11:58:48 +00:00 |
|
Mathias Vorreiter Pedersen
|
9179f0bda6
|
Merge pull request #15969 from MathiasVP/disable-some-constant-folding
C++: Disable _some_ constant folding in IR
|
2024-03-20 09:25:06 +00:00 |
|
Mathias Vorreiter Pedersen
|
357a2ba733
|
C++: Sync identical files.
|
2024-03-19 16:24:11 +00:00 |
|
Mathias Vorreiter Pedersen
|
458ee13345
|
C++: Add constant analysis for bitwise operations now that these are no longer constant folded by IR construction.
|
2024-03-19 16:23:57 +00:00 |
|
Robert Marsh
|
5a30ad162a
|
C++: Add a comment for ReusedExpr IR translation
|
2024-03-19 15:54:52 +00:00 |
|
Robert Marsh
|
3d4f7d880d
|
C++: unsuppress destructoion of temporaries with extended lifetimes
|
2024-03-19 15:54:42 +00:00 |
|
Robert Marsh
|
ba10ea8121
|
C++: ReuseExpr IR translation
|
2024-03-19 15:50:28 +00:00 |
|
Mathias Vorreiter Pedersen
|
a88d8b260d
|
C++: Only ignore constant folding for certain binary operations.
|
2024-03-19 13:17:49 +00:00 |
|
Mathias Vorreiter Pedersen
|
a97891cbc1
|
C++: Add QLDoc to 'getNumberOfBinaryOperands' (and rename it to 'getNumberOfNestedBinaryOperands').
|
2024-03-19 12:56:15 +00:00 |
|
Mathias Vorreiter Pedersen
|
4d3076ae7e
|
C++: Don't constant fold small binary operations.
|
2024-03-19 11:46:51 +00:00 |
|
Mathias Vorreiter Pedersen
|
a21eea4ee0
|
C++: Generalize more predicates from booleans to abstract values.
|
2024-03-18 16:07:57 +00:00 |
|
Jeroen Ketema
|
866a3934d4
|
C++: suppress destructors with reuse expressions until proper support is added
|
2024-03-13 20:17:00 +01:00 |
|
Robert Marsh
|
fbbd57b34f
|
C++: Suppress epxr destructors in preparation for temporaries
|
2024-03-05 21:12:12 +00:00 |
|
Robert Marsh
|
28e1e3a13a
|
C++: remove skeleton for IR destructors on expressions
|
2024-03-04 21:54:18 +00:00 |
|
Mathias Vorreiter Pedersen
|
bba152da13
|
Merge branch 'main' into ir-for-vacuous-destructor-calls
|
2024-02-27 15:42:46 +00:00 |
|
Mathias Vorreiter Pedersen
|
9eaa4e19ad
|
C++: Add IR construction for vacuous destructor calls.
|
2024-02-27 13:53:42 +00:00 |
|
Robert Marsh
|
da5e3d64ac
|
C++: autoformat
|
2024-02-23 16:20:42 +00:00 |
|
Robert Marsh
|
dd97584eff
|
C++: fix for duplicated parent of ReturnVoid statements
|
2024-02-23 16:19:34 +00:00 |
|
Robert Marsh
|
942a4ed925
|
C++: move handlesDestructorsExplicitly up to TranslatedReturnStmt
|
2024-02-22 16:46:19 +00:00 |
|
Robert Marsh
|
875ab74c28
|
Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors
Fixes conflicts in C++ IR tests and Stmt.qll
|
2024-02-21 21:34:49 +00:00 |
|
Robert Marsh
|
66743fb0db
|
C++: refactor TranslatedReturnStmt
|
2024-02-21 20:50:30 +00:00 |
|
Robert Marsh
|
e0c7849f52
|
C++: fix incorrect use of getChildInternal
|
2024-02-21 20:35:58 +00:00 |
|
Robert Marsh
|
2494b7d801
|
C++: fix for IR CFG problem with return in if
|
2024-02-16 21:08:21 +00:00 |
|
Jeroen Ketema
|
dd39fa0bde
|
C++: Support C++20 range-based for initializers
|
2024-02-16 15:20:14 +01:00 |
|
Jeroen Ketema
|
46bc311111
|
C++: Support constexpr if in the IR
|
2024-02-14 13:37:56 +01:00 |
|
Jeroen Ketema
|
caf09e0735
|
C++: Update IR comment that no longer applies
|
2024-02-13 21:30:58 +01:00 |
|
Robert Marsh
|
128bc99f90
|
C++: delete some FIXMEs that turned out fine
|
2024-02-13 15:34:36 +00:00 |
|
Robert Marsh
|
b9785ea7b2
|
C++: autoformat
|
2024-02-13 01:07:41 +00:00 |
|
Robert Marsh
|
b6cf64cff3
|
C++: simplify TranslatedBlock::getLastChild
|
2024-02-13 00:46:53 +00:00 |
|
Robert Marsh
|
7d8872bb99
|
C++: Fix for multiple for-loop variables with destructors
|
2024-02-13 00:40:19 +00:00 |
|
Robert Marsh
|
b94c4a6e1b
|
C++: fix for destructor of while-loop condition
|
2024-02-13 00:13:22 +00:00 |
|
Robert Marsh
|
d1160f86e1
|
C++: Autoformat for named destructors in IR
|
2024-02-09 22:35:12 +00:00 |
|
Robert Marsh
|
174966164d
|
Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors
|
2024-02-07 18:25:12 +00:00 |
|
Mathias Vorreiter Pedersen
|
edc7903c69
|
C++: Add a predicate for getting the 0'th child of a 'ConditionDeclExpr' without casting it to a 'VariableAccess' and use it in IR generation.
|
2024-02-07 11:45:13 +00:00 |
|
Mathias Vorreiter Pedersen
|
7948911415
|
C++: Delete dead code.
|
2024-02-06 17:38:22 +00:00 |
|
Robert Marsh
|
40e06b7877
|
C++: suppress destructor calls on delete in IR generation
This avoids an issue with duplicated qualifiers that was causing broken control flow
|
2024-02-06 14:55:00 +00:00 |
|
Robert Marsh
|
8013c2a074
|
C++: QLDoc and naming updates for implicit destructors in IR
|
2024-02-05 19:14:56 +00:00 |
|
Robert Marsh
|
820f4a5571
|
C++: custom destructor handling for for loops
|
2024-02-02 17:39:23 +00:00 |
|
Robert Marsh
|
85d1d079c8
|
C++: Add implicit named destructosrs to the IR CFG
|
2024-02-02 17:36:02 +00:00 |
|
Robert Marsh
|
3a404cec67
|
C++: Add getLastInstruction to IR generation
|
2024-02-02 17:10:47 +00:00 |
|
Robert Marsh
|
47720e0998
|
C++: generate instructions for destructor calls in IR
|
2024-02-02 17:05:40 +00:00 |
|
Mathias Vorreiter Pedersen
|
1dfd32ee5c
|
C++: Model function calls throwing exceptions.
|
2024-01-30 11:32:50 +00:00 |
|
Mathias Vorreiter Pedersen
|
eb94203f04
|
C++: Add an 'EdgeKind' column to 'getExceptionSuccessorInstruction'.
|
2024-01-30 11:32:50 +00:00 |
|
Mathias Vorreiter Pedersen
|
8bb17a7127
|
C++: Add an 'EdgeKind' column to 'getInitializationSuccessor'.
|
2024-01-30 11:32:50 +00:00 |
|
Mathias Vorreiter Pedersen
|
4fb20e14f5
|
C++: Add an 'EdgeKind' column to 'getChildTrueSuccessor' and 'getChildFalseSuccessor'.
|
2024-01-30 11:32:47 +00:00 |
|
Mathias Vorreiter Pedersen
|
10ae793de5
|
C++: Add an 'EdgeKind' column to 'getFirstInstruction'.
|
2024-01-30 11:31:41 +00:00 |
|
Mathias Vorreiter Pedersen
|
d2e8b88b24
|
C++: Add an 'EdgeKind' column to 'getChildSuccessor'.
|
2024-01-30 11:26:46 +00:00 |
|
erik-krogh
|
8be7eadace
|
delete outdated deprecations
|
2024-01-22 09:11:35 +01:00 |
|
Mathias Vorreiter Pedersen
|
a7ef84f2d1
|
C++: Replace 'strictcount(...) = 1' with 'unique(...)'.
|
2023-11-30 11:20:00 +00:00 |
|
Mathias Vorreiter Pedersen
|
6f5cfca84c
|
C++: Sync identical files.
|
2023-11-23 16:53:57 +00:00 |
|