aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCExpr.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2025-06-08 00:02:26 -0700
committerFangrui Song <i@maskray.me>2025-06-08 00:02:27 -0700
commitce270b495d32710f6e4c42b5c7f6678b1f01db60 (patch)
tree94ed17226c3c96769b3340b41f625efb0dab7ade /llvm/lib/MC/MCExpr.cpp
parent239c8ac2680fd579a09e27eb2c89ba71ae1fce36 (diff)
downloadllvm-ce270b495d32710f6e4c42b5c7f6678b1f01db60.zip
llvm-ce270b495d32710f6e4c42b5c7f6678b1f01db60.tar.gz
llvm-ce270b495d32710f6e4c42b5c7f6678b1f01db60.tar.bz2
MCExpr: Move isSymbolUsedInExpression workaround to AMDGPU
This function was a workaround used to detect cyclic dependency (properly resolved by 343428c666f9293ae260bbcf79130562b830b268). We do not want backends to use it. However, #112251 exposed it to MCExpr to be reused by AMDGPU. Keep the workaround within AMDGPU to prevent other backends from accidentally relying on it.
Diffstat (limited to 'llvm/lib/MC/MCExpr.cpp')
-rw-r--r--llvm/lib/MC/MCExpr.cpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp
index e4172bf..aec6987 100644
--- a/llvm/lib/MC/MCExpr.cpp
+++ b/llvm/lib/MC/MCExpr.cpp
@@ -187,38 +187,6 @@ LLVM_DUMP_METHOD void MCExpr::dump() const {
}
#endif
-bool MCExpr::isSymbolUsedInExpression(const MCSymbol *Sym) const {
- switch (getKind()) {
- case MCExpr::Binary: {
- const MCBinaryExpr *BE = static_cast<const MCBinaryExpr *>(this);
- return BE->getLHS()->isSymbolUsedInExpression(Sym) ||
- BE->getRHS()->isSymbolUsedInExpression(Sym);
- }
- case MCExpr::Target: {
- const MCTargetExpr *TE = static_cast<const MCTargetExpr *>(this);
- return TE->isSymbolUsedInExpression(Sym);
- }
- case MCExpr::Constant:
- return false;
- case MCExpr::SymbolRef: {
- const MCSymbol &S = static_cast<const MCSymbolRefExpr *>(this)->getSymbol();
- if (S.isVariable() && !S.isWeakExternal())
- return S.getVariableValue()->isSymbolUsedInExpression(Sym);
- return &S == Sym;
- }
- case MCExpr::Unary: {
- const MCExpr *SubExpr =
- static_cast<const MCUnaryExpr *>(this)->getSubExpr();
- return SubExpr->isSymbolUsedInExpression(Sym);
- }
- case MCExpr::Specifier:
- return static_cast<const MCSpecifierExpr *>(this)->isSymbolUsedInExpression(
- Sym);
- }
-
- llvm_unreachable("Unknown expr kind!");
-}
-
/* *** */
const MCBinaryExpr *MCBinaryExpr::create(Opcode Opc, const MCExpr *LHS,