about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper
diff options
context:
space:
mode:
authorAugie Fackler <augie@google.com>2022-01-05 13:51:59 -0500
committerAugie Fackler <augie@google.com>2022-01-05 13:51:59 -0500
commit34a6b6c4235972a715b03612905913d98ab899fd (patch)
tree8326e0e1bcf57166724364cbcd87989eabb02d0a /compiler/rustc_llvm/llvm-wrapper
parent2803fbc44758a795d48a0c2d3a8ee06045dc9efb (diff)
downloadrust-34a6b6c4235972a715b03612905913d98ab899fd.tar.gz
rust-34a6b6c4235972a715b03612905913d98ab899fd.zip
RustWrapper: simplify removing attributes
Avoids some extra conversions. Spotted by nikic during review.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper')
-rw-r--r--compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
index 84db11efe30..dd249bd17fc 100644
--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
@@ -341,16 +341,12 @@ extern "C" void LLVMRustRemoveFunctionAttributes(LLVMValueRef Fn,
                                                  unsigned Index,
                                                  LLVMRustAttribute RustAttr) {
   Function *F = unwrap<Function>(Fn);
-  Attribute Attr = Attribute::get(F->getContext(), fromRust(RustAttr));
-  auto PAL = F->getAttributes();
+  AttributeList PAL = F->getAttributes();
   AttributeList PALNew;
 #if LLVM_VERSION_LT(14, 0)
-  AttrBuilder B(Attr);
-  PALNew = PAL.removeAttributes(F->getContext(), Index, B);
+  PALNew = PAL.removeAttribute(F->getContext(), Index, fromRust(RustAttr));
 #else
-  AttributeMask M;
-  M.addAttribute(Attr);
-  PALNew = PAL.removeAttributesAtIndex(F->getContext(), Index, M);
+  PALNew = PAL.removeAttributeAtIndex(F->getContext(), Index, fromRust(RustAttr));
 #endif
   F->setAttributes(PALNew);
 }