1 /*
2 \defgroup ROSE_ProgramTransformationGroup ROSE Program Transformations
3 \ingroup rose_midend
5 \brief This is the location of numerous program transformation that operate on the
6  AST and may be called within the mid-end.
8 \todo Add Constant folding since we currently unfold all folded expressions in the code
9  generation phase. This would be something that could be verified as well since it
10  EDG has also computed the constant folded result and we have stored that explicitly as
11  well as the expression tree from which it was folded. The proposed constant folding
12  would also work on AST fragments constructed explicitly in ROSE from lower level
13  mechanisms.
15 \todo The ROSE source code might be easier to organize if we have an include directory just for
16  the included files from the transformations. Then use separate directories for the
17  implementations (we want to always separate the implementation if possible from the
18  header file and place it in a separate file. This would make it easier to add
19  transformations and make the maintenance of the development tree a bit easier.
20  As it is each new directory forces a new include path to be specified and a new
21  library to be generated (in $(top_srcdir)/config/Makefile.for.ROSE.includes.and.libs).
23  */