This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Attacking quadratic behaviors associated with SWITCH_EXPR


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]