LLVM  14.0.0git
Enumerations | Functions
llvm::jitlink::riscv Namespace Reference

Enumerations

enum  EdgeKind_riscv : Edge::Kind {
  R_RISCV_32 = Edge::FirstRelocation, R_RISCV_64, R_RISCV_HI20, R_RISCV_LO12_I,
  R_RISCV_PCREL_HI20, R_RISCV_PCREL_LO12_I, R_RISCV_PCREL_LO12_S, R_RISCV_CALL,
  R_RISCV_GOT_HI20, R_RISCV_CALL_PLT
}
 Represets riscv fixups. More...
 

Functions

const char * getEdgeKindName (Edge::Kind K)
 Returns a string name for the given riscv edge. More...
 

Enumeration Type Documentation

◆ EdgeKind_riscv

Represets riscv fixups.

Enumerator
R_RISCV_32 

A plain 32-bit pointer value relocation.

Fixup expression: Fixup <= Target + Addend : uint32

R_RISCV_64 

A plain 64-bit pointer value relocation.

Fixup expression: Fixup <- Target + Addend : uint32

R_RISCV_HI20 

High 20 bits of 32-bit pointer value relocation.

Fixup expression Fixup <- (Target + Addend + 0x800) >> 12

R_RISCV_LO12_I 

Low 12 bits of 32-bit pointer value relocation.

Fixup expression Fixup <- (Target + Addend) & 0xFFF

R_RISCV_PCREL_HI20 

High 20 bits of PC relative relocation.

Fixup expression: Fixup <- (Target - Fixup + Addend + 0x800) >> 12

R_RISCV_PCREL_LO12_I 

Low 12 bits of PC relative relocation, used by I type instruction format.

Fixup expression: Fixup <- (Target - Fixup + Addend) & 0xFFF

R_RISCV_PCREL_LO12_S 

Low 12 bits of PC relative relocation, used by S type instruction format.

Fixup expression: Fixup <- (Target - Fixup + Addend) & 0xFFF

R_RISCV_CALL 

PC relative call.

Fixup expression: Fixup <- (Target - Fixup + Addend)

R_RISCV_GOT_HI20 

PC relative GOT offset.

Fixup expression: Fixup <- (GOT - Fixup + Addend) >> 12

R_RISCV_CALL_PLT 

PC relative call by PLT.

Fixup expression: Fixup <- (Target - Fixup + Addend)

Definition at line 23 of file riscv.h.

Function Documentation

◆ getEdgeKindName()

const char * llvm::jitlink::riscv::getEdgeKindName ( Edge::Kind  K)

Returns a string name for the given riscv edge.

For debugging purposes only

Definition at line 21 of file riscv.cpp.

References llvm::jitlink::getGenericEdgeKindName(), R_RISCV_32, R_RISCV_64, R_RISCV_CALL, R_RISCV_HI20, R_RISCV_LO12_I, R_RISCV_PCREL_HI20, R_RISCV_PCREL_LO12_I, and R_RISCV_PCREL_LO12_S.