/// register. If the register is a member of multiple register classes which
/// have different associated types, return MVT::Other.
static MVT::SimpleValueType getRegisterValueType(Record *R, const CodeGenTarget &T) {
/// register. If the register is a member of multiple register classes which
/// have different associated types, return MVT::Other.
static MVT::SimpleValueType getRegisterValueType(Record *R, const CodeGenTarget &T) {
MVT::SimpleValueType VT = MVT::Other;
const std::vector<CodeGenRegisterClass> &RCs = T.getRegisterClasses();
std::vector<CodeGenRegisterClass>::const_iterator RC;
MVT::SimpleValueType VT = MVT::Other;
const std::vector<CodeGenRegisterClass> &RCs = T.getRegisterClasses();
std::vector<CodeGenRegisterClass>::const_iterator RC;
Element = find((*RC).Elements.begin(), (*RC).Elements.end(), R);
if (Element != (*RC).Elements.end()) {
if (!FoundRC) {
Element = find((*RC).Elements.begin(), (*RC).Elements.end(), R);
if (Element != (*RC).Elements.end()) {
if (!FoundRC) {
VT = (*RC).getValueTypeNum(0);
} else {
// In multiple RC's
VT = (*RC).getValueTypeNum(0);
} else {
// In multiple RC's