Attacking quadratic behaviors associated with SWITCH_EXPR
Zack Weinberg
zack@codesourcery.com
Mon Oct 25 19:51:00 GMT 2004
Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> writes:
> statement annotations are huge, so this would indeed be a bad idea.
> I think it would be better to avoid using tree for CASE_LABEL_EXPR
> inside switch statement completely. I.e. TREE_OPERAND (switch, 2)
> would no longer be a TREE_VEC of CASE_LABEL_EXPRs, but instead
> a wrapper tree node (of type tcc_exceptional) containing
> a VEC(case_label_type), where case_label_type would contain just the
> fields necessary for the case label.
I concur. In fact, I'd go farther, and suggest that we ought to be
working with edges directly, everywhere we are currently working with
labels, except in the parsers.
One might even speculate about the feasibility of constructing the
cfg inside the parser...
zw
More information about the Gcc
mailing list