14 #ifndef LLVM_LIB_TARGET_POWERPC_MCTARGETDESC_PPCMCTARGETDESC_H
15 #define LLVM_LIB_TARGET_POWERPC_MCTARGETDESC_PPCMCTARGETDESC_H
20 #include "llvm/Support/DataTypes.h"
30 class MCSubtargetInfo;
31 class MCTargetOptions;
35 class raw_pwrite_stream;
43 const MCRegisterInfo &
MRI,
47 const Triple &TT, StringRef CPU,
48 const MCTargetOptions &Options);
52 bool IsLittleEndian, uint8_t OSABI);
62 static inline bool isRunOfOnes(
unsigned Val,
unsigned &MB,
unsigned &ME) {
95 #define GET_REGINFO_ENUM
96 #include "PPCGenRegisterInfo.inc"
100 #define GET_INSTRINFO_ENUM
101 #include "PPCGenInstrInfo.inc"
103 #define GET_SUBTARGETINFO_ENUM
104 #include "PPCGenSubtargetInfo.inc"
MCAsmBackend * createPPCAsmBackend(const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU, const MCTargetOptions &Options)
Target & getThePPC32Target()
std::size_t countLeadingZeros(T Val, ZeroBehavior ZB=ZB_Width)
Count number of 0's from the most significant bit to the least stopping at the first 1...
MCObjectWriter * createPPCELFObjectWriter(raw_pwrite_stream &OS, bool Is64Bit, bool IsLittleEndian, uint8_t OSABI)
Construct an PPC ELF object writer.
Target & getThePPC64Target()
unsigned const MachineRegisterInfo * MRI
MCObjectWriter * createPPCMachObjectWriter(raw_pwrite_stream &OS, bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype)
Construct a PPC Mach-O object writer.
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn...
static const char * Target
Target & getThePPC64LETarget()
static bool isRunOfOnes(unsigned Val, unsigned &MB, unsigned &ME)
Returns true iff Val consists of one contiguous run of 1s with any number of 0s on either side...
constexpr bool isShiftedMask_32(uint32_t Value)
isShiftedMask_32 - This function returns true if the argument contains a non-empty sequence of ones w...
MCCodeEmitter * createPPCMCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx)