diff options
author | Bill Wendling <isanbard@gmail.com> | 2012-10-14 06:39:53 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2012-10-14 06:39:53 +0000 |
commit | 5886b7bfc82385dfd35b7602304c86075e1d72e6 (patch) | |
tree | b818eb58d9335787f839a6e1757f5350185bb157 /lib/Transforms | |
parent | a19a53065fcaa6fafce902efde38fcae7b0bdea4 (diff) | |
download | external_llvm-5886b7bfc82385dfd35b7602304c86075e1d72e6.zip external_llvm-5886b7bfc82385dfd35b7602304c86075e1d72e6.tar.gz external_llvm-5886b7bfc82385dfd35b7602304c86075e1d72e6.tar.bz2 |
Remove the bitwise NOT operator from the Attributes class. Replace it with the equivalent from the builder class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165892 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/IPO/DeadArgumentElimination.cpp | 8 | ||||
-rw-r--r-- | lib/Transforms/IPO/GlobalOpt.cpp | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index b107669..6b52387 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -762,7 +762,9 @@ bool DAE::RemoveDeadStuffFromFunction(Function *F) { // here. Currently, this should not be possible, but special handling might be // required when new return value attributes are added. if (NRetTy->isVoidTy()) - RAttrs &= ~Attributes::typeIncompatible(NRetTy); + RAttrs = + Attributes::get(Attributes::Builder(RAttrs). + removeAttributes(Attributes::typeIncompatible(NRetTy))); else assert((RAttrs & Attributes::typeIncompatible(NRetTy)) == 0 && "Return attributes no longer compatible?"); @@ -831,7 +833,9 @@ bool DAE::RemoveDeadStuffFromFunction(Function *F) { Attributes RAttrs = CallPAL.getRetAttributes(); Attributes FnAttrs = CallPAL.getFnAttributes(); // Adjust in case the function was changed to return void. - RAttrs &= ~Attributes::typeIncompatible(NF->getReturnType()); + RAttrs = + Attributes::get(Attributes::Builder(RAttrs). + removeAttributes(Attributes::typeIncompatible(NF->getReturnType()))); if (RAttrs) AttributesVec.push_back(AttributeWithIndex::get(0, RAttrs)); diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index a1b9765..a32f35a 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -2061,7 +2061,7 @@ static void ChangeCalleesToFastCall(Function *F) { } } -static AttrListPtr StripNest(const AttrListPtr &Attrs) { +static AttrListPtr StripNest(LLVMContext &C, const AttrListPtr &Attrs) { Attributes::Builder B; B.addAttribute(Attributes::Nest); @@ -2070,19 +2070,19 @@ static AttrListPtr StripNest(const AttrListPtr &Attrs) { continue; // There can be only one. - return Attrs.removeAttr(Attrs.getSlot(i).Index, Attributes::get(B)); + return Attrs.removeAttr(C, Attrs.getSlot(i).Index, Attributes::get(B)); } return Attrs; } static void RemoveNestAttribute(Function *F) { - F->setAttributes(StripNest(F->getAttributes())); + F->setAttributes(StripNest(F->getContext(), F->getAttributes())); for (Value::use_iterator UI = F->use_begin(), E = F->use_end(); UI != E;++UI){ if (isa<BlockAddress>(*UI)) continue; CallSite User(cast<Instruction>(*UI)); - User.setAttributes(StripNest(User.getAttributes())); + User.setAttributes(StripNest(F->getContext(), User.getAttributes())); } } |