mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
MC: Split MCFixupKindInfo out into its own header.
llvm-svn: 121948
This commit is contained in:
parent
fc4b79c9e8
commit
b5ea5a74f9
@ -11,6 +11,7 @@
|
|||||||
#define LLVM_MC_MCCODEEMITTER_H
|
#define LLVM_MC_MCCODEEMITTER_H
|
||||||
|
|
||||||
#include "llvm/MC/MCFixup.h"
|
#include "llvm/MC/MCFixup.h"
|
||||||
|
#include "llvm/MC/MCFixupKindInfo.h"
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
@ -20,32 +21,6 @@ class MCInst;
|
|||||||
class raw_ostream;
|
class raw_ostream;
|
||||||
template<typename T> class SmallVectorImpl;
|
template<typename T> class SmallVectorImpl;
|
||||||
|
|
||||||
/// MCFixupKindInfo - Target independent information on a fixup kind.
|
|
||||||
struct MCFixupKindInfo {
|
|
||||||
enum FixupKindFlags {
|
|
||||||
/// Is this fixup kind PCrelative? This is used by the assembler backend to
|
|
||||||
/// evaluate fixup values in a target independent manner when possible.
|
|
||||||
FKF_IsPCRel = (1 << 0),
|
|
||||||
|
|
||||||
/// Should this fixup kind force a 4-byte aligned effective PC value?
|
|
||||||
FKF_IsAlignedDownTo32Bits = (1 << 1)
|
|
||||||
};
|
|
||||||
|
|
||||||
/// A target specific name for the fixup kind. The names will be unique for
|
|
||||||
/// distinct kinds on any given target.
|
|
||||||
const char *Name;
|
|
||||||
|
|
||||||
/// The bit offset to write the relocation into.
|
|
||||||
unsigned TargetOffset;
|
|
||||||
|
|
||||||
/// The number of bits written by this fixup. The bits are assumed to be
|
|
||||||
/// contiguous.
|
|
||||||
unsigned TargetSize;
|
|
||||||
|
|
||||||
/// Flags describing additional information on this fixup kind.
|
|
||||||
unsigned Flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
/// MCCodeEmitter - Generic instruction encoding interface.
|
/// MCCodeEmitter - Generic instruction encoding interface.
|
||||||
class MCCodeEmitter {
|
class MCCodeEmitter {
|
||||||
private:
|
private:
|
||||||
|
43
include/llvm/MC/MCFixupKindInfo.h
Normal file
43
include/llvm/MC/MCFixupKindInfo.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
//===-- llvm/MC/MCFixupKindInfo.h - Fixup Descriptors -----------*- C++ -*-===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#ifndef LLVM_MC_MCFIXUPKINDINFO_H
|
||||||
|
#define LLVM_MC_MCFIXUPKINDINFO_H
|
||||||
|
|
||||||
|
namespace llvm {
|
||||||
|
|
||||||
|
/// MCFixupKindInfo - Target independent information on a fixup kind.
|
||||||
|
struct MCFixupKindInfo {
|
||||||
|
enum FixupKindFlags {
|
||||||
|
/// Is this fixup kind PCrelative? This is used by the assembler backend to
|
||||||
|
/// evaluate fixup values in a target independent manner when possible.
|
||||||
|
FKF_IsPCRel = (1 << 0),
|
||||||
|
|
||||||
|
/// Should this fixup kind force a 4-byte aligned effective PC value?
|
||||||
|
FKF_IsAlignedDownTo32Bits = (1 << 1)
|
||||||
|
};
|
||||||
|
|
||||||
|
/// A target specific name for the fixup kind. The names will be unique for
|
||||||
|
/// distinct kinds on any given target.
|
||||||
|
const char *Name;
|
||||||
|
|
||||||
|
/// The bit offset to write the relocation into.
|
||||||
|
unsigned TargetOffset;
|
||||||
|
|
||||||
|
/// The number of bits written by this fixup. The bits are assumed to be
|
||||||
|
/// contiguous.
|
||||||
|
unsigned TargetSize;
|
||||||
|
|
||||||
|
/// Flags describing additional information on this fixup kind.
|
||||||
|
unsigned Flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // End llvm namespace
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user