Justin Viiret
7288da22bd
limex_compile: use bytecode_ptr
2017-04-26 15:19:35 +10:00
Justin Viiret
9a82689d00
limex: more general CANNOT_DIE analysis
2017-04-26 15:19:35 +10:00
Justin Viiret
152552423f
limex: refactor non-accel loops into function
2017-04-26 15:19:35 +10:00
Justin Viiret
578277e535
limex_dump: dump LimEx type and flags in text
2017-04-26 15:19:35 +10:00
Justin Viiret
8713cfbd9e
limex: add CANNOT_DIE flag and loop without test
2017-04-26 15:19:35 +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
Justin Viiret
1ef87c43ee
noncopyable: switch over from boost
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
5005d50050
limex_compile: don't repeatedly calc dominators
2017-04-26 15:17:11 +10: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
Matthew Barr
46f74300f2
update copyright year
2017-01-17 11:38:09 +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
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
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
582f71c5bb
mcsheng: remove dead code
2016-12-14 15:27:31 +11:00
Alex Coyte
e51b6d23b9
introduce Sheng-McClellan hybrid
2016-12-14 15:27:18 +11:00
Justin Viiret
32af5fa794
mcclellan: fix printf format specifiers
2016-12-02 11:35:52 +11:00
Alex Coyte
106667e24e
refactor mcclellan runtime
...
1. use u32 to hold the state during runtime to prevent repeated zero extension
2. have a tight small loop for processing characters which breaks when
something interesting happens
2016-12-02 11:35:47 +11:00
Alex Coyte
8b94eb86f8
precise dverm fix for 5a32993: handle sign extension correctly
2016-12-02 11:34:20 +11:00
Alex Coyte
f605ca0dc1
check for partial matches at end of dverm
2016-12-02 11:34:04 +11:00
Justin Viiret
16aa22a361
gough: don't dump int data unless it's requested
2016-12-02 11:33:54 +11:00
Matthew Barr
5a842caaf1
shufti: slightly faster short shufti operation
...
It is better to shift the high lane values in an XMM
before then using insert to combine the high and low lanes.
2016-12-02 11:33:51 +11:00
Matthew Barr
99e14df117
Fix combine2x128
2016-12-02 11:33:48 +11:00
Alex Coyte
32c826e9c6
have single dump function per engine
2016-12-02 11:32:36 +11:00
Alex Coyte
71ff480b77
nfa_api: remove subtype from dispatch
2016-12-02 11:32:28 +11:00
Alex Coyte
530d84c6f3
allow edge_descriptors to be created from pair<edge_descriptor, bool>
2016-12-02 11:32:20 +11:00
Alex Coyte
e1e9010cac
Introduce custom adjacency-list based graph
2016-12-02 11:31:33 +11:00
Alex Coyte
05683655cb
remove unused define and old inlining controls
2016-12-02 11:30:27 +11:00
Alex Coyte
47f53f63a7
simple pass to pick up paths redundant with those from cyclic's succs
2016-12-02 11:24:30 +11:00
Alex Coyte
592ce06eeb
Create combo tops for trigger limexes
2016-12-02 11:22:23 +11:00
Alex Coyte
c94899dd44
allow sets of tops on edges
2016-10-28 14:51:46 +11:00
Alex Coyte
efa3299774
remove code preventing firing callbacks in the history buffer
2016-10-28 14:46:34 +11:00
Matthew Barr
c3b5efefb6
Add short avx2 shufti form
2016-10-28 14:46:31 +11:00
Justin Viiret
5e3fa7a266
limex: make NFAAccept::squash rel to LimEx base
2016-10-28 14:46:23 +11:00
Justin Viiret
77fe1ef6e5
limex: rework accept handling
...
Rather that iterating over NFAAccept structures and testing individual
bits in the state structure, iterate over the state vector and index
into accept structures.
Adds report list support to this path, unified with the report lists
used for exception handling.
2016-10-28 14:46:19 +11:00
Justin Viiret
3dcfea19e0
limex: fold TESTEOD_REV_FN use into TESTEOD_FN
2016-10-28 14:45:57 +11:00
Justin Viiret
9c99a923a1
limex: remove constant do_br arg from TESTEOD_FN
2016-10-28 14:45:54 +11:00
Alex Coyte
97483eee5b
UE-3019: limex_compile: correctly access the dominator map
2016-10-28 14:45:02 +11:00
Alex Coyte
bcf40c5136
Limex: don't not build accel schemes for impossible state sets
2016-10-28 14:44:12 +11:00
Alex Coyte
a08e1dd690
Introduce a 64-bit LimEx model.
...
On 64-bit platforms, the Limex 64 model is implemented in normal GPRs.
On 32-bit platforms, however, 128-bit SSE registers are used for the
runtime implementation.
2016-10-28 14:44:12 +11:00
Justin Viiret
3cf4199879
debug: always use %zu in format string for size_t
2016-10-28 14:43:34 +11:00
Justin Viiret
0cc941dfd5
limex_dump: silence gcc large alignment warning
...
Passing mask by const ref silences the warning: "The ABI for passing
parameters with 32-byte alignment has changed in GCC 4.6".
2016-10-28 14:43:34 +11:00
jason taylor
b859e5cb8a
Updated nfa source file permissions
...
Resolves issue github issue #37
2016-09-04 19:25:59 -04:00
Justin Viiret
87e32c9037
tamarama: check for match halt in _Q2 as well
2016-08-22 16:04:27 +10:00
Alex Coyte
147f9655b6
Add assertion indicating valid range of rank_in_mask's bit param
...
Coverity CID 141632
2016-08-22 16:03:47 +10:00