//===- MRegisterInfo.cpp - Target Register Information Implementation -----===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
//
// This file implements the MRegisterInfo interface.
//
#include "llvm/Target/MRegisterInfo.h"
+namespace llvm {
+
MRegisterInfo::MRegisterInfo(const MRegisterDesc *D, unsigned NR,
regclass_iterator RCB, regclass_iterator RCE,
int CFSO, int CFDO)
// Fill in the PhysRegClasses map
for (MRegisterInfo::regclass_iterator I = regclass_begin(),
E = regclass_end(); I != E; ++I)
- for (unsigned i=0; i < (*I)->getNumRegs(); ++i) {
- assert(PhysRegClasses[(*I)->getRegister(i)] == 0 &&
- "Register in more than one class?");
- PhysRegClasses[(*I)->getRegister(i)] = *I;
+ for (unsigned i = 0, e = (*I)->getNumRegs(); i != e; ++i) {
+ unsigned Reg = (*I)->getRegister(i);
+ assert(PhysRegClasses[Reg] == 0 && "Register in more than one class?");
+ PhysRegClasses[Reg] = *I;
}
CallFrameSetupOpcode = CFSO;
MRegisterInfo::~MRegisterInfo() {
delete[] PhysRegClasses;
}
+
+} // End llvm namespace