blob: 1ae826aa9810992c3134556dd2ef2b74ea005b97 [file] [log] [blame]
Chris Lattner96304f82004-11-22 00:40:51 +00001//===- SparcV9Relocations.h - SparcV9 Code Relocations ----------*- C++ -*-===//
Misha Brukmanb4402432005-04-21 23:30:14 +00002//
Chris Lattner96304f82004-11-22 00:40:51 +00003// The LLVM Compiler Infrastructure
4//
5// This file was developed by the LLVM research group and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
Misha Brukmanb4402432005-04-21 23:30:14 +00007//
Chris Lattner96304f82004-11-22 00:40:51 +00008//===----------------------------------------------------------------------===//
9//
10// This file defines the SparcV9 target-specific relocation types.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef SPARCV9RELOCATIONS_H
15#define SPARCV9RELOCATIONS_H
16
17#include "llvm/CodeGen/MachineRelocation.h"
18
19namespace llvm {
20 namespace V9 {
21 enum RelocationType {
22 // reloc_pcrel_call - PC relative relocation, shifted right by two bits,
23 // inserted into a 30 bit field. This is used to relocate direct call
24 // instructions.
25 reloc_pcrel_call = 0,
26
27 // reloc_sethi_hh - Absolute relocation, for 'sethi %hh(G),reg' operation.
28 reloc_sethi_hh = 1,
29
30 // reloc_sethi_lm - Absolute relocation, for 'sethi %lm(G),reg' operation.
31 reloc_sethi_lm = 2,
32
33 // reloc_or_hm - Absolute relocation, for 'or reg,%hm(G),reg' operation.
34 reloc_or_hm = 3,
35
36 // reloc_or_lo - Absolute relocation, for 'or reg,%lo(G),reg' operation.
37 reloc_or_lo = 4,
38 };
39 }
40}
41
42#endif