diff options
author | Fangrui Song <i@maskray.me> | 2025-06-08 00:02:26 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2025-06-08 00:02:27 -0700 |
commit | ce270b495d32710f6e4c42b5c7f6678b1f01db60 (patch) | |
tree | 94ed17226c3c96769b3340b41f625efb0dab7ade /llvm/lib/MC/MCExpr.cpp | |
parent | 239c8ac2680fd579a09e27eb2c89ba71ae1fce36 (diff) | |
download | llvm-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.cpp | 32 |
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, |