LLVM
8.0.1
|
Contains the AVR backend. More...
Namespaces | |
fixups | |
Enumerations | |
enum | AddressSpace { DataMemory, ProgramMemory } |
An integer that identifies all of the supported AVR address spaces. More... | |
enum | Fixups { fixup_32 = FirstTargetFixupKind, fixup_7_pcrel, fixup_13_pcrel, fixup_16, fixup_16_pm, fixup_ldi, fixup_lo8_ldi, fixup_hi8_ldi, fixup_hh8_ldi, fixup_ms8_ldi, fixup_lo8_ldi_neg, fixup_hi8_ldi_neg, fixup_hh8_ldi_neg, fixup_ms8_ldi_neg, fixup_lo8_ldi_pm, fixup_hi8_ldi_pm, fixup_hh8_ldi_pm, fixup_lo8_ldi_pm_neg, fixup_hi8_ldi_pm_neg, fixup_hh8_ldi_pm_neg, fixup_call, fixup_6, fixup_6_adiw, fixup_lo8_ldi_gs, fixup_hi8_ldi_gs, fixup_8, fixup_8_lo8, fixup_8_hi8, fixup_8_hlo8, fixup_diff8, fixup_diff16, fixup_diff32, fixup_lds_sts_16, fixup_port6, fixup_port5, LastTargetFixupKind, NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind } |
The set of supported fixups. More... | |
Functions | |
template<typename T > | |
bool | isProgramMemoryAddress (T *V) |
Checks if a given type is a pointer to program memory. More... | |
bool | isProgramMemoryAccess (MemSDNode const *N) |
Contains the AVR backend.
enum llvm::AVR::Fixups |
The set of supported fixups.
Although most of the current fixup types reflect a unique relocation one can have multiple fixup types for a given relocation and thus need to be uniquely named.
AVRAsmBackend.cpp
. Enumerator | |
---|---|
fixup_32 | A 32-bit AVR fixup. |
fixup_7_pcrel | A 7-bit PC-relative fixup for the family of conditional branches which take 7-bit targets (BRNE,BRGT,etc). |
fixup_13_pcrel | A 12-bit PC-relative fixup for the family of branches which take 12-bit targets (RJMP,RCALL,etc).
|
fixup_16 | A 16-bit address. |
fixup_16_pm | A 16-bit program memory address. |
fixup_ldi | Replaces the 8-bit immediate with another value. |
fixup_lo8_ldi | Replaces the immediate operand of a 16-bit |
fixup_hi8_ldi | Replaces the immediate operand of a 16-bit |
fixup_hh8_ldi | Replaces the immediate operand of a 16-bit |
fixup_ms8_ldi | Replaces the immediate operand of a 16-bit |
fixup_lo8_ldi_neg | Replaces the immediate operand of a 16-bit |
fixup_hi8_ldi_neg | Replaces the immediate operand of a 16-bit |
fixup_hh8_ldi_neg | Replaces the immediate operand of a 16-bit |
fixup_ms8_ldi_neg | Replaces the immediate operand of a 16-bit |
fixup_lo8_ldi_pm | Replaces the immediate operand of a 16-bit |
fixup_hi8_ldi_pm | Replaces the immediate operand of a 16-bit |
fixup_hh8_ldi_pm | Replaces the immediate operand of a 16-bit |
fixup_lo8_ldi_pm_neg | Replaces the immediate operand of a 16-bit |
fixup_hi8_ldi_pm_neg | Replaces the immediate operand of a 16-bit |
fixup_hh8_ldi_pm_neg | Replaces the immediate operand of a 16-bit |
fixup_call | A 22-bit fixup for the target of a |
fixup_6 | |
fixup_6_adiw | A symbol+addr fixup for the `LDD <x>+<n>, <r>" family of instructions. |
fixup_lo8_ldi_gs | |
fixup_hi8_ldi_gs | |
fixup_8 | |
fixup_8_lo8 | |
fixup_8_hi8 | |
fixup_8_hlo8 | |
fixup_diff8 | |
fixup_diff16 | |
fixup_diff32 | |
fixup_lds_sts_16 | |
fixup_port6 | A 6-bit port address. |
fixup_port5 | A 5-bit port address. |
LastTargetFixupKind | |
NumTargetFixupKinds |
Definition at line 27 of file AVRFixupKinds.h.
Definition at line 48 of file AVR.h.
References llvm::MemSDNode::getMemOperand(), llvm::MachineMemOperand::getValue(), and isProgramMemoryAddress().
Referenced by llvm::AVRDAGToDAGISel::select< ISD::LOAD >(), llvm::AVRTargetLowering::getPostIndexedAddressParts(), and llvm::AVRTargetLowering::getPreIndexedAddressParts().
Checks if a given type is a pointer to program memory.
Definition at line 44 of file AVR.h.
References ProgramMemory.
Referenced by isProgramMemoryAccess(), and llvm::AVRTargetObjectFile::SelectSectionForGlobal().