mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
This patch addresses two cleanup issues:
1. Verify::VerifyParameterAttrs in "lib/IR/Verifier.cpp" and AttrBuilder::removeFunctionOnlyAttrs in "lib/IR/Attributes.cpp" (only called by Verify::VerifyFunctionAttrs) separately maintained a list of function-only attribute types. I've consolidated the logic into a new function used for both cases in "lib/IR/Verifier.cpp", so this logic is in one place (other than the AsmParser front-end) 2. Various functions in "lib/IR/Verifier.cpp" passed AttributeSet around by reference needlessly, as it's just a handle to an immutable pimpl body. Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179790 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1115,33 +1115,6 @@ bool AttrBuilder::operator==(const AttrBuilder &B) {
|
||||
return Alignment == B.Alignment && StackAlignment == B.StackAlignment;
|
||||
}
|
||||
|
||||
void AttrBuilder::removeFunctionOnlyAttrs() {
|
||||
removeAttribute(Attribute::NoReturn)
|
||||
.removeAttribute(Attribute::NoUnwind)
|
||||
.removeAttribute(Attribute::ReadNone)
|
||||
.removeAttribute(Attribute::ReadOnly)
|
||||
.removeAttribute(Attribute::NoInline)
|
||||
.removeAttribute(Attribute::AlwaysInline)
|
||||
.removeAttribute(Attribute::OptimizeForSize)
|
||||
.removeAttribute(Attribute::StackProtect)
|
||||
.removeAttribute(Attribute::StackProtectReq)
|
||||
.removeAttribute(Attribute::StackProtectStrong)
|
||||
.removeAttribute(Attribute::NoRedZone)
|
||||
.removeAttribute(Attribute::NoImplicitFloat)
|
||||
.removeAttribute(Attribute::Naked)
|
||||
.removeAttribute(Attribute::InlineHint)
|
||||
.removeAttribute(Attribute::StackAlignment)
|
||||
.removeAttribute(Attribute::UWTable)
|
||||
.removeAttribute(Attribute::NonLazyBind)
|
||||
.removeAttribute(Attribute::ReturnsTwice)
|
||||
.removeAttribute(Attribute::SanitizeAddress)
|
||||
.removeAttribute(Attribute::SanitizeThread)
|
||||
.removeAttribute(Attribute::SanitizeMemory)
|
||||
.removeAttribute(Attribute::MinSize)
|
||||
.removeAttribute(Attribute::NoDuplicate)
|
||||
.removeAttribute(Attribute::NoBuiltin);
|
||||
}
|
||||
|
||||
AttrBuilder &AttrBuilder::addRawValue(uint64_t Val) {
|
||||
// FIXME: Remove this in 4.0.
|
||||
if (!Val) return *this;
|
||||
|
Reference in New Issue
Block a user