diff options
author | Daniel Neilson <dneilson@azul.com> | 2018-01-17 19:15:21 +0000 |
---|---|---|
committer | Daniel Neilson <dneilson@azul.com> | 2018-01-17 19:15:21 +0000 |
commit | 88dddb89483e8d21b13b6557f67ec5420ffaa7ef (patch) | |
tree | c9e4a4c4583be5113d376b6fa249648853310d44 /llvm/test/CodeGen/ARM/intrinsics-overflow.ll | |
parent | 8c87a2e7bd2ec23b63310b58c4b55c01105f261e (diff) | |
download | bcm5719-llvm-88dddb89483e8d21b13b6557f67ec5420ffaa7ef.tar.gz bcm5719-llvm-88dddb89483e8d21b13b6557f67ec5420ffaa7ef.zip |
[Attributes] Fix crash when attempting to remove alignment from an attribute list/set
Summary:
Discovered while working on a patch to move alignment in
@llvm.memcpy/move/set from an arg into parameter attributes.
The current implementations of AttributeSet::removeAttribute() and
AttributeList::removeAttribute crash when attempting to remove the
alignment attribute. Currently, these implementations add the
to-be-removed attributes to an AttrBuilder and then remove
the builder from the list/set. Alignment is special in that it
must be added to a builder with an integer value for the alignment;
attempts to add alignment to a builder without a value is an error.
This change fixes the removeAttribute implementations for AttributeSet and
AttributeList to make them able to remove the alignment, and other similar,
attributes.
Reviewers: rnk, chandlerc, pete, javed.absar, reames
Reviewed By: rnk
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D41951
llvm-svn: 322735
Diffstat (limited to 'llvm/test/CodeGen/ARM/intrinsics-overflow.ll')
0 files changed, 0 insertions, 0 deletions