[llvm] 0004c37 - [llvm-ml] Restore VK_WEAKREF special case to fix alias.asm

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sun May 25 21:33:14 PDT 2025


Author: Fangrui Song
Date: 2025-05-25T21:33:09-07:00
New Revision: 0004c37c1cd55c461bbf24b83165d11f49be1397

URL: https://github.com/llvm/llvm-project/commit/0004c37c1cd55c461bbf24b83165d11f49be1397
DIFF: https://github.com/llvm/llvm-project/commit/0004c37c1cd55c461bbf24b83165d11f49be1397.diff

LOG: [llvm-ml] Restore VK_WEAKREF special case to fix alias.asm

Added: 
    

Modified: 
    llvm/lib/MC/MCExpr.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp
index e0948de387077..2efcfbc21fdaa 100644
--- a/llvm/lib/MC/MCExpr.cpp
+++ b/llvm/lib/MC/MCExpr.cpp
@@ -478,7 +478,13 @@ static bool canExpand(const MCSymbol &Sym, bool InSet) {
   if (Sym.isWeakExternal())
     return false;
 
-  Sym.getVariableValue(true);
+  const MCExpr *Expr = Sym.getVariableValue(true);
+  // Special case for llvm-ml alias
+  const auto *Inner = dyn_cast<MCSymbolRefExpr>(Expr);
+  if (Inner) {
+    if (Inner->getKind() == MCSymbolRefExpr::VK_WEAKREF)
+      return false;
+  }
 
   if (InSet)
     return true;


        


More information about the llvm-commits mailing list