mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
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
This commit is contained in:
parent
e71cc86ad1
commit
8b01c82f25
@ -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());
|
||||
|
@ -21,3 +21,7 @@ t2_s0:
|
||||
t4_s0 = t4_s1
|
||||
t4_s1 = t4_s2
|
||||
t4_s2 = t4_s0
|
||||
|
||||
// CHECK: Recursive use of 't5_s1'
|
||||
t5_s0 = t5_s1 + 1
|
||||
t5_s1 = t5_s0
|
||||
|
Loading…
Reference in New Issue
Block a user