summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmParser.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-01-28 06:22:14 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-01-28 06:22:14 +0000
commit004725876e928b1f8ee6bd1a7c487faaa0be4ac4 (patch)
tree1c21bef63b72ffe4923eaedc08496408637045f9 /llvm/lib/MC/MCParser/AsmParser.cpp
parent72f5f170c6bd1503dfebf7200e815e0952584064 (diff)
downloadbcm5719-llvm-004725876e928b1f8ee6bd1a7c487faaa0be4ac4.tar.gz
bcm5719-llvm-004725876e928b1f8ee6bd1a7c487faaa0be4ac4.zip
Small improvement to the recursion detection logic from the previous commit.
llvm-svn: 149175
Diffstat (limited to 'llvm/lib/MC/MCParser/AsmParser.cpp')
-rw-r--r--llvm/lib/MC/MCParser/AsmParser.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 8acdf384004..c5a483c1448 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -1565,7 +1565,9 @@ static bool IsUsedIn(const MCSymbol *Sym, const MCExpr *Value) {
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());
OpenPOWER on IntegriCloud