767 Commits

Author SHA1 Message Date
Justin Viiret
7d23a7e2d3 som: move som_type into namespace ue2 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
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