OSDN Git Service

Make sub-registers index names case sensitive in the MIRParser
authorMarkus Lavin <markus.lavin@ericsson.com>
Thu, 9 May 2019 08:29:04 +0000 (08:29 +0000)
committerMarkus Lavin <markus.lavin@ericsson.com>
Thu, 9 May 2019 08:29:04 +0000 (08:29 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360318 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MIRParser/MIParser.cpp

index d414b6a..92b238f 100644 (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) {