mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-29 10:25:12 +00:00
Give CodeGenRegisterClass a real sorted member set.
Make the Elements vector private and expose an ArrayRef through getOrder() instead. getOrder will eventually provide multiple user-specified allocation orders. Use the sorted member set for member and subclass tests. Clean up a lot of ad hoc searches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133040 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -25,12 +25,12 @@ static MVT::SimpleValueType getRegisterValueType(Record *R,
|
||||
const CodeGenTarget &T) {
|
||||
bool FoundRC = false;
|
||||
MVT::SimpleValueType VT = MVT::Other;
|
||||
const CodeGenRegister *Reg = T.getRegBank().getReg(R);
|
||||
const std::vector<CodeGenRegisterClass> &RCs = T.getRegisterClasses();
|
||||
std::vector<Record*>::const_iterator Element;
|
||||
|
||||
for (unsigned rc = 0, e = RCs.size(); rc != e; ++rc) {
|
||||
const CodeGenRegisterClass &RC = RCs[rc];
|
||||
if (!std::count(RC.Elements.begin(), RC.Elements.end(), R))
|
||||
if (!RC.contains(Reg))
|
||||
continue;
|
||||
|
||||
if (!FoundRC) {
|
||||
|
Reference in New Issue
Block a user