mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-28 00:50:37 +00:00
[MC] Add a SetUsed default param to MCSymbol accessors (NFC)
Reviewed by: rafael git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245978 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fbf4c2b2e1
commit
66faa25c3a
@ -179,7 +179,7 @@ private:
|
||||
|
||||
MCSymbol(const MCSymbol &) = delete;
|
||||
void operator=(const MCSymbol &) = delete;
|
||||
MCSection *getSectionPtr() const {
|
||||
MCSection *getSectionPtr(bool SetUsed = true) const {
|
||||
if (MCFragment *F = getFragment())
|
||||
return F->getParent();
|
||||
const auto &SectionOrFragment = SectionOrFragmentAndHasName.getPointer();
|
||||
@ -187,7 +187,7 @@ private:
|
||||
MCSection *Section = SectionOrFragment.dyn_cast<MCSection *>();
|
||||
if (Section || !isVariable())
|
||||
return Section;
|
||||
return Section = getVariableValue()->findAssociatedSection();
|
||||
return Section = getVariableValue(SetUsed)->findAssociatedSection();
|
||||
}
|
||||
|
||||
/// \brief Get a reference to the name field. Requires that we have a name
|
||||
@ -248,22 +248,28 @@ public:
|
||||
/// isDefined - Check if this symbol is defined (i.e., it has an address).
|
||||
///
|
||||
/// Defined symbols are either absolute or in some section.
|
||||
bool isDefined() const { return getSectionPtr() != nullptr; }
|
||||
bool isDefined(bool SetUsed = true) const {
|
||||
return getSectionPtr(SetUsed) != nullptr;
|
||||
}
|
||||
|
||||
/// isInSection - Check if this symbol is defined in some section (i.e., it
|
||||
/// is defined but not absolute).
|
||||
bool isInSection() const { return isDefined() && !isAbsolute(); }
|
||||
bool isInSection(bool SetUsed = true) const {
|
||||
return isDefined(SetUsed) && !isAbsolute(SetUsed);
|
||||
}
|
||||
|
||||
/// isUndefined - Check if this symbol undefined (i.e., implicitly defined).
|
||||
bool isUndefined() const { return !isDefined(); }
|
||||
bool isUndefined(bool SetUsed = true) const { return !isDefined(SetUsed); }
|
||||
|
||||
/// isAbsolute - Check if this is an absolute symbol.
|
||||
bool isAbsolute() const { return getSectionPtr() == AbsolutePseudoSection; }
|
||||
bool isAbsolute(bool SetUsed = true) const {
|
||||
return getSectionPtr(SetUsed) == AbsolutePseudoSection;
|
||||
}
|
||||
|
||||
/// Get the section associated with a defined, non-absolute symbol.
|
||||
MCSection &getSection() const {
|
||||
assert(isInSection() && "Invalid accessor!");
|
||||
return *getSectionPtr();
|
||||
MCSection &getSection(bool SetUsed = true) const {
|
||||
assert(isInSection(SetUsed) && "Invalid accessor!");
|
||||
return *getSectionPtr(SetUsed);
|
||||
}
|
||||
|
||||
/// Mark the symbol as defined in the section \p S.
|
||||
@ -295,10 +301,10 @@ public:
|
||||
return SymbolContents == SymContentsVariable;
|
||||
}
|
||||
|
||||
/// getVariableValue() - Get the value for variable symbols.
|
||||
const MCExpr *getVariableValue() const {
|
||||
/// getVariableValue - Get the value for variable symbols.
|
||||
const MCExpr *getVariableValue(bool SetUsed = true) const {
|
||||
assert(isVariable() && "Invalid accessor!");
|
||||
IsUsed = true;
|
||||
IsUsed |= SetUsed;
|
||||
return Value;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user