LLVM 17.0.0git
Public Member Functions | List of all members
llvm::AVRSubtarget Class Reference

A specific AVR target MCU. More...

#include "Target/AVR/AVRSubtarget.h"

Inheritance diagram for llvm::AVRSubtarget:
Inheritance graph
[legend]

Public Member Functions

 AVRSubtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const AVRTargetMachine &TM)
 Creates an AVR subtarget.
 
const AVRInstrInfogetInstrInfo () const override
 
const TargetFrameLoweringgetFrameLowering () const override
 
const AVRTargetLoweringgetTargetLowering () const override
 
const AVRSelectionDAGInfogetSelectionDAGInfo () const override
 
const AVRRegisterInfogetRegisterInfo () const override
 
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
 Parses a subtarget feature string, setting appropriate options.
 
AVRSubtargetinitializeSubtargetDependencies (StringRef CPU, StringRef FS, const TargetMachine &TM)
 
bool hasSRAM () const
 
bool hasJMPCALL () const
 
bool hasIJMPCALL () const
 
bool hasEIJMPCALL () const
 
bool hasADDSUBIW () const
 
bool hasSmallStack () const
 
bool hasMOVW () const
 
bool hasLPM () const
 
bool hasLPMX () const
 
bool hasELPM () const
 
bool hasELPMX () const
 
bool hasSPM () const
 
bool hasSPMX () const
 
bool hasDES () const
 
bool supportsRMW () const
 
bool supportsMultiplication () const
 
bool hasBREAK () const
 
bool hasTinyEncoding () const
 
bool hasMemMappedGPR () const
 
bool hasLowByteFirst () const
 
uint8_t getIORegisterOffset () const
 
unsigned getELFArch () const
 Gets the ELF architecture for the e_flags field of an ELF object file.
 
int getIORegRAMPZ () const
 Get I/O register addresses.
 
int getIORegEIND () const
 
int getIORegSPL () const
 
int getIORegSPH () const
 
int getIORegSREG () const
 
int getRegTmpIndex () const
 Get GPR aliases.
 
int getRegZeroIndex () const
 
Register getTmpRegister () const
 
Register getZeroRegister () const
 

Detailed Description

A specific AVR target MCU.

Definition at line 32 of file AVRSubtarget.h.

Constructor & Destructor Documentation

◆ AVRSubtarget()

llvm::AVRSubtarget::AVRSubtarget ( const Triple TT,
const std::string &  CPU,
const std::string &  FS,
const AVRTargetMachine TM 
)

Creates an AVR subtarget.

Parameters
TTThe target triple.
CPUThe CPU to target.
FSThe feature string.
TMThe target machine.

Definition at line 30 of file AVRSubtarget.cpp.

References ParseSubtargetFeatures().

Member Function Documentation

◆ getELFArch()

unsigned llvm::AVRSubtarget::getELFArch ( ) const
inline

Gets the ELF architecture for the e_flags field of an ELF object file.

Definition at line 90 of file AVRSubtarget.h.

References assert().

◆ getFrameLowering()

const TargetFrameLowering * llvm::AVRSubtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 43 of file AVRSubtarget.h.

◆ getInstrInfo()

const AVRInstrInfo * llvm::AVRSubtarget::getInstrInfo ( ) const
inlineoverride

◆ getIORegEIND()

int llvm::AVRSubtarget::getIORegEIND ( ) const
inline

Definition at line 98 of file AVRSubtarget.h.

References hasEIJMPCALL().

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile().

◆ getIORegisterOffset()

uint8_t llvm::AVRSubtarget::getIORegisterOffset ( ) const
inline

Definition at line 86 of file AVRSubtarget.h.

References hasMemMappedGPR().

◆ getIORegRAMPZ()

int llvm::AVRSubtarget::getIORegRAMPZ ( ) const
inline

Get I/O register addresses.

Definition at line 97 of file AVRSubtarget.h.

References hasELPM().

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile().

◆ getIORegSPH()

int llvm::AVRSubtarget::getIORegSPH ( ) const
inline

Definition at line 100 of file AVRSubtarget.h.

References hasSmallStack().

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile().

◆ getIORegSPL()

int llvm::AVRSubtarget::getIORegSPL ( ) const
inline

Definition at line 99 of file AVRSubtarget.h.

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile().

◆ getIORegSREG()

int llvm::AVRSubtarget::getIORegSREG ( ) const
inline

◆ getRegisterInfo()

const AVRRegisterInfo * llvm::AVRSubtarget::getRegisterInfo ( ) const
inlineoverride

◆ getRegTmpIndex()

int llvm::AVRSubtarget::getRegTmpIndex ( ) const
inline

Get GPR aliases.

Definition at line 104 of file AVRSubtarget.h.

References hasTinyEncoding().

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile().

◆ getRegZeroIndex()

int llvm::AVRSubtarget::getRegZeroIndex ( ) const
inline

Definition at line 105 of file AVRSubtarget.h.

References hasTinyEncoding().

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile().

◆ getSelectionDAGInfo()

const AVRSelectionDAGInfo * llvm::AVRSubtarget::getSelectionDAGInfo ( ) const
inlineoverride

Definition at line 49 of file AVRSubtarget.h.

◆ getTargetLowering()

const AVRTargetLowering * llvm::AVRSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 46 of file AVRSubtarget.h.

◆ getTmpRegister()

Register llvm::AVRSubtarget::getTmpRegister ( ) const
inline

◆ getZeroRegister()

Register llvm::AVRSubtarget::getZeroRegister ( ) const
inline

◆ hasADDSUBIW()

bool llvm::AVRSubtarget::hasADDSUBIW ( ) const
inline

◆ hasBREAK()

bool llvm::AVRSubtarget::hasBREAK ( ) const
inline

Definition at line 81 of file AVRSubtarget.h.

◆ hasDES()

bool llvm::AVRSubtarget::hasDES ( ) const
inline

Definition at line 78 of file AVRSubtarget.h.

◆ hasEIJMPCALL()

bool llvm::AVRSubtarget::hasEIJMPCALL ( ) const
inline

◆ hasELPM()

bool llvm::AVRSubtarget::hasELPM ( ) const
inline

Definition at line 74 of file AVRSubtarget.h.

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile(), and getIORegRAMPZ().

◆ hasELPMX()

bool llvm::AVRSubtarget::hasELPMX ( ) const
inline

Definition at line 75 of file AVRSubtarget.h.

◆ hasIJMPCALL()

bool llvm::AVRSubtarget::hasIJMPCALL ( ) const
inline

Definition at line 67 of file AVRSubtarget.h.

◆ hasJMPCALL()

bool llvm::AVRSubtarget::hasJMPCALL ( ) const
inline

Definition at line 66 of file AVRSubtarget.h.

◆ hasLowByteFirst()

bool llvm::AVRSubtarget::hasLowByteFirst ( ) const
inline

Definition at line 84 of file AVRSubtarget.h.

Referenced by llvm::AVRTargetLowering::getPostIndexedAddressParts().

◆ hasLPM()

bool llvm::AVRSubtarget::hasLPM ( ) const
inline

Definition at line 72 of file AVRSubtarget.h.

Referenced by llvm::AVRAsmPrinter::doFinalization().

◆ hasLPMX()

bool llvm::AVRSubtarget::hasLPMX ( ) const
inline

Definition at line 73 of file AVRSubtarget.h.

◆ hasMemMappedGPR()

bool llvm::AVRSubtarget::hasMemMappedGPR ( ) const
inline

Definition at line 83 of file AVRSubtarget.h.

Referenced by getIORegisterOffset().

◆ hasMOVW()

bool llvm::AVRSubtarget::hasMOVW ( ) const
inline

◆ hasSmallStack()

bool llvm::AVRSubtarget::hasSmallStack ( ) const
inline

Definition at line 70 of file AVRSubtarget.h.

Referenced by llvm::AVRAsmPrinter::emitStartOfAsmFile(), and getIORegSPH().

◆ hasSPM()

bool llvm::AVRSubtarget::hasSPM ( ) const
inline

Definition at line 76 of file AVRSubtarget.h.

◆ hasSPMX()

bool llvm::AVRSubtarget::hasSPMX ( ) const
inline

Definition at line 77 of file AVRSubtarget.h.

◆ hasSRAM()

bool llvm::AVRSubtarget::hasSRAM ( ) const
inline

Definition at line 65 of file AVRSubtarget.h.

◆ hasTinyEncoding()

bool llvm::AVRSubtarget::hasTinyEncoding ( ) const
inline

◆ initializeSubtargetDependencies()

AVRSubtarget & llvm::AVRSubtarget::initializeSubtargetDependencies ( StringRef  CPU,
StringRef  FS,
const TargetMachine TM 
)

Definition at line 39 of file AVRSubtarget.cpp.

References ParseSubtargetFeatures().

◆ ParseSubtargetFeatures()

void llvm::AVRSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  TuneCPU,
StringRef  FS 
)

Parses a subtarget feature string, setting appropriate options.

Note
Definition of function is auto generated by tblgen.

Referenced by AVRSubtarget(), and initializeSubtargetDependencies().

◆ supportsMultiplication()

bool llvm::AVRSubtarget::supportsMultiplication ( ) const
inline

Definition at line 80 of file AVRSubtarget.h.

Referenced by llvm::AVRTargetLowering::AVRTargetLowering().

◆ supportsRMW()

bool llvm::AVRSubtarget::supportsRMW ( ) const
inline

Definition at line 79 of file AVRSubtarget.h.


The documentation for this class was generated from the following files: