Small improvement to the recursion detection logic from the previous commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149175 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp
index 8acdf38..c5a483c 100644
--- a/lib/MC/MCParser/AsmParser.cpp
+++ b/lib/MC/MCParser/AsmParser.cpp
@@ -1565,7 +1565,9 @@
     return false;
   case MCExpr::SymbolRef: {
     const MCSymbol &S = static_cast<const MCSymbolRefExpr*>(Value)->getSymbol();
-    return &S.AliasedSymbol() == Sym;
+    if (S.isVariable())
+      return IsUsedIn(Sym, S.getVariableValue());
+    return &S == Sym;
   }
   case MCExpr::Unary:
     return IsUsedIn(Sym, static_cast<const MCUnaryExpr*>(Value)->getSubExpr());