Provide a way to specify inliner's attribute compatibility and merging
authorAkira Hatanaka <ahatanaka@apple.com>
Thu, 12 Nov 2015 20:59:43 +0000 (20:59 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Thu, 12 Nov 2015 20:59:43 +0000 (20:59 +0000)
commitd68ad56b3f52878be32ce60b8a6f9c8dce94c34b
tree407c8b5cc21c4aba2f1fa01120c9d736298d1af0
parent22e911c8dd6b653bae6f24a5f86204ab8419a203
Provide a way to specify inliner's attribute compatibility and merging
rules using table-gen. NFC.

This commit adds new classes CompatRule and MergeRule to Attributes.td,
which are used to generate code to check attribute compatibility and
merge attributes of the caller and callee.

rdar://problem/19836465

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252949 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Attributes.h
include/llvm/IR/Attributes.td
lib/Analysis/InlineCost.cpp
lib/IR/Attributes.cpp
lib/IR/AttributesCompatFunc.td [new file with mode: 0644]
lib/IR/CMakeLists.txt
lib/IR/Makefile
lib/Transforms/IPO/Inliner.cpp
utils/TableGen/Attributes.cpp