LLVM API Documentation
00001 //===- X86Relocations.h - X86 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 X86 target-specific relocation types. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef X86RELOCATIONS_H 00015 #define X86RELOCATIONS_H 00016 00017 #include "llvm/CodeGen/MachineRelocation.h" 00018 00019 namespace llvm { 00020 namespace X86 { 00021 /// RelocationType - An enum for the x86 relocation codes. Note that 00022 /// the terminology here doesn't follow x86 convention - word means 00023 /// 32-bit and dword means 64-bit. 00024 enum RelocationType { 00025 // reloc_pcrel_word - PC relative relocation, add the relocated value to 00026 // the value already in memory, after we adjust it for where the PC is. 00027 reloc_pcrel_word = 0, 00028 00029 // reloc_picrel_word - PIC base relative relocation, add the relocated 00030 // value to the value already in memory, after we adjust it for where the 00031 // PIC base is. 00032 reloc_picrel_word = 1, 00033 00034 // reloc_absolute_word, reloc_absolute_dword - Absolute relocation, just 00035 // add the relocated value to the value already in memory. 00036 reloc_absolute_word = 2, 00037 reloc_absolute_dword = 3 00038 }; 00039 } 00040 } 00041 00042 #endif