Track defs for all aliases in NEONMoveFix.
This means that an instruction defining an S register will affect the domain of
the parent D register.
llvm-svn: 107725
diff --git a/llvm/lib/Target/ARM/NEONMoveFix.cpp b/llvm/lib/Target/ARM/NEONMoveFix.cpp
index 0a4400c..bbdd3c7 100644
--- a/llvm/lib/Target/ARM/NEONMoveFix.cpp
+++ b/llvm/lib/Target/ARM/NEONMoveFix.cpp
@@ -105,8 +105,8 @@
unsigned MOReg = MO.getReg();
Defs[MOReg] = MI;
- // Catch subregs as well.
- for (const unsigned *R = TRI->getSubRegisters(MOReg); *R; ++R)
+ // Catch aliases as well.
+ for (const unsigned *R = TRI->getAliasSet(MOReg); *R; ++R)
Defs[*R] = MI;
}
}