[all-commits] [llvm/llvm-project] 05e4f7: [DSE] Remove noop stores after killing stores for ...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Fri Oct 30 02:41:05 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 05e4f7bde95a83192b84f8bb1e6bcd416343154c
https://github.com/llvm/llvm-project/commit/05e4f7bde95a83192b84f8bb1e6bcd416343154c
Author: Florian Hahn <flo at fhahn.com>
Date: 2020-10-30 (Fri, 30 Oct 2020)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/MSSA/calloc-store.ll
M llvm/test/Transforms/DeadStoreElimination/MSSA/noop-stores.ll
Log Message:
-----------
[DSE] Remove noop stores after killing stores for a MemoryDef.
Currently we fail to eliminate some noop stores if there is a kill-able
store between the starting def and the load. This is because we
eliminate noop stores first.
In practice it seems like eliminating noop stores after the main
elimination for a def covers slightly more cases.
This patch improves the number of stores slightly in 2 cases for X86 -O3
-flto
Same hash: 235 (filtered out)
Remaining: 2
Metric: dse.NumRedundantStores
Program base patch diff
test-suite...ce/Benchmarks/PAQ8p/paq8p.test 2.00 3.00 50.0%
test-suite...006/453.povray/453.povray.test 18.00 21.00 16.7%
There might be other phase ordering issues, but it appears that they do
not show up in the test-suite/SPEC2000/SPEC2006. We can always tune the
ordering later.
Partly fixes PR47887.
Reviewed By: asbirlea, zoecarver
Differential Revision: https://reviews.llvm.org/D89650
More information about the All-commits
mailing list