[all-commits] [llvm/llvm-project] fbb4aa: [LoopPeel] Use llvm.experimental.noalias.scope.dec...

dobbelaj-snps via All-commits all-commits at lists.llvm.org
Fri Feb 12 16:45:38 PST 2021


  Branch: refs/heads/release/12.x
  Home:   https://github.com/llvm/llvm-project
  Commit: fbb4aa08510ea87c8000389329b7d8cc9e348b5d
      https://github.com/llvm/llvm-project/commit/fbb4aa08510ea87c8000389329b7d8cc9e348b5d
  Author: Jeroen Dobbelaere <jeroen.dobbelaere at synopsys.com>
  Date:   2021-02-12 (Fri, 12 Feb 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    A llvm/test/Transforms/LoopUnroll/peel-loop-noalias-scope-decl.ll

  Log Message:
  -----------
  [LoopPeel] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed.

The reduction of a sanitizer build failure when enabling the dominance check (D95335) showed that loop peeling also needs to take care of scope duplication, just like loop unrolling (D92887).

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D95544

(cherry picked from commit 80cdd30eb90c3509bf315f1fa1369483e2448bbd)


  Commit: 66b319327bce68377c700b2b57a109498c5500bd
      https://github.com/llvm/llvm-project/commit/66b319327bce68377c700b2b57a109498c5500bd
  Author: Jeroen Dobbelaere <jeroen.dobbelaere at synopsys.com>
  Date:   2021-02-12 (Fri, 12 Feb 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/Transforms/Inline/noalias3.ll

  Log Message:
  -----------
  [InlineFunction] Only update noalias scopes once for an instruction.

Inlining sometimes maps different instructions to be inlined onto the same instruction.

We must ensure to only remap the noalias scopes once. Otherwise the scope might disappear (at best).
This patch ensures that we only replace scopes for which the mapping is known.

This approach is preferred over tracking which instructions we already handled in a SmallPtrSet,
as that one will need more memory.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D95862

(cherry picked from commit 50c523a9d4402c69d59c0b2ecb383a763d16cde9)


Compare: https://github.com/llvm/llvm-project/compare/e5c6c5c16923...66b319327bce


More information about the All-commits mailing list