nikic added a comment.
I like the general direction. A possible reframing would be SmallAttrBuilder ->
MutableAttributeSet. I think my main question here would be in which contexts
we still use / want to use the old AttrBuilder?
================
Comment at: llvm/include/llvm/IR/Attributes.h:974
+ SmallVector<Attribute> EnumAttrs;
+ SmallVector<Attribute> StringAttrs;
+ using iterator = typename SmallVector<Attribute>::iterator;
----------------
Just wondering if storing both in one vector would make sense? Would allow
reusing the normal comparison on attributes and generally simplify the code. Or
is that noticeably less efficient?
================
Comment at: llvm/include/llvm/IR/Attributes.h:1125
+ }
+ std::pair<ArrayRef<Attribute>, ArrayRef<Attribute>> uniquify() const {
+ return std::make_pair(ArrayRef<Attribute>(EnumAttrs),
----------------
What is uniquify() supposed to mean in this context?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115798/new/
https://reviews.llvm.org/D115798
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits