forked from OSchip/llvm-project
b5e52bfd83
Currently we do not properly translate addresses with PHIs if LoadBB != LI->getParent(), because PHITranslateAddr expects a direct predecessor as argument, because it considers all instructions outside of the current block to not requiring translation. The amount of cases that trigger this should be very low, as most single predecessor blocks should be folded into their predecessor by GVN before we actually start with value numbering. It is still not guaranteed to happen, so we should do PHI translation along all edges between the loads' block and the predecessor where we have to place a load. There are a few test cases showing current limits of the PHI translation, which could be improved later. Reviewers: spatel, reames, efriedma, john.brawn Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D65020 llvm-svn: 369570 |
||
---|---|---|
.. | ||
2009-02-17-LoadPRECrash.ll | ||
2009-06-17-InvalidPRE.ll | ||
2011-06-01-NonLocalMemdepMiscompile.ll | ||
2017-06-28-pre-load-dbgloc.ll | ||
2017-10-16-LoadPRECrash.ll | ||
2018-06-08-pre-load-dbgloc-no-null-opt.ll | ||
atomic.ll | ||
invariant-load.ll | ||
load-metadata.ll | ||
load-pre-align.ll | ||
load-pre-licm.ll | ||
load-pre-nonlocal.ll | ||
local-pre.ll | ||
lpre-call-wrap-2.ll | ||
lpre-call-wrap.ll | ||
nonintegral.ll | ||
phi-translate-2.ll | ||
phi-translate.ll | ||
pre-after-rle.ll | ||
pre-basic-add.ll | ||
pre-gep-load.ll | ||
pre-jt-add.ll | ||
pre-load-guards.ll | ||
pre-load-implicit-cf-updates.ll | ||
pre-load.ll | ||
pre-no-cost-phi.ll | ||
pre-poison-add.ll | ||
pre-single-pred.ll | ||
preserve-tbaa.ll | ||
rle-addrspace-cast.ll | ||
rle-phi-translate.ll | ||
rle-semidominated.ll | ||
rle.ll | ||
volatile.ll |