[PATCH] D7802: [Inliner] Use whitelist instead of blacklist when checking function attribute compatibility and make the check stricter

Akira Hatanaka via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 13 22:32:26 PDT 2015


ahatanak updated this revision to Diff 37320.
ahatanak added a comment.

Rebase and add rules to merge caller's and callee's attributes to Attributes.td.

Merge rules enable modifying the caller's attribute set if the caller and callee have incompatible attribute sets, rather than blocking inlining. For example, if the callee has attribute "noimplicitfloat", but the caller doesn't, the merge rule defined in Attributes.td attaches "noimplicitfloat" to the caller.


http://reviews.llvm.org/D7802

Files:
  include/llvm/IR/Attributes.h
  include/llvm/IR/Attributes.td
  include/llvm/IR/CMakeLists.txt
  lib/Analysis/InlineCost.cpp
  lib/IR/Attributes.cpp
  lib/IR/AttributesCompatFunc.td
  lib/IR/CMakeLists.txt
  lib/IR/Makefile
  lib/Transforms/IPO/Inliner.cpp
  test/Analysis/BasicAA/intrinsics.ll
  test/Analysis/TypeBasedAliasAnalysis/intrinsics.ll
  test/Bitcode/compatibility-3.6.ll
  test/Bitcode/compatibility-3.7.ll
  test/Bitcode/compatibility.ll
  test/Transforms/Inline/attributes.ll
  test/Transforms/Inline/inline_invoke.ll
  test/Transforms/MemCpyOpt/memcpy.ll
  test/Transforms/ObjCARC/nested.ll
  utils/TableGen/Attribute.cpp
  utils/TableGen/CMakeLists.txt
  utils/TableGen/TableGen.cpp
  utils/TableGen/TableGenBackends.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7802.37320.patch
Type: text/x-patch
Size: 37141 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151014/f1a7b8f5/attachment.bin>


More information about the llvm-commits mailing list