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] | |
On 01/25/2016 08:51 PM, Jeff Law wrote:
No, the combiner works within a basic block only. There was a group, I believe in Moscow, that worked on a cross-block combiner. It was discussed at the Cauldron in California a few years back. I don't know if they did any further work on those ideas. Is the issue here not knowing when the loop invariant can be forward propagated back into the memory reference -- and for complex RTL like you cited, you ultimately determine that no it can't be propagated and thus increase its invariant cost?
Is this just a pass ordering problem? What happens if you do loop-invariant after combine?
Bernd
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |