PruneEH: Only merge attribute sets when used. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184041 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer 2013-06-15 10:55:39 +00:00
parent aaaae51647
commit 1750632ee1

View File

@ -145,15 +145,13 @@ bool PruneEH::runOnSCC(CallGraphSCC &SCC) {
NewAttributes.addAttribute(Attribute::NoReturn);
Function *F = (*I)->getFunction();
const AttributeSet &PAL = F->getAttributes();
const AttributeSet &NPAL =
PAL.addAttributes(F->getContext(), AttributeSet::FunctionIndex,
AttributeSet::get(F->getContext(),
AttributeSet::FunctionIndex,
NewAttributes));
const AttributeSet &PAL = F->getAttributes().getFnAttributes();
const AttributeSet &NPAL = AttributeSet::get(
F->getContext(), AttributeSet::FunctionIndex, NewAttributes);
if (PAL != NPAL) {
MadeChange = true;
F->setAttributes(NPAL);
F->addAttributes(AttributeSet::FunctionIndex, NPAL);
}
}