Matthew Barr
221229f71c
gcc7: comments for falling through a switch case
...
GCC 7 adds a warning -Wimplicit-fallthrough to catch when falling
through a switch statement without a break. Since we actually want that
behaviour sometimes, we can add a comment so the compiler knows we
intended the fallthrough.
2017-05-30 13:59:48 +10:00
Matthew Barr
f6b688fc06
rename pshufb to pshufb_m128
2017-05-30 13:59:23 +10:00
Matthew Barr
a295c96198
rename vpshufb to pshufb_m256
2017-05-30 13:59:23 +10:00
Matthew Barr
eabe408e2b
avx512: shufti
2017-05-30 13:59:23 +10:00
Matthew Barr
194c201fc7
avx512: truffle
2017-05-30 13:59:23 +10:00
Matthew Barr
8a56d16d57
avx512: add basic functions to simd_utils
...
Extends the m512 type to use avx512 and also changes required
for limex.
2017-05-30 13:59:18 +10:00
Matthew Barr
9acda484fe
debug: use before set
2017-05-30 13:59:00 +10:00
Matthew Barr
423569ec82
De-multiaccel
2017-05-30 13:59:00 +10:00
Justin Viiret
c6f5275acc
mcclellancompile: docs for main compile function
2017-05-30 13:57:32 +10:00
Justin Viiret
10f52346ca
smallwrite: bfs ordering, refine daddy selection
2017-05-30 13:57:32 +10:00
Justin Viiret
3b3f6b739c
smallwrite: use failure map to set dfa daddy state
2017-05-30 13:57:32 +10:00
Justin Viiret
beac58fcb4
dfa: allow smwr to avoid lengthy daddy recalc
2017-05-30 13:57:32 +10:00
Justin Viiret
1538d90a9e
mcsheng_compile: factor out find_daddy_candidates
2017-05-30 13:57:32 +10:00
Justin Viiret
f5d769118a
mcclellancompile: factor out find_daddy_candidates
2017-05-30 13:57:32 +10:00
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