[PATCH] D101017: [NewPM] Make GlobalsAA available earlier in the pipeline

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 22 21:55:02 PDT 2021


aeubanks added a comment.

Looking at one of the examples in llvm-test-suite that regressed, this seems to be regressing some very simple code:

  void f(double *a) {
    double c[20] = {
        0.1051, 0.0157, 0.0185, 0.0089, 0.0219, 0.0141, 0.0097,
        0.0758, 0.0168, 0.1188, 0.1635, 0.0112, 0.0333, 0.0777,
        0.0260, 0.0568, 0.0523, 0.0223, 0.0324, 0.1195,
    };
  
    for (int i = 0; i < 20; i++)
      a[i] = c[i];
  }

Before, it would just turn it into a memcpy.
With this change, it becomes a bunch of individual stores.

Looks like [1] is to blame. The extra AA causes it to fire and introduce the individual stores.

[1]: https://github.com/llvm/llvm-project/blob/53673fd1bf6f2dd94d8bb6ced49cc54ec5fc866b/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp#L422


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101017/new/

https://reviews.llvm.org/D101017



More information about the llvm-commits mailing list