[all-commits] [llvm/llvm-project] d527ac: [GVN] Regenerate test checks (NFC)

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Apr 3 07:05:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d527ace7d92b3bbbbe0e74f871d94ca43af58df2
      https://github.com/llvm/llvm-project/commit/d527ace7d92b3bbbbe0e74f871d94ca43af58df2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-04-03 (Mon, 03 Apr 2023)

  Changed paths:
    M llvm/test/Transforms/GVN/PRE/invariant-load.ll

  Log Message:
  -----------
  [GVN] Regenerate test checks (NFC)

And add an additional metadata preservation test.


  Commit: d68800d15ddbfe4d014803c9695bc833895c1e66
      https://github.com/llvm/llvm-project/commit/d68800d15ddbfe4d014803c9695bc833895c1e66
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-04-03 (Mon, 03 Apr 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/GVN/PRE/invariant-load.ll

  Log Message:
  -----------
  [Local] Preserve !invariant.load of dominating instruction

Per LangRef:

> If a load instruction tagged with the !invariant.load metadata
> is executed, the memory location referenced by the load has to
> contain the same value at all points in the program where the
> memory location is dereferenceable; otherwise, the behavior is
> undefined.

As invariant.load violation is immediate undefined behavior, it
is sufficient for it to be present on the dominating load (for
the case where K does not move).


Compare: https://github.com/llvm/llvm-project/compare/e9a8ab004cc9...d68800d15ddb


More information about the All-commits mailing list