1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib/Transforms
Florian Hahn ad8e41fb76 [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.
2020-09-12 19:05:59 +01:00
..
AggressiveInstCombine [SVE] Remove calls to VectorType::getNumElements from AggressiveInstCombine 2020-08-14 16:40:34 -07:00
CFGuard [NFCI][IR] Introduce CallBase::Create() wrapper 2020-07-07 01:16:36 +03:00
Coroutines [Coroutine] Make dealing with alloca spills more robust 2020-09-08 10:59:13 -07:00
Hello
InstCombine Reland [AssumeBundles] Use operand bundles to encode alignment assumptions 2020-09-12 15:36:06 +02:00
Instrumentation [PGO] Skip if an IndirectBrInst critical edge cannot be split 2020-09-10 11:04:14 -07:00
IPO [ArgumentPromotion]: Copy function metadata after promoting arguments 2020-09-10 13:08:57 -04:00
ObjCARC [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an 2020-08-28 17:45:14 -07:00
Scalar [DSE] Bail out on MemoryPhis when deleting stores at end of function. 2020-09-12 19:05:59 +01:00
Utils [SVE][CodeGen] Fix InlineFunction for scalable vectors 2020-09-11 08:34:51 +01:00
Vectorize [LV][ARM] Add preferInloopReduction target hook. 2020-09-12 17:47:04 +01:00
CMakeLists.txt
LLVMBuild.txt