Justin Viiret
ba6f638c40
accel_dfa_build_strat: use flat_set
2017-09-18 13:26:05 +10:00
Justin Viiret
14333f5b0b
rdfa: make getImplAlphaSize() inline
2017-09-18 13:25:52 +10:00
Justin Viiret
84030aa0fc
castlecompile: remove unused container
2017-09-18 13:25:52 +10:00
Justin Viiret
d55e8fdf94
limex_compile: reduce state id lookups
2017-08-21 11:24:52 +10:00
Justin Viiret
58004f15f0
limex_compile: turn tugs into a bitset
2017-08-21 11:24:52 +10:00
Alex Coyte
1f3cfdccef
mergeCastle: merge common repeats from the castles
2017-08-21 11:18:54 +10:00
Justin Viiret
33823d60d1
tidy: "ue2::flat_set/map" -> "flat_set/map"
2017-08-21 11:14:59 +10:00
Justin Viiret
9cf66b6ac9
util: switch from Boost to std::unordered set/map
...
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.
The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
21a4c8d4e2
rdfa: move raw_dfa member functions to rdfa.cpp
2017-08-21 11:12:26 +10:00
Justin Viiret
48f9a6d518
limex_compile: use small_color_map
2017-08-21 11:12:26 +10:00
Justin Viiret
4105dd4805
tamarama_dump: fix typo in comment
2017-08-21 11:12:16 +10:00
Justin Viiret
06fa790b5d
tamarama_dump: use StdioFile
2017-08-21 11:12:16 +10:00
Justin Viiret
63f3718c79
shengdump: use StdioFile
2017-08-21 11:12:16 +10:00
Justin Viiret
08e094748c
mpv_dump: use StdioFile
2017-08-21 11:12:16 +10:00
Justin Viiret
6c647c2fb8
mcsheng_dump: use StdioFile
2017-08-21 11:12:16 +10:00
Justin Viiret
74f6e41296
mcclellandump: use StdioFile
2017-08-21 11:12:16 +10:00
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