From: Rafael Espindola Date: Tue, 7 Oct 2014 20:42:47 +0000 (+0000) Subject: Optimize COFFObjectFile::sectionContainsSymbol a bit. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=fbf9a40f5bb5b82e4df6ffb0d2897775034c82f7 Optimize COFFObjectFile::sectionContainsSymbol a bit. There is no need to compute the coff_section of the symbol just to compare the pointer. Inspired by the ELF implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219233 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp index bd7015713f9..6e1f6832674 100644 --- a/lib/Object/COFFObjectFile.cpp +++ b/lib/Object/COFFObjectFile.cpp @@ -347,13 +347,8 @@ std::error_code COFFObjectFile::sectionContainsSymbol(DataRefImpl SecRef, bool &Result) const { const coff_section *Sec = toSec(SecRef); COFFSymbolRef Symb = getCOFFSymbol(SymbRef); - const coff_section *SymbSec = nullptr; - if (std::error_code EC = getSection(Symb.getSectionNumber(), SymbSec)) - return EC; - if (SymbSec == Sec) - Result = true; - else - Result = false; + int32_t SecNumber = (Sec - SectionTable) + 1; + Result = SecNumber == Symb.getSectionNumber(); return object_error::success; }