569 Commits

Author SHA1 Message Date
Alex Coyte
d574557200 take mask overhang into account for hwlm accel, float min dist 2016-08-10 15:05:19 +10:00
Alex Coyte
34289eb3b4 violet: 32bit fix 2016-08-10 15:01:28 +10:00
Alex Coyte
5c5ec905cc violet: initial implementation 2016-08-10 15:01:08 +10:00
Alex Coyte
b13a90e5d2 compiledump: allow disabling of early graphs for large compiles 2016-08-10 15:00:44 +10:00
Justin Viiret
9eb349a343 rose: expose smwr builder, tidy up engine build 2016-08-10 14:59:10 +10:00
Justin Viiret
a427a2843b rose_build_anchored: clean up remapping
Note that there are no EOD reports in the anchored matcher raw_dfas.
2016-08-10 14:59:10 +10:00
Justin Viiret
210246af01 rose_build_anchored: remove unused forward decls 2016-08-10 14:59:10 +10:00
Justin Viiret
8754cbbd24 rose: use program offset, not final_id, in atable
This removes the need to look up the program offset in a table when
handling an anchored literal match.
2016-08-10 14:59:10 +10:00
Justin Viiret
4dbbc4eaa5 rose: add RECORD_ANCHORED instruction to program
Moves recordAnchoredLiteralMatch from an unconditional call in the
anchored callback to being driven by a program instruction.
2016-08-10 14:59:10 +10:00
Alex Coyte
981b59fd05 minor eager prefixes improvements
- count eager prefixes as always run engine when comparing with smwr
 - only check if a prefix is vacuous after adding back literal fragments
2016-08-10 14:59:10 +10:00
Xiang Wang
e95a251935 UE-2991: avoid copying one unnecessary subqueue item 2016-08-10 14:59:06 +10:00
Justin Viiret
aed2e721f4 rose: tidy up CHECK_{BYTE,MASK} dump code 2016-08-10 14:57:48 +10:00
Xu, Chi
4d7469392d rose: add CHECK_BYTE/CHECK_MASK instructions
These instructions are specialisations of the "lookaround" code for
performance.
2016-08-10 14:57:48 +10:00
Justin Viiret
1bab10698f rose_build_convert: improve history selection
Fixes assertion failures introduced by last commit.
2016-08-10 14:57:42 +10:00
Justin Viiret
3e96cd48ef rose: sanity check CHECK_BOUNDS instruction 2016-08-10 14:57:36 +10:00
Justin Viiret
8d31607556 rose: only use anch history when there are bounds 2016-08-10 14:57:36 +10:00
Alex Coyte
f55e968692 tamarama dump: use correct base offset 2016-08-10 14:57:20 +10:00
Justin Viiret
6ec93a54c4 rose: only dump small-block table in block mode 2016-08-10 14:57:20 +10:00
Justin Viiret
39c6a0c7bf rose: check literal bounds when building SB table
Literals that cannot lead to a report in the first ROSE_SMALL_BLOCK_LEN
bytes may be dropped from the small block table.
2016-08-10 14:56:12 +10:00
Justin Viiret
9346a9090e fdr: remove groups from struct FDR_Runtime_Args 2016-08-10 14:55:52 +10:00
Justin Viiret
42f23c2c91 teddy: no need to write control out at the end 2016-08-10 14:55:51 +10:00
Justin Viiret
b6a77b7329 teddy: remove extra control ptr 2016-08-10 14:55:51 +10:00
Justin Viiret
85f049edb2 fdr: remove extra control ptr 2016-08-10 14:55:51 +10:00
Justin Viiret
49bb3b5c82 simd_utils: setbit/clearbit by loading 1-bit mask 2016-08-10 14:52:56 +10:00
Justin Viiret
790683b641 rose: don't always dedupe small-block lit variants 2016-08-10 14:52:56 +10:00
Alex Coyte
c58424cab3 reduce character classes for hwlm accel 2016-08-10 14:52:56 +10:00
Alex Coyte
69933edf68 truffle hwlm accel 2016-08-10 14:52:56 +10:00
Alex Coyte
691b08d170 use NGHolder::foo in favour of NFAGraph::foo 2016-08-10 14:52:56 +10:00
Alex Coyte
2471b770a8 we no longer store the history len 2016-08-10 14:52:56 +10:00
Alex Coyte
3a1429a621 group_weak_end is no longer used 2016-08-10 14:52:56 +10:00
Matthew Barr
22b451b59b Ensure that m256 is 32-aligned on non-avx2 builds 2016-08-10 14:52:56 +10:00
Justin Viiret
d497a1259a rose: use normal callback for pure-literal cases 2016-08-10 14:52:56 +10:00
Justin Viiret
8435f918d1 limex: use cyclics mask for repeat compress 2016-08-10 14:52:56 +10:00
Justin Viiret
ae5e347778 limex: only compress active repeats 2016-08-10 14:52:56 +10:00
Justin Viiret
aa54352a3a limex: switch off stale repeats during compress 2016-08-10 14:52:56 +10:00
Justin Viiret
19e79be87d limex: compress repeats before state 2016-08-10 14:52:56 +10:00
Justin Viiret
7cc5346c11 assign groups: turn pair<pair> into a tuple 2016-08-10 14:49:24 +10:00
Justin Viiret
bfaa0acaea rose: preserve lit properties when building masks
This fixes a bug with commit 6a6b0e5, which did not preserve the
requires_explode and requires_benefits properties when a new literal was
generated to add an HWLM and/cmp mask.

Also extends the requires_explode handling to allow masked literals.
2016-08-10 14:48:29 +10:00
Boris Nagaev
b73bd9b6e1 new test: deserializers fail with garbage input 2016-08-10 14:08:59 +10:00
Boris Nagaev
66c2a53d33 hs_serialized_database_info: check whole input
Most lines of hs_serialized_database_info are not needed,
as the information is provided by db_decode_header.
Moreover, db_decode_header changes its first argument,
so it points to end of header after db_decode_header.
2016-08-10 13:27:44 +10:00
Boris Nagaev
373a624bad simplegrep: open file in binary mode ("rb")
Otherwise it hangs on binary files (platform MinGW).
2016-08-10 13:20:26 +10:00
Justin Viiret
e9cfbae68f workaround for freebsd/clang/libc++ build issues
Rather than relying on set's constructor from {}, explicitly construct
the set.
2016-07-08 11:07:51 +10:00
Matthew Barr
e3d416a6ea Apply some consistency to the names we give shifts 2016-07-08 11:07:50 +10:00
Matthew Barr
c76ff285e7 remove unnecessary function proto 2016-07-08 11:07:50 +10:00
Matthew Barr
9c915cc936 remove only use of cmpmsk8 and unused cmpmsk16 2016-07-08 11:07:50 +10:00
Matthew Barr
0722b5db5b Remove GCC-style compound statements
These do not appear to give us benefits over inlining on recent compilers.
2016-07-08 11:07:50 +10:00
Matthew Barr
1b3e795fc9 teddy: we only need the upper lane
Just use an extract, no need to shuffle first.
2016-07-08 11:07:50 +10:00
Matthew Barr
adf820bbba simd: simplify the set-all-ones util funcs
Modern compilers (gcc, icc) get this right, with the benefit of
removing our last use of inline asm in this file.
2016-07-08 11:07:50 +10:00
Matthew Barr
4d6934fc77 Move limex specific shuffle utils and ssse3 funcs 2016-07-08 11:07:50 +10:00
Justin Viiret
9f98f4c7b2 nfa: standardise callback start, end naming 2016-07-08 11:02:05 +10:00