Hello,
I'm sharing the most recent version of dead-field elimination. In this
patchset the following issues have been addressed:
* CamelCase -> snake_case
* STL -> GCC specific data structures
* Fixed the commit messages (the last two commits will be squashed in
future patchset so the commit messages are not really relevant.)
The only criticism that I have not addressed is the use of my own
visitors for trees and gimple instructions. My position is still that
the current visitor (for trees) is not enough to address our needs. The
visitor implemented here has pre and post traversal hooks. Furthermore,
there is a visitor exclusively for tree expressions and another for tree
types, which can allow users to focus on a specific tree traversal.
There is one single STL use and that is std::string which is used when
serializing tree types. I'd would love to keep this since preppending
and appending std::strings is so easy and it is really only used when
dumping debug information. (Well, technically two uses of STL, but I
have seen std::pair being used elsewhere in the repo, so I believe it is
ok?)
The last two commits will be squashed across the other commits (i.e., no
patch will ever include references to STL beyond std::string and
std::pair) and some small issues will be fixed (i.e., some names will
change and I will remove the use of auto).
I will be running tests this weekend to make sure nothing broke, but
initial (fast) testing seems to indicate that everything is working
correctly.
So, why am I sharing this now? I am hoping to provide a follow up to
those interested in this transformation and I am hoping to receive more
feedback in order to make this pass something which the community
values. Please, let me know your comments, questions, concerns, etc...
-Erick