On 09/18/2015 02:19 AM, Kai Tietz wrote:
Hi Jason,

Sounds like an interesting idea.  Do have already a specific approach in mind?

My idea might be just hard to model, as we aren't sure we walked
before the complete chain.  Due cp_fold is caching, we won't try to
fold an expression a second time, but we don't cover all EXPRs in
cp_fold, which makes it hard to tell, if we ended up walking the
complete expression-tree, or ended on an unknown expression.
So we could add to cp_fold an additional return-value, which indicates
if we ended with an unknown expression (means default statement).
This we could use later on to decided if we need to walk sub-tree, or
not.  Not sure if that is best approach, but it could help to avoid
some double runs.

That makes sense, but maybe cp_fold should handle all expressions?

2015-09-17 8:10 GMT+02:00 Jason Merrill <ja...@redhat.com>:
I think we want to clear *walk_subtrees a lot more often in cp_fold_r; as it
is, for most expressions we end up calling cp_fold on the full-expression,
then uselessly on the subexpressions after we already folded the containing
expression.

Reply via email to