198 Commits

Author SHA1 Message Date
Justin Viiret
8982e7177c ng_region: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
1392be048a ng_width: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
03c1af1173 ng_misc_opt: use small_color_map 2017-08-21 11:12:26 +10:00
Justin Viiret
a1ff4d3293 small_color_map: add efficient 2-bit color map 2017-08-21 11:12:26 +10:00
Justin Viiret
e9f4adba0d ng_dump: use StdioFile 2017-08-21 11:12:16 +10:00
Justin Viiret
b09e3acd04 ng_misc_opt: improve performance in large cases 2017-08-21 11:10:11 +10:00
Justin Viiret
95e3fd3f32 ng_misc_opt: remove dead code 2017-08-21 11:10:11 +10:00
Justin Viiret
7ec757c7ce ng_cyclic_redundancy: persist colour map 2017-08-21 11:10:11 +10:00
Justin Viiret
fe2654b086 ng_small_literal_set: pre-check for narrow reach 2017-08-21 11:10:11 +10:00
Justin Viiret
92c28d28c1 ng_mcclellan: use flat_set in triggerAllowed() 2017-08-21 11:10:11 +10:00
Justin Viiret
d0e4a703ed ng_literal_analysis: reserve space for fwd_edges 2017-08-21 11:10:11 +10:00
Justin Viiret
e27e76a595 ng_literal_decorated: remove unused header 2017-08-21 11:10:11 +10:00
Justin Viiret
5837f68b9a ng_literal_decorated: pre-check for narrow reach 2017-08-21 11:10:11 +10:00
Justin Viiret
5a7d5958d1 ng_violet: skip analysis on graphs with wide reach 2017-08-21 11:10:11 +10:00
Justin Viiret
63973175ed ng_calc_components: check tail shell too 2017-08-21 11:10:11 +10:00
Justin Viiret
f6adc4f464 ng_calc_components: skip if shell has 1 path only 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
0d7d52625c ng_haig: make StateMap an unordered_map 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
Justin Viiret
9aee3b22b5 ng_expr_info: more complete analysis passes 2017-06-09 10:12:03 +10:00
Justin Viiret
cfdac66404 accel: limit how far we will search in findBest 2017-05-30 14:00:45 +10:00
Matthew Barr
423569ec82 De-multiaccel 2017-05-30 13:59:00 +10:00
Matthew Barr
c510b85bf1 whitespace changes 2017-05-30 13:59:00 +10:00
Justin Viiret
923e602601 ng_equivalence: use flat_set for VertexInfoSet 2017-05-30 13:59:00 +10:00
Alex Coyte
725de51f89 determinisation: cleanups, remove shrinkStateSet 2017-05-30 13:59:00 +10:00
Justin Viiret
c17085ba35 ng_depth: modernize findLoopReachable 2017-05-30 13:59:00 +10:00
Justin Viiret
dfe1b8a2af ng_depth: rename calcDepth functions, return vec 2017-05-30 13:59:00 +10:00
Justin Viiret
4cc998e4ab ng_limex_accel: fix broken termination condition 2017-05-30 13:49:49 +10:00
Justin Viiret
c0d7960954 ng_limex_accel: compile time speedups, tidy up 2017-05-30 13:48:38 +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
cf82924a39 depth: make constructor explicit 2017-04-26 15:19:19 +10:00
Justin Viiret
1ef87c43ee noncopyable: switch over from boost 2017-04-26 15:18:26 +10:00
Justin Viiret
a871f70c25 ng_extparam: split up work and do per-comp reduce
This change breaks extparam processing up into:

 - propagateExtendedParams: propagates min_length, min_offset and
   max_offset into the reports on the graph
 - reduceExtendedParams: runs graph reductions based on extparams

Then, we apply the reduce pass to the whole graph, and later as well to
each component after calc_components.
2017-04-26 15:18:22 +10:00
Justin Viiret
1200f33116 ng_region: no need to copy enters 2017-04-26 15:18:13 +10:00
Justin Viiret
699ab4190a ng_region: clean up and modernise 2017-04-26 15:18:13 +10:00
Justin Viiret
ca22edc9d3 ng_region: don't realloc exits 2017-04-26 15:18:13 +10:00
Justin Viiret
d63fdcd860 ng_region: simplify checkAndAddExitCandidate 2017-04-26 15:18:13 +10:00
Justin Viiret
7396c93990 ng_region: clean up refineExits 2017-04-26 15:18:13 +10:00
Justin Viiret
8823a8fbfd ng_region: use flat_sets in exit_info 2017-04-26 15:18:13 +10:00
Justin Viiret
546091f819 ng_calc_components: filter vertices from ug 2017-04-26 15:18:13 +10:00
Justin Viiret
4b3ff085d3 ng_undirected: avoid parallel edge at construction
(Rather than using setS for out edges)
2017-04-26 15:18:13 +10:00
Justin Viiret
9724f8c3cc ng_undirected: modernize code 2017-04-26 15:18:13 +10:00
Justin Viiret
560e522457 ng_calc_components: add Grey box control 2017-04-26 15:18:13 +10:00
Justin Viiret
ba867ebaff ng_calc_components: rework to move graphs
Rather than cloning graphs for output, rework calc components so that it
moves them.
2017-04-26 15:18:13 +10:00
Justin Viiret
5dfae12a62 ng: split NGWrapper into NGHolder, ExpressionInfo
We now use NGHolder for all graph information, while other expression
properties (report, flag information, etc) go in new class
ExpressionInfo.
2017-04-26 15:18:09 +10:00
Justin Viiret
8a6b38a9b5 ng_dominators: use a vector for doms internally 2017-04-26 15:17:11 +10:00
Justin Viiret
533fcf383d ng_fuzzy: apply a resource limit to vertex count 2017-04-26 15:16:27 +10:00
Justin Viiret
5edecbf539 ng: check can_never_match before validate_fuzzy 2017-04-26 15:16:03 +10:00
Matthew Barr
c50a931bb4 Use std::move explicitly to avoid ambiguity with boost 2017-04-26 15:16:03 +10:00