[PATCH] D74888: [Attributor] Use knowledge retained in llvm.assume (operand bundles)

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 20 00:21:38 PST 2020


jdoerfert created this revision.
jdoerfert added reviewers: Tyker, hfinkel, uenoku, sstefan1, baziotis.
Herald added subscribers: bollu, hiraditya.
Herald added a project: LLVM.

This patch integrates operand bundle llvm.assumes [0] with the
Attributor. Most IRAttributes will now look at uses of the associated
value and if there are llvm.assume operand bundle uses with the right
tag we will check if they are in the must-be-executed-context (around
the context instruction).

This includes a bug fix for KnowledgeRetention.

[0] http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74888

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/Utils/KnowledgeRetention.cpp
  llvm/test/Transforms/Attributor/dereferenceable-1.ll
  llvm/test/Transforms/Attributor/nofree.ll
  llvm/test/Transforms/Attributor/nonnull.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74888.245593.patch
Type: text/x-patch
Size: 14007 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200220/a1b9548f/attachment.bin>


More information about the llvm-commits mailing list