Add HIGHER and HIGHEST relocations to Mips backend.
authorAkira Hatanaka <ahatanaka@mips.com>
Sat, 21 Jul 2012 03:09:04 +0000 (03:09 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Sat, 21 Jul 2012 03:09:04 +0000 (03:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160599 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
lib/Target/Mips/MipsMCInstLower.cpp

index 227fd387f2c8db63e5ef95d8edc36ce9fd53d401..b38463de4bfe2afa425fc907f343ba77615ac35b 100644 (file)
@@ -126,6 +126,8 @@ static void printExpr(const MCExpr *Expr, raw_ostream &OS) {
   case MCSymbolRefExpr::VK_Mips_GOT_DISP:  OS << "%got_disp("; break;
   case MCSymbolRefExpr::VK_Mips_GOT_PAGE:  OS << "%got_page("; break;
   case MCSymbolRefExpr::VK_Mips_GOT_OFST:  OS << "%got_ofst("; break;
+  case MCSymbolRefExpr::VK_Mips_HIGHER:    OS << "%higher("; break;
+  case MCSymbolRefExpr::VK_Mips_HIGHEST:   OS << "%highest("; break;
   }
 
   OS << SRE->getSymbol();
index fb1c5ce6b6c6fabe572a2dcaf462faf8b47d5eb6..f7aedd02068fda09313e587893de17597c346822 100644 (file)
@@ -79,7 +79,10 @@ namespace MipsII {
     MO_GPOFF_LO,
     MO_GOT_DISP,
     MO_GOT_PAGE,
-    MO_GOT_OFST
+    MO_GOT_OFST,
+
+    MO_HIGHER,
+    MO_HIGHEST
   };
 
   enum {
index c49d5308a5b0db2a369a67fc34a58a053c0b4b2b..d4c5e6dd74cf07bf669303004e40dec4424d2ef1 100644 (file)
@@ -61,6 +61,8 @@ MCOperand MipsMCInstLower::LowerSymbolOperand(const MachineOperand &MO,
   case MipsII::MO_GOT_DISP:  Kind = MCSymbolRefExpr::VK_Mips_GOT_DISP; break;
   case MipsII::MO_GOT_PAGE:  Kind = MCSymbolRefExpr::VK_Mips_GOT_PAGE; break;
   case MipsII::MO_GOT_OFST:  Kind = MCSymbolRefExpr::VK_Mips_GOT_OFST; break;
+  case MipsII::MO_HIGHER:    Kind = MCSymbolRefExpr::VK_Mips_HIGHER; break;
+  case MipsII::MO_HIGHEST:   Kind = MCSymbolRefExpr::VK_Mips_HIGHEST; break;
   }
 
   switch (MOTy) {