LLVM API Documentation
00001 //===-- SparcRelocations.h - Sparc Code Relocations -------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file defines the Sparc target-specific relocation types 00011 // (for relocation-model=static). 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_LIB_TARGET_SPARC_SPARCRELOCATIONS_H 00016 #define LLVM_LIB_TARGET_SPARC_SPARCRELOCATIONS_H 00017 00018 #include "llvm/CodeGen/MachineRelocation.h" 00019 00020 namespace llvm { 00021 namespace SP { 00022 enum RelocationType { 00023 // reloc_sparc_hi - upper 22 bits 00024 reloc_sparc_hi = 1, 00025 00026 // reloc_sparc_lo - lower 10 bits 00027 reloc_sparc_lo = 2, 00028 00029 // reloc_sparc_pc30 - pc rel. 30 bits for call 00030 reloc_sparc_pc30 = 3, 00031 00032 // reloc_sparc_pc22 - pc rel. 22 bits for branch 00033 reloc_sparc_pc22 = 4, 00034 00035 // reloc_sparc_pc22 - pc rel. 19 bits for branch with icc/xcc 00036 reloc_sparc_pc19 = 5, 00037 00038 // reloc_sparc_h44 - 43-22 bits 00039 reloc_sparc_h44 = 6, 00040 00041 // reloc_sparc_m44 - 21-12 bits 00042 reloc_sparc_m44 = 7, 00043 00044 // reloc_sparc_l44 - lower 12 bits 00045 reloc_sparc_l44 = 8, 00046 00047 // reloc_sparc_hh - 63-42 bits 00048 reloc_sparc_hh = 9, 00049 00050 // reloc_sparc_hm - 41-32 bits 00051 reloc_sparc_hm = 10 00052 }; 00053 } 00054 } 00055 00056 #endif