[PATCH] D60075: [FunctionAttrs] Remove post order "no-recurse" attribute deduction

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 1 10:43:38 PDT 2019


jdoerfert created this revision.
jdoerfert added reviewers: homerdin, hfinkel, fedor.sergeev, sanjoy, spatel, nlopes, nicholas, reames.
Herald added a project: LLVM.

The Attributor can deduce "no-recurse" function attributes (see D60074 <https://reviews.llvm.org/D60074>)
generally equivalent to the hereby removed functionality.

Test cases have been adjusted to run the attributor in addition to
functionattrs if they were not already.

This fixed the bug https://llvm.org/PR41336, where no-recurse was
derived for a function with linkonce_odr linkage (which be replaced
later and should therefore not participate in inter-procedural
reasoning).

Test case is available in:

  `llvm/test/Transforms/FunctionAttrs/arg_returned.ll`


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D60075

Files:
  llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
  llvm/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll
  llvm/test/Transforms/FunctionAttrs/arg_returned.ll
  llvm/test/Transforms/FunctionAttrs/atomic.ll
  llvm/test/Transforms/FunctionAttrs/norecurse.ll
  llvm/test/Transforms/FunctionAttrs/optnone.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60075.193121.patch
Type: text/x-patch
Size: 7998 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190401/eb24110f/attachment.bin>


More information about the llvm-commits mailing list