aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/Attributes.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-04-20Add LLVMGetAttrKindID in the C API in order to facilitate migration away ↵Amaury Sechet1-0/+23
from LLVMAttribute Summary: LLVMAttribute has outlived its utility and is becoming a problem for C API users that what to use all the LLVM attributes. In order to help moving away from LLVMAttribute in a smooth manner, this diff introduce LLVMGetAttrKindIDInContext, which can be used instead of the enum values. See D18749 for reference. Reviewers: Wallbraker, whitequark, joker.eph, echristo, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19081 llvm-svn: 266842
2016-04-13Revert "Add LLVMGetAttrKindIDInContext in the C API in order to facilitate ↵Amaury Sechet1-23/+0
migration away from LLVMAttribute" This reverts commit 0bcfd95c268bcb180a525e1837e84475df8acdc7. llvm-svn: 266259
2016-04-13Add LLVMGetAttrKindIDInContext in the C API in order to facilitate migration ↵Amaury Sechet1-0/+23
away from LLVMAttribute Summary: LLVMAttribute has outlived its utility and is becoming a problem for C API users that what to use all the LLVM attributes. In order to help moving away from LLVMAttribute in a smooth manner, this diff introduce LLVMGetAttrKindIDInContext, which can be used instead of the enum values. Reviewers: Wallbraker, whitequark, joker.eph, echristo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18749 llvm-svn: 266257
2015-12-22Provide a way to specify inliner's attribute compatibility and merging.Akira Hatanaka1-1/+98
This reapplies r256277 with two changes: - In emitFnAttrCompatCheck, change FuncName's type to std::string to fix a use-after-free bug. - Remove an unnecessary install-local target in lib/IR/Makefile. Original commit message for r252949: 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 llvm-svn: 256304
2015-12-22Revert r256277 and r256279.Akira Hatanaka1-97/+0
Some of the bots failed again. llvm-svn: 256280
2015-12-22Provide a way to specify inliner's attribute compatibility and merging.Akira Hatanaka1-0/+97
This reapplies r252990 and r252949. I've added member function getKind to the Attr classes which returns the enum or string of the attribute. Original commit message for r252949: 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 llvm-svn: 256277
2015-11-13Revert r252990.Akira Hatanaka1-95/+0
Some of the buildbots are still failing. llvm-svn: 252999
2015-11-13Provide a way to specify inliner's attribute compatibility and merging.Akira Hatanaka1-0/+95
This reapplies r252949. I've changed the type of FuncName to be std::string instead of StringRef in emitFnAttrCompatCheck. Original commit message for r252949: 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 llvm-svn: 252990
2015-11-12Revert r252949.Akira Hatanaka1-95/+0
It broke some of the bots including clang-x64-ninja-win7. llvm-svn: 252951
2015-11-12Provide a way to specify inliner's attribute compatibility and mergingAkira Hatanaka1-0/+95
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 llvm-svn: 252949
2015-11-11Move the enum attributes defined in Attributes.h to a table-gen file.Akira Hatanaka1-0/+59
This is a step towards consolidating some of the information regarding attributes in a single place. This patch moves the enum attributes in Attributes.h to the table-gen file. Additionally, it adds definitions of target independent string attributes that will be used in follow-up commits by the inliner to check attribute compatibility. rdar://problem/19836465 llvm-svn: 252796