mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 19:08:21 +08:00
[BOLT] Remove CreatePastEnd parameter in getOrCreateLocalLabel(). NFC (#165065)
CreatePastEnd parameter had no effect on the label creation. Remove it.
This commit is contained in:
@@ -620,13 +620,11 @@ private:
|
||||
}
|
||||
|
||||
/// Return a label at a given \p Address in the function. If the label does
|
||||
/// not exist - create it. Assert if the \p Address does not belong to
|
||||
/// the function. If \p CreatePastEnd is true, then return the function
|
||||
/// end label when the \p Address points immediately past the last byte
|
||||
/// of the function.
|
||||
/// not exist - create it.
|
||||
///
|
||||
/// NOTE: the function always returns a local (temp) symbol, even if there's
|
||||
/// a global symbol that corresponds to an entry at this address.
|
||||
MCSymbol *getOrCreateLocalLabel(uint64_t Address, bool CreatePastEnd = false);
|
||||
MCSymbol *getOrCreateLocalLabel(uint64_t Address);
|
||||
|
||||
/// Register an data entry at a given \p Offset into the function.
|
||||
void markDataAtOffset(uint64_t Offset) {
|
||||
|
||||
@@ -1035,13 +1035,9 @@ BinaryFunction::processIndirectBranch(MCInst &Instruction, unsigned Size,
|
||||
return BranchType;
|
||||
}
|
||||
|
||||
MCSymbol *BinaryFunction::getOrCreateLocalLabel(uint64_t Address,
|
||||
bool CreatePastEnd) {
|
||||
MCSymbol *BinaryFunction::getOrCreateLocalLabel(uint64_t Address) {
|
||||
const uint64_t Offset = Address - getAddress();
|
||||
|
||||
if ((Offset == getSize()) && CreatePastEnd)
|
||||
return getFunctionEndLabel();
|
||||
|
||||
auto LI = Labels.find(Offset);
|
||||
if (LI != Labels.end())
|
||||
return LI->second;
|
||||
@@ -1052,6 +1048,9 @@ MCSymbol *BinaryFunction::getOrCreateLocalLabel(uint64_t Address,
|
||||
return IslandSym;
|
||||
}
|
||||
|
||||
if (Offset == getSize())
|
||||
return getFunctionEndLabel();
|
||||
|
||||
MCSymbol *Label = BC.Ctx->createNamedTempSymbol();
|
||||
Labels[Offset] = Label;
|
||||
|
||||
@@ -1994,7 +1993,7 @@ void BinaryFunction::postProcessJumpTables() {
|
||||
if (IsBuiltinUnreachable) {
|
||||
BinaryFunction *TargetBF = BC.getBinaryFunctionAtAddress(EntryAddress);
|
||||
MCSymbol *Label = TargetBF ? TargetBF->getSymbol()
|
||||
: getOrCreateLocalLabel(EntryAddress, true);
|
||||
: getOrCreateLocalLabel(EntryAddress);
|
||||
JT.Entries.push_back(Label);
|
||||
continue;
|
||||
}
|
||||
@@ -2005,7 +2004,7 @@ void BinaryFunction::postProcessJumpTables() {
|
||||
BC.getBinaryFunctionContainingAddress(EntryAddress);
|
||||
MCSymbol *Label;
|
||||
if (HasOneParent && TargetBF == this) {
|
||||
Label = getOrCreateLocalLabel(EntryAddress, true);
|
||||
Label = getOrCreateLocalLabel(EntryAddress);
|
||||
} else {
|
||||
const uint64_t Offset = EntryAddress - TargetBF->getAddress();
|
||||
Label = Offset ? TargetBF->addEntryPointAtOffset(Offset)
|
||||
|
||||
@@ -2949,9 +2949,7 @@ void RewriteInstance::handleRelocation(const SectionRef &RelocatedSection,
|
||||
ReferencedSymbol =
|
||||
ReferencedBF->addEntryPointAtOffset(RefFunctionOffset);
|
||||
} else {
|
||||
ReferencedSymbol =
|
||||
ReferencedBF->getOrCreateLocalLabel(Address,
|
||||
/*CreatePastEnd =*/true);
|
||||
ReferencedSymbol = ReferencedBF->getOrCreateLocalLabel(Address);
|
||||
|
||||
// If ContainingBF != nullptr, it equals ReferencedBF (see
|
||||
// if-condition above) so we're handling a relocation from a function
|
||||
|
||||
Reference in New Issue
Block a user