This is the mail archive of the gcc-patches@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] |
Hi!
This patch adds an early loop pass (just after ch) just containing complete unrolling. This allows the following SRA pass to scalarize small arrays that were manipulated in constant rolling loops, as it often happens in C++ code.
I did experiments with scheduling a second SRA pass after loop optimization, but that doesn't help ivopts - we'd need another loop pass after the second SRA this way. I also tried scheduling SRA inside loop, just after cunroll, but SRA seems to not preserve some of the loop infrastructure, so everyting breaks.
No because loop optimizations are slow. The reason why SRA pass after loop optimization does not help because we have a bug in the loop unrolling pass, see PR 18755.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |