summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2015-08-25 22:06:07 +0000
committerVedant Kumar <vsk@apple.com>2015-08-25 22:06:07 +0000
commit73a7c93a0a55d5fea3c91dd5a21eb237eb7fddf0 (patch)
tree7e09fa2adff90d180f31b6242c0ed69aad3870b3
parent130bd90e1732950234d3afe4e36d54507491b9a4 (diff)
downloadbcm5719-llvm-73a7c93a0a55d5fea3c91dd5a21eb237eb7fddf0.tar.gz
bcm5719-llvm-73a7c93a0a55d5fea3c91dd5a21eb237eb7fddf0.zip
[MC] Add a SetUsed default param to MCSymbol accessors (NFC)
Reviewed by: rafael llvm-svn: 245978
-rw-r--r--llvm/include/llvm/MC/MCSymbol.h30
1 files changed, 18 insertions, 12 deletions
diff --git a/llvm/include/llvm/MC/MCSymbol.h b/llvm/include/llvm/MC/MCSymbol.h
index b2910dfccd6..a48a09e6a75 100644
--- a/llvm/include/llvm/MC/MCSymbol.h
+++ b/llvm/include/llvm/MC/MCSymbol.h
@@ -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;
}
OpenPOWER on IntegriCloud