forked from OSchip/llvm-project
[MC] Fix quadratic behavior in addPendingLabel()
Differential Revision: https://reviews.llvm.org/D78775
This commit is contained in:
parent
6395980370
commit
e98f73a629
|
@ -38,7 +38,7 @@ class MCObjectStreamer : public MCStreamer {
|
|||
bool EmitEHFrame;
|
||||
bool EmitDebugFrame;
|
||||
SmallVector<MCSymbol *, 2> PendingLabels;
|
||||
SmallVector<MCSection*, 2> PendingLabelSections;
|
||||
SmallPtrSet<MCSection *, 4> PendingLabelSections;
|
||||
unsigned CurSubsectionIdx;
|
||||
struct PendingMCFixup {
|
||||
const MCSymbol *Sym;
|
||||
|
|
|
@ -59,12 +59,8 @@ void MCObjectStreamer::addPendingLabel(MCSymbol* S) {
|
|||
CurSection->addPendingLabel(S, CurSubsectionIdx);
|
||||
|
||||
// Add this Section to the list of PendingLabelSections.
|
||||
auto SecIt = std::find(PendingLabelSections.begin(),
|
||||
PendingLabelSections.end(), CurSection);
|
||||
if (SecIt == PendingLabelSections.end())
|
||||
PendingLabelSections.push_back(CurSection);
|
||||
}
|
||||
else
|
||||
PendingLabelSections.insert(CurSection);
|
||||
} else
|
||||
// There is no Section / Subsection for this label yet.
|
||||
PendingLabels.push_back(S);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue