diff options
author | Reid Kleckner <rnk@google.com> | 2017-04-10 20:18:10 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-04-10 20:18:10 +0000 |
commit | a8b5a980c8179a1495423f56d8add29ee0112d21 (patch) | |
tree | b0603bd4e9d2ebf174771f261f2d3c4d0de33e5d /test/CodeGen/Thumb2 | |
parent | df685624d01263f0a89163656d70fa58b9c73bd5 (diff) |
[IR] Make AttributeSetNode public, avoid temporary AttributeList copies
Summary:
AttributeList::get(Fn|Ret|Param)Attributes no longer creates a temporary
AttributeList just to hide the AttributeSetNode type.
I've also added a factory method to create AttributeLists from a
parallel array of AttributeSetNodes. I think this simplifies
construction of AttributeLists when rewriting function prototypes.
Previously we would test if a particular index had attributes, and
conditionally add a temporary attribute list to a vector. Now the
attribute set vector is parallel to the argument vector already that
these passes already construct.
My long term vision is to wrap AttributeSetNode* inside an AttributeSet
type that holds the enum attributes, but that will come in a follow up
change.
I haven't done any performance measurements for this change because
profiling hasn't shown that any of the affected code is hot.
Reviewers: pete, chandlerc, sanjoy, hfinkel
Reviewed By: pete
Subscribers: jfb, llvm-commits
Differential Revision: https://reviews.llvm.org/D31198
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299875 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb2')
0 files changed, 0 insertions, 0 deletions