diff options
| author | Vedant Kumar <vsk@apple.com> | 2015-08-25 22:06:07 +0000 |
|---|---|---|
| committer | Vedant Kumar <vsk@apple.com> | 2015-08-25 22:06:07 +0000 |
| commit | 73a7c93a0a55d5fea3c91dd5a21eb237eb7fddf0 (patch) | |
| tree | 7e09fa2adff90d180f31b6242c0ed69aad3870b3 | |
| parent | 130bd90e1732950234d3afe4e36d54507491b9a4 (diff) | |
| download | bcm5719-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.h | 30 |
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; } |

