179 Commits

Author SHA1 Message Date
Justin Viiret
0b40e96385 limex_dump: use StdioFile, tidy 2017-08-21 11:12:16 +10:00
Justin Viiret
80cf4bd9a2 lbr_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
a16a6f48b0 goughdump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
11408d0ce3 goughcompile_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
a18fbfe873 castle_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
75e4aefabe dfa: don't clear states, just mark dfa dead
The previous change caused some assertion issues.
2017-08-21 11:10:11 +10:00
Justin Viiret
3d4d39b8a9 clear_deeper_reports: clear dfa if dead
If we remove all the reports from the DFA because they're too deep, then
clear the DFA without depending on Hopcroft minimisation.
2017-08-21 11:10:11 +10:00
Justin Viiret
85f7790a21 dfa: standardise 'using' instead of typedef 2017-08-21 10:40:18 +10:00
Justin Viiret
31141dd35b determinise: use queue, improve api
- Use a queue rather than always building the full vector of state
   sets.
 - Make more use of move, emplace, reserve.
 - Write directly into dstates argument.
 - Return bool rather than int.
2017-08-21 10:40:18 +10:00
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