While my weekdays are booked with real stuff (structure aliasing, array_ref/mem_ref, dependence, blah blah blah), the next couple weekends i have plans to try to do some serious tree seperation.
My current evil plan is to try to seperate the really distinct _DECL nodes into distinct DECL trees, sharing only the minimum they need to be DECL's (UID, etc). This is probably going to hurt, and will require things like using FIELD_DECL_<blah> macros for FIELD_DECL's, TYPE_DECL_<blah> macros for TYPE_DECL's, etc, instead of using DECL_<blah> on both for some fields. Before i go down this path (because it is a long hard road), does anyone have any serious objection to having to use properly named macros to access the trees? This will probably add more code in some places that trees all DECL's the same, since they won't be the same anymore, except for the really really shared bits (again, UID comes to mind). But you probably shouldn't have been doing that in the first place :) --Dan