Mathias Vorreiter Pedersen
75c1e56bbd
Revert "Merge pull request #8515 from rdmarsh2/rdmarsh2/ir-global-vars"
...
This reverts commit 800e4ea7df , reversing
changes made to 7ce040f331 .
2022-04-27 16:04:28 +01:00
Erik Krogh Kristensen
e1c7d369be
Merge pull request #8796 from erik-krogh/redundantImport
...
Remove redundant imports
2022-04-27 12:39:51 +02:00
Mathias Vorreiter Pedersen
800e4ea7df
Merge pull request #8515 from rdmarsh2/rdmarsh2/ir-global-vars
...
C++: generate IR for global variables with initializers
2022-04-26 18:17:13 +01:00
Erik Krogh Kristensen
d389012b75
Merge branch 'main' into redundantImport
2022-04-26 14:24:51 +02:00
Robert Marsh
d0fc348ad9
C++: autoformat
2022-04-25 14:17:49 -04:00
Anders Schack-Mulligen
c06efa1f42
Dataflow: Sync.
2022-04-25 13:11:04 +02:00
Tom Hvitved
bffa8fa7cb
Merge pull request #8641 from hvitved/dataflow/interpret-read-store
...
Data flow: Introduce `ContentSet`
2022-04-25 12:17:34 +02:00
Tom Hvitved
2466288656
Data flow: Simplify revFlowStore
2022-04-25 10:11:54 +02:00
Tom Hvitved
bc6ee10583
Data flow: Sync files
2022-04-22 15:10:00 +02:00
Tom Hvitved
b033f107df
Merge remote-tracking branch 'upstream/main' into dataflow/interpret-read-store
2022-04-22 14:35:02 +02:00
Erik Krogh Kristensen
a96489b23d
delete duplicate imports
2022-04-22 12:41:30 +02:00
Dave Bartolomeo
83fdff54c4
Work around missing size for typedef
...
See #8805 for the underlying issue. The symptom was bad IR generation on a large number of functions because we never generated an `IRVariable` for a parameter with the affected type.
2022-04-21 16:16:09 -04:00
Anders Schack-Mulligen
b521d64156
Dataflow: Sync.
2022-04-19 15:29:35 +02:00
Mathias Vorreiter Pedersen
91b413d59f
Dataflow: Sync identical files.
2022-04-19 09:57:21 +01:00
Mathias Vorreiter Pedersen
d5722ffa61
C++: Add 'nomagic' to 'revPartialPathStep'.
2022-04-19 09:56:41 +01:00
Robert Marsh
cae08c505f
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-04-18 15:25:03 -04:00
Robert Marsh
b5c8413f5c
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-04-18 15:19:25 -04:00
Anders Schack-Mulligen
7beed570f2
Dataflow: Sync.
2022-04-07 13:53:48 +02:00
Tom Hvitved
4099d1318f
Data flow: Tweak two join-orders
...
Before
```
[2022-04-06 13:19:29] (96s) Tuple counts for DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff/2@i14#aa10f2wi after 4.4s:
10681 ~0% {2} r1 = SCAN DataFlowImpl2::Stage1::revFlow#7ad53399#fff#prev_delta OUTPUT In.0, In.2 'config'
982 ~1% {3} r2 = JOIN r1 WITH DataFlowImpl2::readSet#7ad53399#ffff_2301#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.1 'config', Rhs.2
83691528 ~2% {3} r3 = JOIN r2 WITH DataFlowPublic::ContentSet::getAReadContent#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'config', Lhs.2, Rhs.1 'c'
83581763 ~2% {3} r4 = r3 AND NOT DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff#prev(Lhs.2 'c', Lhs.0 'config')
83581763 ~0% {3} r5 = SCAN r4 OUTPUT In.2 'c', In.0 'config', In.1
0 ~0% {3} r6 = JOIN r5 WITH DataFlowImpl2::Stage1::fwdFlowConsCand#7ad53399#ff ON FIRST 2 OUTPUT Lhs.2, Lhs.1 'config', Lhs.0 'c'
0 ~0% {2} r7 = JOIN r6 WITH DataFlowImpl2::Stage1::fwdFlow#7ad53399#2#fff_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'c', Lhs.1 'config'
return r7
```
After
```
[2022-04-06 13:44:38] (6s) Tuple counts for DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff/2@i14#5abbf2wn after 6ms:
10681 ~0% {2} r1 = SCAN DataFlowImpl2::Stage1::revFlow#7ad53399#fff#prev_delta OUTPUT In.0, In.2 'config'
982 ~1% {3} r2 = JOIN r1 WITH DataFlowImpl2::readSet#7ad53399#ffff_2301#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.1 'config', Rhs.2
109765 ~0% {3} r3 = JOIN r2 WITH DataFlowImpl2::Stage1::fwdFlowConsCandSet#7ad53399#fff#reorder_0_2_1 ON FIRST 2 OUTPUT Lhs.1 'config', Lhs.2, Rhs.2 'c'
0 ~0% {3} r4 = r3 AND NOT DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff#prev(Lhs.2 'c', Lhs.0 'config')
0 ~0% {3} r5 = SCAN r4 OUTPUT In.1, In.0 'config', In.2 'c'
0 ~0% {2} r6 = JOIN r5 WITH DataFlowImpl2::Stage1::fwdFlow#7ad53399#2#fff_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'c', Lhs.1 'config'
return r6
```
2022-04-06 13:52:30 +02:00
Tom Hvitved
d99bb65ea9
C++: Implement ContentSet
2022-04-04 13:51:44 +02:00
Tom Hvitved
c4fbc618a9
Data flow: Sync files
2022-04-04 13:51:44 +02:00
Chris Smowton
28fa49dcd6
dataflow -> data-flow
2022-04-01 13:22:58 +01:00
Chris Smowton
3b0bd3bc0f
Improve wording
2022-04-01 11:31:31 +01:00
Chris Smowton
99026a6071
Improve wording of isAdditionalFlow/TaintStep qldoc
2022-04-01 11:07:27 +01:00
Robert Marsh
3ce7c521d1
C++: fix IR global var init for string constants
2022-03-30 14:01:59 -04:00
Robert Marsh
fb0a848e5a
C++: fix inconsistency with global var constructor
2022-03-30 13:32:02 -04:00
Robert Marsh
9442be1a27
Autoformat
2022-03-29 16:23:57 -04:00
Robert Marsh
3c1ec5a595
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-03-28 16:06:17 -04:00
Robert Marsh
af6a4f31e7
C++: TranslatedInstructionContainer to RootElement
2022-03-28 15:20:48 -04:00
Robert Marsh
5811d0b2ad
C++: add AliasedDefinition to IR global var inits
2022-03-28 14:53:43 -04:00
Mathias Vorreiter Pedersen
c115c68247
Merge pull request #8542 from MathiasVP/public-iterated-dominance-frontier
...
C++: Use `iterated (post)dominance frontier` algorithm in `IRBlock`
2022-03-25 11:51:15 +00:00
Jeroen Ketema
b18b86b2e2
C++: Remove check for value-less literals in constructors
2022-03-25 11:43:01 +01:00
Mathias Vorreiter Pedersen
80630972b1
Merge branch 'main' into public-iterated-dominance-frontier
2022-03-24 12:50:29 +00:00
Mathias Vorreiter Pedersen
c76a323246
C++/C#: Sync identical files.
2022-03-23 17:27:25 +00:00
Mathias Vorreiter Pedersen
1b4fb45089
C++: Use the iterated (post)dominance frontier algorithm in the public '(post)dominanceFrontier' predicate on 'IRBlocks'.
2022-03-23 17:27:16 +00:00
Mathias Vorreiter Pedersen
93346a574f
C++: Add a new 'Location.isBefore' predicate that also considers columns.
2022-03-22 12:16:53 +00:00
Robert Marsh
23e9963a19
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-03-21 16:13:40 -04:00
Robert Marsh
5bb6441047
C++: Fix consistency issues with aggregate inits
2022-03-21 16:01:24 -04:00
Robert Marsh
a36c6f2dab
C++: restrict IR generation to global vars w inits
2022-03-21 14:26:29 -04:00
Robert Marsh
c27dfb5120
C++: IR translation for global variable inits
2022-03-21 13:17:05 -04:00
Tom Hvitved
79ea2a3a9c
Data flow: Sync files
2022-03-17 14:03:58 +01:00
Jeroen Ketema
7a9a9d833a
Merge pull request #8435 from jketema/all-the-barriers
...
Add flow state versions of isBarrierIn, isBarrierOut, and isBarrierGuard
2022-03-16 15:50:19 +01:00
Jeroen Ketema
157a36bc4f
Use node variable in all disjuncts
2022-03-15 11:55:35 +01:00
Jeroen Ketema
9a0e94f389
Add flow state versions of isBarrierIn, isBarrierOut, and isBarrierGuard
2022-03-15 11:55:34 +01:00
Erik Krogh Kristensen
c7509c4dd3
Merge branch 'main' into deadCode
2022-03-15 09:19:14 +01:00
Robert Marsh
143b79c0cc
C++/WIP: Generate IR for global variables
2022-03-14 17:12:30 -04:00
Erik Krogh Kristensen
3bf5e06d53
delete all dead code
2022-03-14 13:03:31 +01:00
Jeroen Ketema
4c2081b7fc
Merge pull request #8401 from jketema/taint-flow
...
Extend taint tracking interface with flow states
2022-03-14 12:06:10 +01:00
Erik Krogh Kristensen
bbb2847ec1
Merge pull request #8323 from erik-krogh/acronyms
...
Enforcing consistent casing of acronyms
2022-03-14 11:38:25 +01:00
Erik Krogh Kristensen
1e365611fc
fix all other implicit-this warnings introduced by the acronym patch
2022-03-11 13:22:07 +01:00