Make sub-registers index names case sensitive in the MIRParser

Prior to this change sub-register index names are assumed to be lower
case (but they are printed with original casing). This means that if a
target has some upper case characters in its sub-register names then
mir-export directly followed by mir-import is not possible. This also
means that sub-register indices currently are (and will continue to be)
slightly inconsistent with register names which are printed and assumed
to be lower case.

As the current textual representation of mir has a few inconsistencies
in this area it is a bit arbitrary how to address the matter. This
change is towards the direction that we feel is most correct (i.e. case
sensitivity).

Differential Revision: https://reviews.llvm.org/D61499

llvm-svn: 360318
This commit is contained in:
Markus Lavin 2019-05-09 08:29:04 +00:00
parent c05aad0532
commit 92d5db524e
1 changed files with 1 additions and 1 deletions

View File

@ -176,7 +176,7 @@ void PerTargetMIParsingState::initNames2SubRegIndices() {
const TargetRegisterInfo *TRI = Subtarget.getRegisterInfo();
for (unsigned I = 1, E = TRI->getNumSubRegIndices(); I < E; ++I)
Names2SubRegIndices.insert(
std::make_pair(StringRef(TRI->getSubRegIndexName(I)).lower(), I));
std::make_pair(TRI->getSubRegIndexName(I), I));
}
unsigned PerTargetMIParsingState::getSubRegIndex(StringRef Name) {