[PATCH] D63928: [ARM][SCEV][LSR] Prevent using undefined value in binops

Eugene Leviant via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 28 06:07:45 PDT 2019


evgeny777 created this revision.
evgeny777 added reviewers: javed.absar, efriedma, dexonsmith, samparker.
Herald added subscribers: sanjoy, kristof.beyls.

This is an attempt to fix https://bugs.llvm.org/show_bug.cgi?id=42436

I find easiest way to fix the issue is to not creating undefined value when adding a cast in SCEV expander. For my sample function (see bug description)
subtraction of results of two different ptrtoint instructions (with the same pointer) is correctly folded to zero by the backend. However there could be
potential issues, so any suggestions are highly welcome.


https://reviews.llvm.org/D63928

Files:
  lib/Analysis/ScalarEvolutionExpander.cpp
  test/CodeGen/ARM/lsr-undef-in-binop.ll
  test/Transforms/LoopDistribute/bounds-expansion-bug.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63928.207047.patch
Type: text/x-patch
Size: 12515 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190628/8ef401ff/attachment.bin>


More information about the llvm-commits mailing list