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
Justin Viiret
0a163b5535
rose: only use live reports for dedupe assignment
2017-04-26 15:18:13 +10:00
Justin Viiret
a1bc69f3dd
rose_build_groups: allow simple-exh lits to squash
2017-04-26 15:18:13 +10:00
Matthew Barr
1d9a5421ce
ICC doesn't have a __BMI2__ macro
2017-04-26 15:18:13 +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
1200f33116
ng_region: no need to copy enters
2017-04-26 15:18:13 +10:00
Justin Viiret
699ab4190a
ng_region: clean up and modernise
2017-04-26 15:18:13 +10:00
Justin Viiret
ca22edc9d3
ng_region: don't realloc exits
2017-04-26 15:18:13 +10:00
Justin Viiret
d63fdcd860
ng_region: simplify checkAndAddExitCandidate
2017-04-26 15:18:13 +10:00
Justin Viiret
7396c93990
ng_region: clean up refineExits
2017-04-26 15:18:13 +10:00
Justin Viiret
8823a8fbfd
ng_region: use flat_sets in exit_info
2017-04-26 15:18:13 +10:00
Justin Viiret
546091f819
ng_calc_components: filter vertices from ug
2017-04-26 15:18:13 +10:00
Justin Viiret
4b3ff085d3
ng_undirected: avoid parallel edge at construction
...
(Rather than using setS for out edges)
2017-04-26 15:18:13 +10:00
Justin Viiret
9724f8c3cc
ng_undirected: modernize code
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
Matthew Barr
fadfab6d8c
Install example source in docdir/examples
2017-04-26 15:17:19 +10:00
Matthew Barr
ce50ff6119
Use GNUInstallDirs for install paths
2017-04-26 15:17:19 +10:00
Matthew Barr
5daa191313
cmake: simplify g++ version check
2017-04-26 15:17:19 +10:00
Matthew Barr
11aac07855
cmake: override gcc's tuning guess
2017-04-26 15:17:19 +10:00
Matthew Barr
b68e4ea336
cmake: move boost tests
2017-04-26 15:17:19 +10:00
Matthew Barr
287f519205
cmake: look for Boost in-tree first
...
During development we tend to use a symlink to the most recent version of
Boost from the Hyperscan source tree, so look there first.
Also, unset some cached results so we recheck when the Boost version changes.
2017-04-26 15:17:19 +10:00
Matthew Barr
01b91da1cd
Use the default allocator for std::vector
2017-04-26 15:17:19 +10:00
Alex Coyte
de52b30c3e
make rose responsible for dumping its bytecode
2017-04-26 15:17:19 +10:00
Alex Coyte
aeba9bc42c
rose_build_bytecode: make build_context, RoseBuildImpl params const
2017-04-26 15:17:19 +10:00
Matthew Barr
b4ad7359d6
build: More robust temp file handling
2017-04-26 15:17:18 +10:00
Justin Viiret
8a6b38a9b5
ng_dominators: use a vector for doms internally
2017-04-26 15:17:11 +10:00
Justin Viiret
5005d50050
limex_compile: don't repeatedly calc dominators
2017-04-26 15:17:11 +10:00
Justin Viiret
2d660ce4db
ng_corpus_generator: small fix for MSVC compat
2017-04-26 15:17:11 +10:00
Justin Viiret
187a4b82c2
small_vector: add header to handle older Boost
...
This provides ue2::small_vector<T, N, Alloc> which will fall back to
std::vector<T, Alloc> where the Boost version is too old or not present.
2017-04-26 15:17:11 +10:00
Justin Viiret
3e597e85ff
ng_corpus_generator: restore use of boost::next()
...
libc++ checks for forward_iterator_tag in std::next(), which isn't
provided by our (Boost-derived) ue2_graph iterators.
2017-04-26 15:17:03 +10:00
Wang, Xiang W
448ce8a496
UE-3098: add unaligned load for andn without BMI
2017-04-26 15:17:03 +10:00
Justin Viiret
26ec7dd332
ng_corpus_generator: use std::next, not boost::next
2017-04-26 15:17:03 +10:00
Justin Viiret
037e39b6f5
ng_corpus_generator: stop using ptr_vector
...
Nowadays we can use vector<unique_ptr<T>>.
2017-04-26 15:17:03 +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
834aebe8b6
ng_find_matches: use wd.active for accepts too
2017-04-26 15:17:03 +10:00
Justin Viiret
bae8ebc62d
ng_find_matches: speed up gather...ByDepth
2017-04-26 15:17:03 +10:00
Justin Viiret
749e3e64b9
getMatches: simplify
2017-04-26 15:17:03 +10:00
Justin Viiret
c81c30b144
findMatches: persist working data
2017-04-26 15:17:03 +10:00
Justin Viiret
cc1191d94c
getSuccessors: reuse a vector<State> for output
2017-04-26 15:17:03 +10:00
Justin Viiret
7ad21500c4
getActiveStates: return a sorted, uniqued vector
2017-04-26 15:17:03 +10:00
Matthew Barr
79308e6791
cmake: don't build static libs if we don't have to
2017-04-26 15:17:03 +10:00
Matthew Barr
ce6a10ef58
hsbench: don't create the greybox in release build
2017-04-26 15:16:36 +10:00
Justin Viiret
533fcf383d
ng_fuzzy: apply a resource limit to vertex count
2017-04-26 15:16:27 +10:00
Wang, Xiang W
ffab97ca8c
FDR: delete dead confirm code
2017-04-26 15:16:27 +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