]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/llvm/lib/Target/Sparc/SparcRelocations.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / llvm / lib / Target / Sparc / SparcRelocations.h
1 //===-- SparcRelocations.h - Sparc Code Relocations -------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines the Sparc target-specific relocation types
11 // (for relocation-model=static).
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef SPARC_RELOCATIONS_H
16 #define SPARC_RELOCATIONS_H
17
18 #include "llvm/CodeGen/MachineRelocation.h"
19
20 namespace llvm {
21   namespace SP {
22     enum RelocationType {
23       // reloc_sparc_hi - upper 22 bits
24       reloc_sparc_hi = 1,
25
26       // reloc_sparc_lo - lower 10 bits
27       reloc_sparc_lo = 2,
28
29       // reloc_sparc_pc30 - pc rel. 30 bits for call
30       reloc_sparc_pc30 = 3,
31
32      // reloc_sparc_pc22 - pc rel. 22 bits for branch
33       reloc_sparc_pc22 = 4,
34
35       // reloc_sparc_pc22 - pc rel. 19 bits for branch with icc/xcc
36       reloc_sparc_pc19 = 5,
37
38       // reloc_sparc_h44 - 43-22 bits
39       reloc_sparc_h44 = 6,
40
41       // reloc_sparc_m44 - 21-12 bits
42       reloc_sparc_m44 = 7,
43
44       // reloc_sparc_l44 - lower 12 bits
45       reloc_sparc_l44 = 8,
46
47       // reloc_sparc_hh - 63-42 bits
48       reloc_sparc_hh  = 9,
49
50       // reloc_sparc_hm - 41-32 bits
51       reloc_sparc_hm  = 10
52     };
53   }
54 }
55
56 #endif