mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-13 16:03:58 +00:00
Remove the bitwise assignment OR 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@165895 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
432e606cf1
commit
c416795fea
@ -236,7 +236,6 @@ public:
|
||||
}
|
||||
|
||||
Attributes operator & (const Attributes &A) const;
|
||||
Attributes &operator |= (const Attributes &A);
|
||||
Attributes &operator &= (const Attributes &A);
|
||||
|
||||
uint64_t Raw() const;
|
||||
@ -351,7 +350,7 @@ public:
|
||||
/// addAttr - Add the specified attribute at the specified index to this
|
||||
/// attribute list. Since attribute lists are immutable, this
|
||||
/// returns the new list.
|
||||
AttrListPtr addAttr(unsigned Idx, Attributes Attrs) const;
|
||||
AttrListPtr addAttr(LLVMContext &C, unsigned Idx, Attributes Attrs) const;
|
||||
|
||||
/// removeAttr - Remove the specified attribute at the specified index from
|
||||
/// this attribute list. Since attribute lists are immutable, this
|
||||
|
@ -146,7 +146,8 @@ bool PruneEH::runOnSCC(CallGraphSCC &SCC) {
|
||||
|
||||
Function *F = (*I)->getFunction();
|
||||
const AttrListPtr &PAL = F->getAttributes();
|
||||
const AttrListPtr &NPAL = PAL.addAttr(~0, Attributes::get(NewAttributes));
|
||||
const AttrListPtr &NPAL = PAL.addAttr(F->getContext(), ~0,
|
||||
Attributes::get(NewAttributes));
|
||||
if (PAL != NPAL) {
|
||||
MadeChange = true;
|
||||
F->setAttributes(NPAL);
|
||||
|
@ -1790,7 +1790,8 @@ Constant *ObjCARCOpt::getRetainRVCallee(Module *M) {
|
||||
FunctionType *FTy = FunctionType::get(I8X, Params, /*isVarArg=*/false);
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
RetainRVCallee =
|
||||
M->getOrInsertFunction("objc_retainAutoreleasedReturnValue", FTy,
|
||||
Attributes);
|
||||
@ -1806,7 +1807,8 @@ Constant *ObjCARCOpt::getAutoreleaseRVCallee(Module *M) {
|
||||
FunctionType *FTy = FunctionType::get(I8X, Params, /*isVarArg=*/false);
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
AutoreleaseRVCallee =
|
||||
M->getOrInsertFunction("objc_autoreleaseReturnValue", FTy,
|
||||
Attributes);
|
||||
@ -1820,7 +1822,8 @@ Constant *ObjCARCOpt::getReleaseCallee(Module *M) {
|
||||
Type *Params[] = { PointerType::getUnqual(Type::getInt8Ty(C)) };
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
ReleaseCallee =
|
||||
M->getOrInsertFunction(
|
||||
"objc_release",
|
||||
@ -1836,7 +1839,8 @@ Constant *ObjCARCOpt::getRetainCallee(Module *M) {
|
||||
Type *Params[] = { PointerType::getUnqual(Type::getInt8Ty(C)) };
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
RetainCallee =
|
||||
M->getOrInsertFunction(
|
||||
"objc_retain",
|
||||
@ -1867,7 +1871,8 @@ Constant *ObjCARCOpt::getAutoreleaseCallee(Module *M) {
|
||||
Type *Params[] = { PointerType::getUnqual(Type::getInt8Ty(C)) };
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
AutoreleaseCallee =
|
||||
M->getOrInsertFunction(
|
||||
"objc_autorelease",
|
||||
@ -3845,8 +3850,8 @@ Constant *ObjCARCContract::getStoreStrongCallee(Module *M) {
|
||||
Attributes::Builder BNoCapture;
|
||||
BNoCapture.addAttribute(Attributes::NoCapture);
|
||||
AttrListPtr Attributes = AttrListPtr()
|
||||
.addAttr(~0u, Attributes::get(BNoUnwind))
|
||||
.addAttr(1, Attributes::get(BNoCapture));
|
||||
.addAttr(M->getContext(), ~0u, Attributes::get(BNoUnwind))
|
||||
.addAttr(M->getContext(), 1, Attributes::get(BNoCapture));
|
||||
|
||||
StoreStrongCallee =
|
||||
M->getOrInsertFunction(
|
||||
@ -3865,7 +3870,8 @@ Constant *ObjCARCContract::getRetainAutoreleaseCallee(Module *M) {
|
||||
FunctionType *FTy = FunctionType::get(I8X, Params, /*isVarArg=*/false);
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
RetainAutoreleaseCallee =
|
||||
M->getOrInsertFunction("objc_retainAutorelease", FTy, Attributes);
|
||||
}
|
||||
@ -3880,7 +3886,8 @@ Constant *ObjCARCContract::getRetainAutoreleaseRVCallee(Module *M) {
|
||||
FunctionType *FTy = FunctionType::get(I8X, Params, /*isVarArg=*/false);
|
||||
Attributes::Builder B;
|
||||
B.addAttribute(Attributes::NoUnwind);
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
|
||||
AttrListPtr Attributes = AttrListPtr().addAttr(M->getContext(), ~0u,
|
||||
Attributes::get(B));
|
||||
RetainAutoreleaseRVCallee =
|
||||
M->getOrInsertFunction("objc_retainAutoreleaseReturnValue", FTy,
|
||||
Attributes);
|
||||
|
@ -98,10 +98,12 @@ void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
|
||||
Anew->addAttr( OldFunc->getAttributes()
|
||||
.getParamAttributes(I->getArgNo() + 1));
|
||||
NewFunc->setAttributes(NewFunc->getAttributes()
|
||||
.addAttr(0, OldFunc->getAttributes()
|
||||
.addAttr(NewFunc->getContext(), 0,
|
||||
OldFunc->getAttributes()
|
||||
.getRetAttributes()));
|
||||
NewFunc->setAttributes(NewFunc->getAttributes()
|
||||
.addAttr(~0, OldFunc->getAttributes()
|
||||
.addAttr(NewFunc->getContext(), ~0,
|
||||
OldFunc->getAttributes()
|
||||
.getFnAttributes()));
|
||||
|
||||
}
|
||||
|
@ -96,10 +96,6 @@ bool Attributes::isEmptyOrSingleton() const {
|
||||
Attributes Attributes::operator & (const Attributes &A) const {
|
||||
return Attributes(Raw() & A.Raw());
|
||||
}
|
||||
Attributes &Attributes::operator |= (const Attributes &A) {
|
||||
Attrs.Bits |= A.Raw();
|
||||
return *this;
|
||||
}
|
||||
Attributes &Attributes::operator &= (const Attributes &A) {
|
||||
Attrs.Bits &= A.Raw();
|
||||
return *this;
|
||||
@ -504,7 +500,8 @@ Attributes &AttrListPtr::getAttributesAtIndex(unsigned i) const {
|
||||
return AttrList->Attrs[i].Attrs;
|
||||
}
|
||||
|
||||
AttrListPtr AttrListPtr::addAttr(unsigned Idx, Attributes Attrs) const {
|
||||
AttrListPtr AttrListPtr::addAttr(LLVMContext &C, unsigned Idx,
|
||||
Attributes Attrs) const {
|
||||
Attributes OldAttrs = getAttributes(Idx);
|
||||
#ifndef NDEBUG
|
||||
// FIXME it is not obvious how this should work for alignment.
|
||||
@ -532,7 +529,9 @@ AttrListPtr AttrListPtr::addAttr(unsigned Idx, Attributes Attrs) const {
|
||||
|
||||
// If there are attributes already at this index, merge them in.
|
||||
if (i != e && OldAttrList[i].Index == Idx) {
|
||||
Attrs |= OldAttrList[i].Attrs;
|
||||
Attrs =
|
||||
Attributes::get(C, Attributes::Builder(Attrs).
|
||||
addAttributes(OldAttrList[i].Attrs));
|
||||
++i;
|
||||
}
|
||||
|
||||
|
@ -1381,7 +1381,8 @@ void LLVMSetGC(LLVMValueRef Fn, const char *GC) {
|
||||
void LLVMAddFunctionAttr(LLVMValueRef Fn, LLVMAttribute PA) {
|
||||
Function *Func = unwrap<Function>(Fn);
|
||||
const AttrListPtr PAL = Func->getAttributes();
|
||||
const AttrListPtr PALnew = PAL.addAttr(~0U, Attributes(PA));
|
||||
const AttrListPtr PALnew = PAL.addAttr(Func->getContext(), ~0U,
|
||||
Attributes(PA));
|
||||
Func->setAttributes(PALnew);
|
||||
}
|
||||
|
||||
@ -1667,7 +1668,7 @@ void LLVMAddInstrAttribute(LLVMValueRef Instr, unsigned index,
|
||||
LLVMAttribute PA) {
|
||||
CallSite Call = CallSite(unwrap<Instruction>(Instr));
|
||||
Call.setAttributes(
|
||||
Call.getAttributes().addAttr(index, Attributes(PA)));
|
||||
Call.getAttributes().addAttr(Call->getContext(), index, Attributes(PA)));
|
||||
}
|
||||
|
||||
void LLVMRemoveInstrAttribute(LLVMValueRef Instr, unsigned index,
|
||||
@ -1682,7 +1683,8 @@ void LLVMSetInstrParamAlignment(LLVMValueRef Instr, unsigned index,
|
||||
CallSite Call = CallSite(unwrap<Instruction>(Instr));
|
||||
Attributes::Builder B;
|
||||
B.addAlignmentAttr(align);
|
||||
Call.setAttributes(Call.getAttributes().addAttr(index, Attributes::get(B)));
|
||||
Call.setAttributes(Call.getAttributes().addAttr(Call->getContext(), index,
|
||||
Attributes::get(B)));
|
||||
}
|
||||
|
||||
/*--.. Operations on call instructions (only) ..............................--*/
|
||||
|
@ -249,7 +249,7 @@ void Function::dropAllReferences() {
|
||||
|
||||
void Function::addAttribute(unsigned i, Attributes attr) {
|
||||
AttrListPtr PAL = getAttributes();
|
||||
PAL = PAL.addAttr(i, attr);
|
||||
PAL = PAL.addAttr(getContext(), i, attr);
|
||||
setAttributes(PAL);
|
||||
}
|
||||
|
||||
|
@ -332,7 +332,7 @@ CallInst::CallInst(const CallInst &CI)
|
||||
|
||||
void CallInst::addAttribute(unsigned i, Attributes attr) {
|
||||
AttrListPtr PAL = getAttributes();
|
||||
PAL = PAL.addAttr(i, attr);
|
||||
PAL = PAL.addAttr(getContext(), i, attr);
|
||||
setAttributes(PAL);
|
||||
}
|
||||
|
||||
@ -588,7 +588,7 @@ bool InvokeInst::paramHasAttr(unsigned i, Attributes::AttrVal A) const {
|
||||
|
||||
void InvokeInst::addAttribute(unsigned i, Attributes attr) {
|
||||
AttrListPtr PAL = getAttributes();
|
||||
PAL = PAL.addAttr(i, attr);
|
||||
PAL = PAL.addAttr(getContext(), i, attr);
|
||||
setAttributes(PAL);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user