Fix SRet for thiscall in i686-pc-win32
[oota-llvm.git] / lib / Target / Mips / MipsRelocations.h
index 0df21be3f134a1ed3e521c501ff8f2fa6277fe73..0787ed399d5f39d5eaece288425707e6e8547e56 100644 (file)
@@ -1,16 +1,16 @@
-//===- MipsRelocations.h - Mips Code Relocations ---------------*- C++ -*-===//
+//===-- MipsRelocations.h - Mips Code Relocations ---------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 // This file is distributed under the University of Illinois Open Source
 // License. See LICENSE.TXT for details.
 //
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
 //
 // This file defines the Mips target-specific relocation types
 // (for relocation-model=static).
 //
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
 
 #ifndef MIPSRELOCATIONS_H_
 #define MIPSRELOCATIONS_H_
 namespace llvm {
   namespace Mips{
     enum RelocationType {
-      reloc_mips_pcrel = 1,
-      reloc_mips_hi = 3,
-      reloc_mips_lo = 4,
-      reloc_mips_j_jal = 5
+      // reloc_mips_pc16 - pc relative relocation for branches. The lower 18
+      // bits of the difference between the branch target and the branch
+      // instruction, shifted right by 2.
+      reloc_mips_pc16 = 1,
+
+      // reloc_mips_hi - upper 16 bits of the address (modified by +1 if the
+      // lower 16 bits of the address is negative).
+      reloc_mips_hi = 2,
+
+      // reloc_mips_lo - lower 16 bits of the address.
+      reloc_mips_lo = 3,
+
+      // reloc_mips_26 - lower 28 bits of the address, shifted right by 2.
+      reloc_mips_26 = 4
     };
   }
 }
 
 #endif /* MIPSRELOCATIONS_H_ */
-