Re: [C++ PATCH] Cleanup cp_genericize_r

2017-06-14 Thread Nathan Sidwell
On 06/14/2017 02:04 AM, Jakub Jelinek wrote: This patch transforms this into a big switch (with 29 case labels), so that the compiler can decide more easily how to expand it efficiently (I think we don't have an optimization pass that would transform the above into a switch). The patch is large

[C++ PATCH] Cleanup cp_genericize_r

2017-06-13 Thread Jakub Jelinek
Hi! When doing the last cp_genericize_r change, I've noticed most of the function is a spaghetti if like: if (TREE_CODE (stmt) == X1) do_something; else if (TREE_CODE (stmt) == X2) do_something_else; else if (TREE_CODE (stmt) == X3) do_yet_another_stuff; else ... sometimes with