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.
This commit is contained in:
Justin Viiret
2017-03-23 14:10:14 +11:00
committed by Matthew Barr
parent 0a163b5535
commit a871f70c25
6 changed files with 435 additions and 214 deletions

View File

@@ -388,7 +388,7 @@ hs_error_t hs_expression_info_int(const char *expression, unsigned int flags,
// fuzz graph - this must happen before any transformations are made
make_fuzzy(*g, expr.edit_distance, cc.grey);
handleExtendedParams(rm, *g, expr, cc);
propagateExtendedParams(*g, expr, rm);
fillExpressionInfo(rm, *g, expr, &local_info);
}
catch (const CompileError &e) {