Diego Novillo <[EMAIL PROTECTED]> writes: > Following up on the recent discussion about GIMPLE tuples > (http://gcc.gnu.org/ml/gcc/2007-03/msg01126.html), we have summarized > our main ideas and implementation proposal in the attached document. > > This should be enough to get the implementation going, but there will be > many details that still need to be addressed. > > Thoughts/comments on the proposal?
As you know, we have a lot of basic optimizations in fold-const.c that operatee on trees. We also have a lot of basic optimizations in simplify-rtx.c that operate on RTL. These sets of optimizations are independent implementations. What can we do to avoid implementing a third set of basic optimizations that operate on GIMPLE? I seem to recall that at one point somebody worked on a gensimplify program or something like that. Would it make sense to revive that approach, and use it to generate simplifiers for trees, GIMPLE, and RTL, to avoid triplification of these basic optimizations? Or should we instead rewrite fold-const.c to work on GIMPLE rather than trees, thus essentially removing constant folding from the front-ends? If we follow that path somebody would need to think about the effect on warnings issued by the front-end, and on __builtin_constant_p. Ian