Attacking quadratic behaviors associated with SWITCH_EXPR
Kazu Hirata
kazu@cs.umass.edu
Mon Oct 25 21:15:00 GMT 2004
Hi Andrew,
> I seem to recall the issue when this was first proposed was back when
> Zdenek brought implicit edges and flattened tree-ssa, was that we then
> have a two state COND_EXPR, depending on whether the cfg is present or
> not. At the time the decision was that it was better to leave the
> stmt's in the arms of the COND_EXPR, thus we ended up with the GOTO_EXPR
> placeholders. I also believe we thought we might want/need a different
> opcode if the semantics were going to be changed.
>
> However, I dont remember well past 4 about months ago :-). Many things
> have changed since then, so is there still an issue here or is it gone
> now? I cant think of anything off the top of my head, or perhaps I just
> remember it poorly :-) It might also be that we were being cautiously
> pessimistic about changing too much at once.
Some people were against the implicit GOTO_EXPR and the idea of making
CFG a part of IL. See a long dicsussion starting from
http://gcc.gnu.org/ml/gcc-patches/2003-11/msg00985.html
Yes, a different opcode may be nicer than putting NULL_TREE into the
last two fields of a COND_EXPR.
Anyway, updating goto labels just for the sake of updating them does
not make sense. I believe they are needed only before CFG is created
and at expand time.
Kazu Hirata
More information about the Gcc
mailing list