Justin Viiret
7c2627f2c2
flat_set/map: make erase() take const_iterator
2017-04-26 14:41:30 +10:00
Justin Viiret
1db7f30296
flat_base: move swap()
2017-04-26 14:41:30 +10:00
Justin Viiret
f8166fac25
flat_base: take more common operations
2017-04-26 14:41:30 +10:00
Justin Viiret
a38ac6a52f
flat_base: take more common operations
2017-04-26 14:41:30 +10:00
Justin Viiret
adfb9fe3f9
flat_set: move comp/data helpers to base
2017-04-26 14:41:30 +10:00
Justin Viiret
3fb5a3702e
flat_set/map: use boost::totally_ordered
2017-04-26 14:41:30 +10:00
Justin Viiret
f520599ab7
flat_map: add value_comp()
2017-04-26 14:41:30 +10:00
Justin Viiret
e37fdb240a
flat_set/map: add hash_value tests
2017-04-26 14:41:30 +10:00
Justin Viiret
27adea2224
flat_map: small doc fix
2017-04-26 14:41:30 +10:00
Justin Viiret
a55c03d1f4
flat_set/map: back with small_vector
2017-04-26 14:41:30 +10:00
Justin Viiret
5f60812c9b
flat_set: cheesy tuple-based ebo
2017-04-26 14:41:30 +10:00
Justin Viiret
843ead266f
flat_set: modernize iter_wrapper ctors
2017-04-26 14:41:30 +10:00
Justin Viiret
f307956584
rose: do not combine fragments which squash groups
2017-04-26 14:41:30 +10:00
Justin Viiret
c31c1c366e
filterLits: better debug output
2017-04-26 14:41:30 +10:00
Justin Viiret
988ea6b4e1
rose: role aliasing improvements
...
These changes improve the performance of the role aliasing passes on
very large cases and fix a couple of small errors in the left and right
merge passes as well.
2017-04-26 14:41:30 +10:00
Justin Viiret
a55bbe657c
fdr: remove clamp on confirm size
2017-04-26 14:41:30 +10:00
Justin Viiret
12edb07f6e
fdr_compile: remove dead var
2017-04-26 14:41:29 +10:00
Justin Viiret
1584da9025
rose: don't accel noodle engines
2017-04-26 14:41:29 +10:00
Justin Viiret
68a35ff3b8
rose: give longer literals to accel analysis
2017-04-26 14:41:29 +10:00
Justin Viiret
2fda8c0b20
hwlm: move accel from hwlm build to rose
2017-04-26 14:41:29 +10:00
Justin Viiret
7984b26b14
fdr: rely on fixed size confirm structures
2017-04-26 14:41:29 +10:00
Justin Viiret
1b36594bda
fdr: simplify confirm for 8-byte fragments
2017-04-26 14:41:29 +10:00
Justin Viiret
abcac24b47
rose: add more program dump code
2017-04-26 14:41:29 +10:00
Justin Viiret
eb14792a63
rose: group final ids by fragment
2017-04-26 14:41:29 +10:00
Justin Viiret
07a6b6510c
rose/hwlm: limit literals to eight bytes
...
Rework HWLM to work over literals of eight bytes ("medium length"),
doing confirm in the Rose interpreter.
2017-04-26 14:41:29 +10:00
Justin Viiret
5c9c540424
rose: fix up comments referring to CHECK_LITERAL
...
This instruction is now called CHECK_LONG_LIT.
2017-04-26 14:41:29 +10:00
Justin Viiret
5061b76901
rose: mark RoseInstrCheckLongLit ctor explit
2017-04-26 14:41:29 +10:00
Justin Viiret
8f1b3c89fa
rose: remove no-longer-used convertBadLeaves pass
2017-04-26 14:41:29 +10:00
Matthew Barr
bc2f336d9d
Work around for deficiency in C++11/14/17 standard
...
As explained to us by STL at Microsoft (the author of their
vector), there is a hole in the standard wrt the vector copy
constructor, which always exists even if it won't compile.
2017-04-26 14:41:29 +10:00
Justin Viiret
68bdc800fc
dump: render literals as regexes (with comments)
2017-04-26 14:41:29 +10:00
Justin Viiret
22edaad1dd
fdr: compile algo/heuristics improvements
...
These changes fix a small bug in the algorithm used for bucket
assignment in FDR's compile process, and also tweak a few of the
heuristics governing it.
2017-04-26 14:41:29 +10:00
Justin Viiret
a5a6051b8b
runtime: init more of scratch in pure-literal exec
2017-03-01 13:05:44 +11:00
Alex Coyte
31dd33a9be
lbr: set lastEscape on expand
2017-03-01 13:05:44 +11:00
Alex Coyte
e717525194
Check if any tugs are alive when compressing/expanding repeats
2017-03-01 13:05:20 +11:00
Alex Coyte
f9324febde
Ensure the queue structure is initialised in roseEnginesEod().
2017-03-01 13:05:10 +11:00
Justin Viiret
cacf07fe9b
prefilter: workaround for \b in UCP and !UTF8 mode
...
For now, just drop the assertion (which will still return a superset of
matches, as per prefiltering semantics).
2017-01-20 09:19:51 +11:00
Alex Coyte
734eb2ce62
we can only trim lookarounds based on information common to all literals
2017-01-17 11:39:17 +11:00
Alex Coyte
35716c70ef
ensure that we add default top when creating a new infix graph
2017-01-17 11:39:04 +11:00
Matthew Barr
46f74300f2
update copyright year
2017-01-17 11:38:09 +11:00
Matthew Barr
988ee0eb55
MSVC requires the attribute before the type
2017-01-06 11:24:12 +11:00
Alex Coyte
10346f53f7
mcclellan: handle 0 length block scans correctly
2017-01-06 11:22:59 +11:00
Alex Coyte
c699e98750
Add explicit casts to succ table entry calculations.
...
Although overflow should not be possible given the range of alphaShift, this
resolves coverity scan issues CID 158536 and CID 158537.
2017-01-06 11:22:26 +11:00
Matthew Barr
8334745063
SSE2 preprocessor test for MSVC
...
MSVC doesn't define __SSE2__ but we can figure it out from
other macros.
2016-12-14 15:35:44 +11:00
Matthew Barr
ea5e3bc0b1
Mark dispatch functions as public API
2016-12-14 15:35:44 +11:00
Matthew Barr
0d0e1a5106
api: hs_valid_platform
2016-12-14 15:35:13 +11:00
Matthew Barr
c3a73446ee
Fat runtime
2016-12-14 15:34:54 +11:00
Matthew Barr
2214296b7f
Convert compile-time code to not require SIMD
2016-12-14 15:29:01 +11:00
Matthew Barr
e993fe1eb0
Remove erroneous semicolon
2016-12-14 15:28:58 +11:00
Justin Viiret
e271781d95
multibit, fatbit: make _size build-time only
...
This commit makes mmbit_size() and fatbit_size compile-time only, and
adds a resource limit for very large multibits.
2016-12-14 15:28:54 +11:00
Alex Coyte
8b7b06d2a4
calcDepthFromSource: only take one copy of the graph
2016-12-14 15:28:47 +11:00