886 Commits

Author SHA1 Message Date
Justin Viiret
8713cfbd9e limex: add CANNOT_DIE flag and loop without test 2017-04-26 15:19:35 +10:00
Alex Coyte
7920b1086b default the move special functions 2017-04-26 15:19:35 +10:00
Alex Coyte
894e6835e6 ensure that engines added to the leftQueueMap are real rather than lookarounds 2017-04-26 15:19:33 +10:00
Justin Viiret
aa4ae755d8 depth: use hash_all() 2017-04-26 15:19:22 +10:00
Justin Viiret
5d1922327e depth: use totally_ordered 2017-04-26 15:19:22 +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
Justin Viiret
a2b2940f85 limex: move load from input closer to use 2017-04-26 15:19:01 +10:00
Xu, Chi
ae3cb7de6f rose: add multi-path shufti 16x8, 32x8, 32x16, 64x8 and multi-path lookaround instructions. 2017-04-26 15:18:56 +10:00
Matthew Barr
7533e3341e Don't fail if sqlite is not present. 2017-04-26 15:18:38 +10:00
Justin Viiret
1ef87c43ee noncopyable: switch over from boost 2017-04-26 15:18:26 +10:00
Justin Viiret
a9844fbf74 noncopyable: add simple ue2::noncopyable class 2017-04-26 15:18:26 +10:00
Justin Viiret
a61b92f8d1 operators: add simple ue2::totally_ordered class 2017-04-26 15:18:26 +10:00
Matthew Barr
cd418ea6a8 Wrapper for system intrin header 2017-04-26 15:18:26 +10:00
Matthew Barr
8201183138 Check compiler architecture flags in one place 2017-04-26 15:18:26 +10:00
Justin Viiret
5fe524fbb3 rose: allow lits that squash to share fragments 2017-04-26 15:18:26 +10:00
Justin Viiret
18f843bcc1 rose: add CLEAR_WORK_DONE instruction
Preparatory work for allowing fragments to be shared between literals
that squash groups and those that don't.
2017-04-26 15:18:26 +10:00
Matthew Barr
803f61d818 ICC doesn't have a __POPCNT__ macro 2017-04-26 15:18:26 +10:00
Justin Viiret
1f3a000bfa dump_util: move into namespace ue2 2017-04-26 15:18:26 +10:00
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