[all-commits] [llvm/llvm-project] 3de9e3: [DSE] Precommit test case with loop carried depend...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Sat Sep 12 11:07:06 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3de9e3e493baed93e1aa0e99b04a0b11f370a939
https://github.com/llvm/llvm-project/commit/3de9e3e493baed93e1aa0e99b04a0b11f370a939
Author: Florian Hahn <flo at fhahn.com>
Date: 2020-09-12 (Sat, 12 Sep 2020)
Changed paths:
A llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loop-carried-dependence.ll
Log Message:
-----------
[DSE] Precommit test case with loop carried dependence.
Commit: e082dee2b5885bba65e20b22b088bcaca5546984
https://github.com/llvm/llvm-project/commit/e082dee2b5885bba65e20b22b088bcaca5546984
Author: Florian Hahn <flo at fhahn.com>
Date: 2020-09-12 (Sat, 12 Sep 2020)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loop-carried-dependence.ll
M llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-malloc-free.ll
M llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memintrinsics.ll
Log Message:
-----------
[DSE] Bail out on MemoryPhis when deleting stores at end of function.
When deleting stores at the end of a function, we have to do PHI
translation, otherwise we might miss reads in different iterations of a
loop. See multiblock-loop-carried-dependence.ll for details.
This fixes a mis-compile and surprisingly also increases the number of
eliminated stores from 26047 to 26572 for MultiSource/SPEC2000/SPEC2006
on X86 with -O3 -flto. This is most likely because we save budget by not
exploring through MemoryPhis, which are less likely to result in valid
candidates for elimination.
The issue was reported post-commit for fb109c42d91c.
Compare: https://github.com/llvm/llvm-project/compare/74760bb00fb9...e082dee2b588
More information about the All-commits
mailing list