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
Matthew Barr
1891f14755
Add support for Hamming distance approx matching
2018-01-19 06:11:43 -05:00
Matthew Barr
1a81263744
Check for unused typedef warning and disable
...
This affects older versions of Boost (1.58), and we were only disabling the
warning for g++.
Fixes #62 .
2017-09-18 15:23:57 +10:00
Justin Viiret
3f36665e39
unit: add PrintTo for ue2_literal
2017-09-18 13:26:18 +10:00
Alex Coyte
47e64646b4
move mergeDupeLeaves() and uncalcLeaves() to rose_build_role_aliasing
...
Unlike the rest of rose_build_mergem, these functions relate to merging
roles/vertices rather than merging engines.
2017-09-18 13:22:56 +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
Matthew Barr
b259283d6b
cmake: set isystem flag for older cmake
2017-08-21 11:27:20 +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
Hong, Yang A
205a5bc98f
multibit compression support
2017-08-21 11:19:11 +10:00
Alex Coyte
952f0aad21
support dynamic stream compression
2017-08-21 11:18:54 +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
Wang, Xiang W
86c5f7feb1
FDR: Squash buckets of included literals in FDR confirm
...
- Change the compile of literal matchers to two passes.
- Reverse the bucket assignment in FDR, bucket with longer literals has
smaller bucket id.
- Squash the buckets of included literals and jump to the the program of
included literals directly from parent literal program without going
through FDR confirm for included iterals.
2017-08-21 11:12:36 +10:00
Wang, Xiang W
67a8f43355
literal matchers: change context passed to callback to scratch
2017-08-21 11:12:36 +10:00
Wang, Xiang W
ebb1b0006b
remove start argument in literal matcher callbacks
2017-08-21 11:12:36 +10:00
Justin Viiret
1d041b12b7
shufti/truffle tests: silence ubsan warning
...
The ubsan support in clang warned about us accessing idx-1 of an array here.
2017-08-21 11:12:16 +10:00
Justin Viiret
3bd0c7f6ad
unit-hyperscan: pure-literal/smwr coverage
2017-08-21 11:09:35 +10:00
Alex Coyte
d317d75615
character classes: handle \Q\E and utf8
2017-06-21 08:43:44 +10:00
Matthew Barr
dba2470ec9
msvc: use the vectorcall calling convention
...
This requires declaring external interfaces with the cdecl
calling convention.
2017-06-09 10:12:02 +10:00
Matthew Barr
fb3a03dc69
Disable part of unit test on FreeBSD 10
2017-05-30 14:00:45 +10:00
Matthew Barr
3e345c2567
If we can shift by an immediate, do it. Otherwise, don't.
2017-05-30 14:00:45 +10:00
Matthew Barr
91db20d8eb
avx512: CPU detection and platform hints
2017-05-30 13:59:23 +10:00
Matthew Barr
8a56d16d57
avx512: add basic functions to simd_utils
...
Extends the m512 type to use avx512 and also changes required
for limex.
2017-05-30 13:59:18 +10:00
Matthew Barr
423569ec82
De-multiaccel
2017-05-30 13:59:00 +10:00
Matthew Barr
c510b85bf1
whitespace changes
2017-05-30 13:59:00 +10:00
Matthew Barr
0b8f25a036
Ensure simd types are aligned to what we assume
...
Turns out Clang is sensitive to the location of the alignment attribute.
2017-05-30 13:48:38 +10:00
Justin Viiret
e8162960fc
unit: use bytecode_ptr instead of aligned_unique_ptr
2017-04-26 15:19:36 +10:00
Justin Viiret
a197074c5d
nfa: switch to using bytecode_ptr<NFA>
2017-04-26 15:19:36 +10:00
Justin Viiret
cf82924a39
depth: make constructor explicit
2017-04-26 15:19:19 +10:00
Alex Coyte
37cb93e60f
rose_build: reduce size/scope of context objects
2017-04-26 15:19:01 +10:00
Matthew Barr
8201183138
Check compiler architecture flags in one place
2017-04-26 15:18:26 +10:00
Justin Viiret
a4df49dd66
unit: better output from expr_info unit tests
2017-04-26 15:18:25 +10:00
Justin Viiret
a871f70c25
ng_extparam: split up work and do per-comp reduce
...
This change breaks extparam processing up into:
- propagateExtendedParams: propagates min_length, min_offset and
max_offset into the reports on the graph
- reduceExtendedParams: runs graph reductions based on extparams
Then, we apply the reduce pass to the whole graph, and later as well to
each component after calc_components.
2017-04-26 15:18:22 +10:00
Alex Coyte
0cbec2c1c3
mmbBuildInitRangePlan: correct offset if initial block is not block 0
2017-04-26 15:18:13 +10:00
Justin Viiret
560e522457
ng_calc_components: add Grey box control
2017-04-26 15:18:13 +10:00
Justin Viiret
ba867ebaff
ng_calc_components: rework to move graphs
...
Rather than cloning graphs for output, rework calc components so that it
moves them.
2017-04-26 15:18:13 +10:00
Justin Viiret
5dfae12a62
ng: split NGWrapper into NGHolder, ExpressionInfo
...
We now use NGHolder for all graph information, while other expression
properties (report, flag information, etc) go in new class
ExpressionInfo.
2017-04-26 15:18:09 +10:00
Justin Viiret
d8eb259ac7
serialize: tidy
2017-04-26 15:17:03 +10:00
Justin Viiret
bc7da2807a
unit: modernise test_util
2017-04-26 15:17:03 +10:00
Justin Viiret
1376f3849a
serialize: parameterize on pattern as well
2017-04-26 15:17:03 +10:00
Justin Viiret
a97ec56aee
serialize: add vectored mode
2017-04-26 15:17:03 +10:00
Justin Viiret
7ca81ff530
ng_find_matches: limit how big we're willing to go
...
Tests which require tracking more than 15K states (including edit
distance states) are very, very slow.
2017-04-26 15:16:22 +10:00
Justin Viiret
5edecbf539
ng: check can_never_match before validate_fuzzy
2017-04-26 15:16:03 +10:00
Anatoly Burakov
9f72dede5c
Add support for approximate matching in NFA matcher unit tests
2017-04-26 15:11:54 +10:00
Anatoly Burakov
2de6706df2
Adding support for compiling approximate matching patterns
...
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Justin Viiret
1245156f44
parser: handle "control verbs" without close paren
2017-04-26 14:59:02 +10:00
Justin Viiret
bef6889844
parser: use control_verb parser inline
2017-04-26 14:58:43 +10:00
Justin Viiret
1875d55cf1
parser: add initial parser for control verbs
...
This more reliably handles control verbs like (*UTF8) that can only
happen at the start of the pattern, and allows them in any ordering.
2017-04-26 14:57:46 +10:00
Alex Coyte
fbaa0a1b25
make expected too large patterns even larger
2017-04-26 14:44:49 +10:00
Justin Viiret
f520599ab7
flat_map: add value_comp()
2017-04-26 14:41:30 +10:00
Justin Viiret
e37fdb240a
flat_set/map: add hash_value tests
2017-04-26 14:41:30 +10:00