[PATCH] D70233: [WIP][NOT FOR COMMIT][Attributor] AAReachability Attribute

pankaj gode via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 14 04:10:59 PST 2019


pgode created this revision.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a reviewer: jdoerfert.
Herald added a project: LLVM.
pgode retitled this revision from "[WIP][NOT FOR COMMIT] AAReachability Attribute" to "[WIP][NOT FOR COMMIT][Attributor] AAReachability Attribute".

Working towards Johannes's suggestion for fixme, in Attributor's Noalias attribute deduction.
// (ii) Check whether the value is captured in the scope using AANoCapture.
// FIXME: This is conservative though, it is better to look at CFG and
//        check only uses possibly executed before this call site.

A Reachability abstract attribute answers the question "does execution at point A potentially reach point B". If this question is answered with `false` for all other uses of the value that might be captured, we know it is not *yet* captured and can continue with the noalias deduction. Currently, information AAReachability provides is completely pessimistic.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70233

Files:
  llvm/include/llvm/Bitcode/LLVMBitCodes.h
  llvm/include/llvm/IR/Attributes.td
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/Utils/CodeExtractor.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70233.229267.patch
Type: text/x-patch
Size: 10067 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191114/d0fe46ae/attachment.bin>


More information about the llvm-commits mailing list