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
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