[PATCH] [RFC] Loop Interchane Pass

James Molloy james.molloy at arm.com
Mon Feb 9 01:25:38 PST 2015


Hi Karthik,

> I will look into this in more detail. It would be great if you could point out an example were the current check would fail that could have been caught using SCEV. One thing i though about was a scalar reduction variable in a loop but can't we catch it using DependencyAnalysis pass as well? I'm a bit new to Loop optmitization it would be great if you could clarify this a bit more.


Sure. Consider this:

  int a = ...;
  for (i : ...) {
    for (j : ...) {
      x[j][i+a];
    }
  }

This will produce an add, then a GEP. Your code will fail to match it as it won't see through the add. Also, the add is of an unknown quantity, but SCEV knows that this is loop invariant, so SCEV can help you here.


http://reviews.llvm.org/D7432

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list