|
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().
1.8.13