[llvm-bugs] [Bug 45470] GVN incorrectly optimizes away a non-local load
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Apr 8 02:35:29 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=45470
Florian Hahn <florian_hahn at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|NEW |RESOLVED
CC| |florian_hahn at apple.com
--- Comment #1 from Florian Hahn <florian_hahn at apple.com> ---
IIUC %offset in the loop will always be >= 2 due to `or i32 %tmp1, 2`. So the
loop only stores to elements with index 2 or higher. The load in .loopexit
loads the element at index 0, which is never initialized and can be replaced
with undef. I think GVN does the right thing. If you remove the or (and hence
index 0 can be store to), the load is not removed.
Please re-open the issue in case I missed something.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200408/0be432f0/attachment.html>
More information about the llvm-bugs
mailing list