[all-commits] [llvm/llvm-project] 9fe46d: [tests] precommit some additional tests for D97974

Philip Reames via All-commits all-commits at lists.llvm.org
Fri Mar 5 10:13:52 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9fe46d6487b20b7356bdef93ff195fdd6010ad3d
      https://github.com/llvm/llvm-project/commit/9fe46d6487b20b7356bdef93ff195fdd6010ad3d
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-03-05 (Fri, 05 Mar 2021)

  Changed paths:
    M llvm/test/Transforms/EarlyCSE/gc_relocate.ll
    M llvm/test/Transforms/GVN/gc_relocate.ll

  Log Message:
  -----------
  [tests] precommit some additional tests for D97974


  Commit: f352463ade6e49c3b0275f296d9190d828b7630b
      https://github.com/llvm/llvm-project/commit/f352463ade6e49c3b0275f296d9190d828b7630b
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-03-05 (Fri, 05 Mar 2021)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/test/Transforms/EarlyCSE/gc_relocate.ll
    M llvm/test/Transforms/GVN/gc_relocate.ll

  Log Message:
  -----------
  Mark gc.relocate and gc.result as readnone

For some reason, we had been marking gc.relocates as reading memory. There's no known reason for this, and I suspect it to be a legacy of very early implementation conservatism.  gc.relocate and gc.result are simply projections of the return values from the associated statepoint.  Note that the LangRef has always declared them readnone.

The EarlyCSE change is simply moving the special casing from readonly to readnone handling.

As noted by the test diffs, this does allow some additional CSE when relocates are separated by stores, but since we generate gc.relocates in batches, this is unlikely to help anything in practice.

This was reviewed as part of https://reviews.llvm.org/D97974, but split at reviewer request before landing.  The motivation is to enable the GVN changes in that patch.


Compare: https://github.com/llvm/llvm-project/compare/99f93dd3a502...f352463ade6e


More information about the All-commits mailing list