[llvm-commits] [llvm] r164268 - in /llvm/trunk/lib: AsmParser/LLParser.cpp CodeGen/Analysis.cpp VMCore/Attributes.cpp VMCore/Verifier.cpp
Bill Wendling
isanbard at gmail.com
Wed Sep 19 16:54:18 PDT 2012
Author: void
Date: Wed Sep 19 18:54:18 2012
New Revision: 164268
URL: http://llvm.org/viewvc/llvm-project?rev=164268&view=rev
Log:
Convert some attribute existence queries over to use the predicate methods.
Modified:
llvm/trunk/lib/AsmParser/LLParser.cpp
llvm/trunk/lib/CodeGen/Analysis.cpp
llvm/trunk/lib/VMCore/Attributes.cpp
llvm/trunk/lib/VMCore/Verifier.cpp
Modified: llvm/trunk/lib/AsmParser/LLParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/LLParser.cpp?rev=164268&r1=164267&r2=164268&view=diff
==============================================================================
--- llvm/trunk/lib/AsmParser/LLParser.cpp (original)
+++ llvm/trunk/lib/AsmParser/LLParser.cpp Wed Sep 19 18:54:18 2012
@@ -2726,16 +2726,16 @@
std::vector<Type*> ParamTypeList;
SmallVector<AttributeWithIndex, 8> Attrs;
- if (RetAttrs != Attribute::None)
+ if (RetAttrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(0, RetAttrs));
for (unsigned i = 0, e = ArgList.size(); i != e; ++i) {
ParamTypeList.push_back(ArgList[i].Ty);
- if (ArgList[i].Attrs != Attribute::None)
+ if (ArgList[i].Attrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(i+1, ArgList[i].Attrs));
}
- if (FuncAttrs != Attribute::None)
+ if (FuncAttrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(~0, FuncAttrs));
AttrListPtr PAL = AttrListPtr::get(Attrs);
@@ -3253,7 +3253,7 @@
// Set up the Attributes for the function.
SmallVector<AttributeWithIndex, 8> Attrs;
- if (RetAttrs != Attribute::None)
+ if (RetAttrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(0, RetAttrs));
SmallVector<Value*, 8> Args;
@@ -3274,14 +3274,14 @@
return Error(ArgList[i].Loc, "argument is not of expected type '" +
getTypeString(ExpectedTy) + "'");
Args.push_back(ArgList[i].V);
- if (ArgList[i].Attrs != Attribute::None)
+ if (ArgList[i].Attrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(i+1, ArgList[i].Attrs));
}
if (I != E)
return Error(CallLoc, "not enough parameters specified for call");
- if (FnAttrs != Attribute::None)
+ if (FnAttrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(~0, FnAttrs));
// Finish off the Attributes and check them
@@ -3649,7 +3649,7 @@
// Set up the Attributes for the function.
SmallVector<AttributeWithIndex, 8> Attrs;
- if (RetAttrs != Attribute::None)
+ if (RetAttrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(0, RetAttrs));
SmallVector<Value*, 8> Args;
@@ -3670,14 +3670,14 @@
return Error(ArgList[i].Loc, "argument is not of expected type '" +
getTypeString(ExpectedTy) + "'");
Args.push_back(ArgList[i].V);
- if (ArgList[i].Attrs != Attribute::None)
+ if (ArgList[i].Attrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(i+1, ArgList[i].Attrs));
}
if (I != E)
return Error(CallLoc, "not enough parameters specified for call");
- if (FnAttrs != Attribute::None)
+ if (FnAttrs.hasAttributes())
Attrs.push_back(AttributeWithIndex::get(~0, FnAttrs));
// Finish off the Attributes and check them
Modified: llvm/trunk/lib/CodeGen/Analysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/Analysis.cpp?rev=164268&r1=164267&r2=164268&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/Analysis.cpp (original)
+++ llvm/trunk/lib/CodeGen/Analysis.cpp Wed Sep 19 18:54:18 2012
@@ -318,7 +318,7 @@
return false;
// It's not safe to eliminate the sign / zero extension of the return value.
- if ((CallerRetAttr & Attribute::ZExt) || (CallerRetAttr & Attribute::SExt))
+ if (CallerRetAttr.hasZExtAttr() || CallerRetAttr.hasSExtAttr())
return false;
// Otherwise, make sure the unmodified return value of I is the return value.
@@ -358,7 +358,7 @@
return false;
// It's not safe to eliminate the sign / zero extension of the return value.
- if ((CallerRetAttr & Attribute::ZExt) || (CallerRetAttr & Attribute::SExt))
+ if (CallerRetAttr.hasZExtAttr() || CallerRetAttr.hasSExtAttr())
return false;
// Check if the only use is a function return node.
Modified: llvm/trunk/lib/VMCore/Attributes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Attributes.cpp?rev=164268&r1=164267&r2=164268&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/Attributes.cpp (original)
+++ llvm/trunk/lib/VMCore/Attributes.cpp Wed Sep 19 18:54:18 2012
@@ -28,55 +28,55 @@
std::string Attribute::getAsString(Attributes Attrs) {
std::string Result;
- if (Attrs & Attribute::ZExt)
+ if (Attrs.hasZExtAttr())
Result += "zeroext ";
- if (Attrs & Attribute::SExt)
+ if (Attrs.hasSExtAttr())
Result += "signext ";
- if (Attrs & Attribute::NoReturn)
+ if (Attrs.hasNoReturnAttr())
Result += "noreturn ";
- if (Attrs & Attribute::NoUnwind)
+ if (Attrs.hasNoUnwindAttr())
Result += "nounwind ";
- if (Attrs & Attribute::UWTable)
+ if (Attrs.hasUWTableAttr())
Result += "uwtable ";
- if (Attrs & Attribute::ReturnsTwice)
+ if (Attrs.hasReturnsTwiceAttr())
Result += "returns_twice ";
- if (Attrs & Attribute::InReg)
+ if (Attrs.hasInRegAttr())
Result += "inreg ";
- if (Attrs & Attribute::NoAlias)
+ if (Attrs.hasNoAliasAttr())
Result += "noalias ";
- if (Attrs & Attribute::NoCapture)
+ if (Attrs.hasNoCaptureAttr())
Result += "nocapture ";
- if (Attrs & Attribute::StructRet)
+ if (Attrs.hasStructRetAttr())
Result += "sret ";
- if (Attrs & Attribute::ByVal)
+ if (Attrs.hasByValAttr())
Result += "byval ";
- if (Attrs & Attribute::Nest)
+ if (Attrs.hasNestAttr())
Result += "nest ";
- if (Attrs & Attribute::ReadNone)
+ if (Attrs.hasReadNoneAttr())
Result += "readnone ";
- if (Attrs & Attribute::ReadOnly)
+ if (Attrs.hasReadOnlyAttr())
Result += "readonly ";
- if (Attrs & Attribute::OptimizeForSize)
+ if (Attrs.hasOptimizeForSizeAttr())
Result += "optsize ";
- if (Attrs & Attribute::NoInline)
+ if (Attrs.hasNoInlineAttr())
Result += "noinline ";
- if (Attrs & Attribute::InlineHint)
+ if (Attrs.hasInlineHintAttr())
Result += "inlinehint ";
- if (Attrs & Attribute::AlwaysInline)
+ if (Attrs.hasAlwaysInlineAttr())
Result += "alwaysinline ";
- if (Attrs & Attribute::StackProtect)
+ if (Attrs.hasStackProtectAttr())
Result += "ssp ";
- if (Attrs & Attribute::StackProtectReq)
+ if (Attrs.hasStackProtectReqAttr())
Result += "sspreq ";
- if (Attrs & Attribute::NoRedZone)
+ if (Attrs.hasNoRedZoneAttr())
Result += "noredzone ";
- if (Attrs & Attribute::NoImplicitFloat)
+ if (Attrs.hasNoImplicitFloatAttr())
Result += "noimplicitfloat ";
- if (Attrs & Attribute::Naked)
+ if (Attrs.hasNakedAttr())
Result += "naked ";
- if (Attrs & Attribute::NonLazyBind)
+ if (Attrs.hasNonLazyBindAttr())
Result += "nonlazybind ";
- if (Attrs & Attribute::AddressSafety)
+ if (Attrs.hasAddressSafetyAttr())
Result += "address_safety ";
if (Attrs & Attribute::StackAlignment) {
Result += "alignstack(";
Modified: llvm/trunk/lib/VMCore/Verifier.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Verifier.cpp?rev=164268&r1=164267&r2=164268&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/Verifier.cpp (original)
+++ llvm/trunk/lib/VMCore/Verifier.cpp Wed Sep 19 18:54:18 2012
@@ -585,12 +585,12 @@
VerifyParameterAttrs(Attr.Attrs, Ty, Attr.Index == 0, V);
- if (Attr.Attrs & Attribute::Nest) {
+ if (Attr.Attrs.hasNestAttr()) {
Assert1(!SawNest, "More than one parameter has attribute nest!", V);
SawNest = true;
}
- if (Attr.Attrs & Attribute::StructRet)
+ if (Attr.Attrs.hasStructRetAttr())
Assert1(Attr.Index == 1, "Attribute sret not on first parameter!", V);
}
More information about the llvm-commits
mailing list