Remove the Function::getFnAttributes method in favor of using the AttributeSet

directly.

This is in preparation for removing the use of the 'Attribute' class as a
collection of attributes. That will shift to the AttributeSet class instead.

llvm-svn: 171254
This commit is contained in:
Bill Wendling
2012-12-30 10:32:17 +00:00
parent 698e84fc4f
commit 5e85be4326
2 changed files with 4 additions and 2 deletions

View File

@@ -2238,7 +2238,8 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo &CallInfo,
AttributeList);
llvm::BasicBlock *InvokeDest = 0;
if (!Attrs.getFnAttributes().hasAttribute(llvm::Attribute::NoUnwind))
if (!Attrs.hasAttribute(llvm::AttributeSet::FunctionIndex,
llvm::Attribute::NoUnwind))
InvokeDest = getInvokeDest();
llvm::CallSite CS;

View File

@@ -576,7 +576,8 @@ void CodeGenModule::SetLLVMFunctionAttributesForDefinition(const Decl *D,
// (noinline wins over always_inline, and we can't specify both in IR)
if ((D->hasAttr<AlwaysInlineAttr>() || D->hasAttr<ForceInlineAttr>()) &&
!F->getFnAttributes().hasAttribute(llvm::Attribute::NoInline))
!F->getAttributes().hasAttribute(llvm::AttributeSet::FunctionIndex,
llvm::Attribute::NoInline))
F->addFnAttr(llvm::Attribute::AlwaysInline);
// FIXME: Communicate hot and cold attributes to LLVM more directly.