aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringBase.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2020-09-12 18:57:26 +0100
committerFlorian Hahn <flo@fhahn.com>2020-09-12 19:05:59 +0100
commite082dee2b5885bba65e20b22b088bcaca5546984 (patch)
tree77428e88110bd9d6f0ea40626f199708794fef04 /llvm/lib/CodeGen/TargetLoweringBase.cpp
parent3de9e3e493baed93e1aa0e99b04a0b11f370a939 (diff)
downloadllvm-e082dee2b5885bba65e20b22b088bcaca5546984.zip
llvm-e082dee2b5885bba65e20b22b088bcaca5546984.tar.gz
llvm-e082dee2b5885bba65e20b22b088bcaca5546984.tar.bz2
[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.
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
0 files changed, 0 insertions, 0 deletions