306 Commits

Author SHA1 Message Date
Justin Viiret
0dd8536c6e dfa: only accel init states from smwr path
If the small-write DFA has been built from literals, then we only need
to look for accel states at init.
2017-05-30 13:57:32 +10:00
Justin Viiret
41d7aa8281 dfa: prune_overlong -> clear_deeper_reports
Rather than pruning states, we simply clear reports on states that are
too deep and allow Hopcroft minimisation to reduce the size of the DFA
afterwards.
2017-05-30 13:57:32 +10:00
Justin Viiret
8650a1a33f dfa_min: clean up and improve minimize code 2017-05-30 13:57:32 +10:00
Justin Viiret
8fdef3f3be accel_dfa_build_strat: use flat_map for small maps 2017-05-30 13:49:49 +10:00
Justin Viiret
c9be18c7e2 accel_dfa_build_strat: use small_vector for paths 2017-05-30 13:49:49 +10:00
Justin Viiret
304bac3286 mcclellancompile_util: reduce malloc traffic, tidy 2017-05-30 13:49:49 +10:00
Justin Viiret
40f03929be find_better_daddy: use flat_set for hinted states 2017-05-30 13:47:20 +10:00
Justin Viiret
698653766b find_escape_strings: find outs2_broken faster 2017-05-30 13:47:20 +10:00
Justin Viiret
eec2b8233d rdfa_merge: sort esets before alphabet calc 2017-04-26 15:19:51 +10:00
Justin Viiret
63fe84c3f1 bytecode_ptr: add make_zeroed_bytecode_ptr
Rather than always zeroing memory.
2017-04-26 15:19:36 +10:00
Justin Viiret
a197074c5d nfa: switch to using bytecode_ptr<NFA> 2017-04-26 15:19:36 +10:00
Justin Viiret
73ef7f1e44 mpvcompile: use bytecode_ptr 2017-04-26 15:19:36 +10:00
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