LLVM 20.0.0git
Namespaces | Macros | Functions
AVRAsmBackend.cpp File Reference
#include "MCTargetDesc/AVRAsmBackend.h"
#include "MCTargetDesc/AVRFixupKinds.h"
#include "MCTargetDesc/AVRMCTargetDesc.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCELFObjectWriter.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCFixupKindInfo.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCValue.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/BinaryFormat/ELFRelocs/AVR.def"

Go to the source code of this file.

Namespaces

namespace  adjust
 
namespace  adjust::ldi
 Fixups relating to the LDI instruction.
 
namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define ELF_RELOC(X, Y)   .Case(#X, Y)
 

Functions

static void adjust::signed_width (unsigned Width, uint64_t Value, std::string Description, const MCFixup &Fixup, MCContext *Ctx=nullptr)
 
static void adjust::unsigned_width (unsigned Width, uint64_t Value, std::string Description, const MCFixup &Fixup, MCContext *Ctx=nullptr)
 
static void adjust::adjustBranch (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 Adjusts the value of a branch target before fixup application.
 
static void adjust::adjustRelativeBranch (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 Adjusts the value of a relative branch target before fixup application.
 
static void adjust::fixup_call (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 22-bit absolute fixup.
 
static void adjust::fixup_7_pcrel (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 7-bit PC-relative fixup.
 
static void adjust::fixup_13_pcrel (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 12-bit PC-relative fixup.
 
static void adjust::fixup_6 (const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 6-bit fixup for the immediate operand of the STD/LDD family of instructions.
 
static void adjust::fixup_6_adiw (const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 6-bit fixup for the immediate operand of the ADIW family of instructions.
 
static void adjust::fixup_port5 (const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 5-bit port number fixup on the SBIC family of instructions.
 
static void adjust::fixup_port6 (const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 6-bit port number fixup on the IN family of instructions.
 
static void adjust::fixup_lds_sts_16 (const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 7-bit data space address fixup for the LDS/STS instructions on AVRTiny.
 
static void adjust::pm (uint64_t &Value)
 Adjusts a program memory address.
 
static void adjust::ldi::fixup (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 Adjusts a value to fix up the immediate of an LDI Rd, K instruction.
 
static void adjust::ldi::neg (uint64_t &Value)
 
static void adjust::ldi::lo8 (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 
static void adjust::ldi::hi8 (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 
static void adjust::ldi::hh8 (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 
static void adjust::ldi::ms8 (unsigned Size, const MCFixup &Fixup, uint64_t &Value, MCContext *Ctx=nullptr)
 
MCAsmBackend * llvm::createAVRAsmBackend (const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const llvm::MCTargetOptions &TO)
 Creates an assembly backend for AVR.
 

Macro Definition Documentation

◆ ELF_RELOC

#define ELF_RELOC (   X,
  Y 
)    .Case(#X, Y)