[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