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: Clustering switch cases


> > In fact we might want to move switch optimization up to the tree level
> > (just because it's way easier to deal with there).  Thus, lower switch
> > to a mixture of binary tree & jump-tables (possibly using perfect
> > hashing).
> 
> Doing the optimisation at the tree-level was exactly my initial idea.
> By splitting the switches at the tree-level, before expand_case, would
> then allow for expand_case to transform it either to a jump table or
> binary tree depending on the situation.

I'd kinda hope that doing the optimization at the tree level means expand_case 
doesn't have to handle both types.  The tree code converts sparse case ranges 
to explicit conditionals (or a switch on a compact perfect hash), so anything 
left to RTL expansion must be a jump table.

Paul


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