LLVM API Documentation

X86Relocations.h

Go to the documentation of this file.
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