198 Commits

Author SHA1 Message Date
gtsoul-tech
72371a05dc derefInvalidIteratorRedundantCheck 2024-04-24 13:15:17 +03:00
gtsoul-tech
fd3e251afa redundantInitialization 2024-04-24 12:40:55 +03:00
gtsoul-tech
73e00e2abc funcArgOrderDifferent 2024-04-23 14:48:51 +03:00
gtsoul-tech
9316d65022 redundantContinue 2024-04-23 14:48:35 +03:00
gtsoul-tech
9d5753b215 comparisonOfBoolWithBoolError 2024-04-23 14:48:12 +03:00
Konstantinos Margaritis
0d2f9ccbaa Fix 'unqualified call to std::move' errors in clang 15+ 2023-10-03 20:24:39 +03:00
Hong, Yang A
978105a4c0 klocwork: fix risk issues 2023-09-05 13:45:33 +03:00
Konstantinos Margaritis
0e0147ec5c clang 14 does not allow bitwise OR for bools 2022-09-16 14:02:53 +03:00
George Wort
a879715953 Move SVE functions into their own files.
Change-Id: I995ba4b7d2b558ee403693ee45d747d414d3b177
2021-10-12 11:51:34 +03:00
George Wort
df926ef62f Implement new Vermicelli16 acceleration functions using SVE2.
The scheme utilises the MATCH and NMATCH instructions to
scan for 16 characters at the same rate as vermicelli
scans for one.

Change-Id: Ie2cef904c56651e6108593c668e9b65bc001a886
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e35b88f2c8 use STL make_unique, remove wrapper header, breaks C++17 compilation 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
2805ff038a revert to push_back() 2021-10-12 11:51:33 +03:00
Konstantinos Margaritis
556206f138 replace push_back by emplace_back where possible 2021-10-12 11:51:33 +03:00
Chang, Harry
52f658ac55 Fix Klocwork scan issues. 2021-01-25 14:13:13 +02:00
Wang Xiang W
9ea1e4be3d limex: add fast NFA check 2021-01-25 14:13:13 +02:00
Wang Xiang W
411317639b Limex: fix acceleration path analysis 2020-05-25 13:46:42 +00:00
Hong, Yang A
6f6e2744df Cyclic redundancy: change DFS termination condition into successors of cyclic vertex 2020-01-15 15:40:10 +00:00
Chang, Harry
8a1c497f44 Logical Combination of patterns. 2018-06-27 14:04:57 +08:00
Justin Viiret
a1d4eec116 nfagraph: remove ng_undirected.h 2018-06-27 13:40:21 +08:00
Justin Viiret
3c776b25c3 ng_repeat: use undirected_graph 2018-06-27 13:40:15 +08:00
Justin Viiret
c7c90c7ab7 graph_undirected: adapt bidi graph to undirected
Introduces an adaptor (like the BGL's reverse_graph) that presents an
undirected view of a bidirectional graph.

Initially used in ng_calc_components.
2018-06-27 13:40:10 +08:00
Justin Viiret
ce7cfbde82 misc: docs, typo fixes, small cleanups 2018-06-27 13:39:05 +08:00
Justin Viiret
08bf909e2b ng_violet: make calcSplitRatio operation faster
Implements count_reachable in a less malloc-happy way, improving
compile performance. Adds a count() function to small_color_map.
2018-06-27 13:38:55 +08:00
Justin Viiret
cadc7028b1 ng_width: turn min width check into assert 2018-06-27 13:38:32 +08:00
Matthew Barr
090632f61a ext param - more consistent depth check 2018-01-19 06:24:21 -05:00
Matthew Barr
1891f14755 Add support for Hamming distance approx matching 2018-01-19 06:11:43 -05:00
Matthew Barr
5021d7ab78 De-const the empty maps.
Clang 3.8 complains about attempting to default init const objects
without a user-provided constructor.
2017-09-22 15:17:56 +10:00
Justin Viiret
ea2e85ac87 ng_squash: switch to using unordered_map
Also some cleaning up, small performance improvements.
2017-09-18 13:29:34 +10:00
Alex Coyte
2a492273b5 remove !LBR constraints from merge passes
we have either converted candidates to castles already or we have converted them
back in the hope of merging them with other holders
2017-09-18 13:22:56 +10:00
Justin Viiret
3ff70d5568 insertion_ordered_{map,set}: add new containers
These are associative map/set structures that are iterable in insertion
order.
2017-08-21 11:25:21 +10:00
Alex Coyte
72973ccb47 violet: don't bother swapping holders if unable to trim graph 2017-08-21 11:25:21 +10:00
Alex Coyte
34ed4a6991 violet: maintain a reference to all the known implementable graphs 2017-08-21 11:25:12 +10:00
Alex Coyte
c693c44646 violet: do not remove more states from holders if dfa has been built 2017-08-21 11:25:12 +10:00
Matthew Barr
d33dcc0534 Remove unwanted move constructor 2017-08-21 11:20:22 +10:00
Alex Coyte
68c8845d15 Do equivalency removal before violet's implementablity check.
This is helpful as removing/restoring literals may introduce redundancy in the
graphs. Also improve the implementation by caching known good holders.
2017-08-21 11:18:30 +10:00
Alex Coyte
aa6025012b Ensure max width of repeat before transforming graph. 2017-08-21 11:18:30 +10:00
Justin Viiret
33823d60d1 tidy: "ue2::flat_set/map" -> "flat_set/map" 2017-08-21 11:14:59 +10:00
Justin Viiret
9cf66b6ac9 util: switch from Boost to std::unordered set/map
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.

The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Alex Coyte
482e1ef931 Ensure that reports would be sustained after self loop is removed
Approximante matching means that is now possible to get a non-standard report
on a cyclic during edge redundancy passes which means checks are now needed.
2017-08-21 11:12:26 +10:00
Justin Viiret
b454ab6484 ng_prefilter.cpp: remove interior edges first
This allows us to avoid looking them up while we're in copyOutEdges(),
halves time on large cases.
2017-08-21 11:12:26 +10:00
Justin Viiret
2fba9bd16c ng_mcclellan: reject determinise if NFA is too big 2017-08-21 11:12:26 +10:00
Justin Viiret
e8f09aa8c6 ng_violet: fail on added_count limit quicker
- also fixes typo "splitForImplementability"
- adds more detail in debug output
2017-08-21 11:12:26 +10:00
Justin Viiret
c0320b8cdc ng_depth: more use of small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
90faea4ce9 ng_depth: use small_color_map in findLoopReachable 2017-08-21 11:12:26 +10:00
Justin Viiret
9c046db360 ng_util: make more use of small_color_map in DFS 2017-08-21 11:12:26 +10:00
Justin Viiret
8d178d52ef ng_util: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
f98ccedf27 ng_prune: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
33141e64b6 ng_netflow: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
b97fa8c808 ng_literal_analysis: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
32270725c6 ng_repeat: use small_color_map 2017-08-21 11:12:26 +10:00