This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hello,
at the moment, any pass that needs to process memory references are complicated (or restricted to handling just a limited set of cases) by the need to interpret the quite complex representation of memory references that we have in gimple. For example, there are about 1000 of lines of quite convoluted code in tree-data-ref.c and about 500 lines in tree-ssa-loop-ivopts.c dealing with parsing and analysing memory references.
I have my doubts changing this is the correct step forward. Having a high level representation is a good thing and having it represented as *(base+offset) (plus other info) might just make the other passes that like the high level representation get worse. I also don't see why tree-data-ref.c and tree-ssa-loop-ivopts.c could not use get_inner_reference which parses the memory references for you. Maybe I don't see the benifit in always changing our IR without really thinking about the problem and seeing if there are already tools (functions) which do the same thing in a common place.
Thanks, Andrew Pinski
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |