[PATCH] D87488: [ImplicitNullCheck] Hoisting multiple dependencies

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 10 19:13:45 PDT 2020


anna created this revision.
anna added reviewers: dantrushin, reames, skatkov.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
anna requested review of this revision.

This patch introduces a new dependence tracking mechanism for the
faulting operation, wherein multiple dependencies can be tracked. This
allows us to hoist a list of dependencies along with the faulting memory
operation.
We now catch some of the existing testcases with multiple
dependencies as well as some newly added testcases.
The key point to note is that by the time we reach dependency tracking,
we have already completed two other important sections for safety
analysis, namely `isSuitableMemoryOp` and whether unsafe instructions
modify PointerReg (i.e. those that do not preserve zero value of the
register).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D87488

Files:
  llvm/lib/CodeGen/ImplicitNullChecks.cpp
  llvm/test/CodeGen/X86/implicit-null-check.ll
  llvm/test/CodeGen/X86/implicit-null-checks.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87488.291114.patch
Type: text/x-patch
Size: 15710 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200911/a85d0271/attachment.bin>


More information about the llvm-commits mailing list