LLVM: lib/ExecutionEngine/JITLink/loongarch.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

14

15#define DEBUG_TYPE "jitlink"

16

17namespace llvm {

18namespace jitlink {

19namespace loongarch {

20

22 0x00, 0x00, 0x00, 0x00};

23

25 0x14, 0x00, 0x00, 0x1a,

26 0x94, 0x02, 0xc0, 0x28,

27 0x80, 0x02, 0x00, 0x4c

28};

29

31 0x14, 0x00, 0x00, 0x1a,

32 0x94, 0x02, 0x80, 0x28,

33 0x80, 0x02, 0x00, 0x4c

34};

35

37#define KIND_NAME_CASE(K) \

38 case K: \

39 return #K;

40

41 switch (K) {

68 default:

70 }

71#undef KIND_NAME_CASE

72}

73

74}

75}

76}

#define KIND_NAME_CASE(K)

LLVM_ABI const char * getEdgeKindName(Edge::Kind K)

Returns a string name for the given loongarch edge.

Definition loongarch.cpp:36

@ Branch16PCRel

A 16-bit PC-relative branch.

@ Add16

16 bits label addition

@ AddUleb128

ULEB128 bits label addition.

@ RequestGOTAndTransformToPage20

A GOT entry getter/constructor, transformed to Page20 pointing at the GOT entry for the original targ...

@ Sub16

16 bits label subtraction

@ NegDelta32

A 32-bit negative delta.

@ SubUleb128

ULEB128 bits label subtraction.

@ Sub8

8 bits label subtraction

@ PageOffset12

The 12-bit offset of the target within its page.

@ Sub32

32 bits label subtraction

@ Add64

64 bits label addition

@ Sub6

low 6 bits label subtraction

@ Add8

8 bits label addition

@ Page20

The signed 20-bit delta from the fixup page to the page containing the target.

@ Pointer64

A plain 64-bit pointer value relocation.

@ RequestGOTAndTransformToPageOffset12

A GOT entry getter/constructor, transformed to Pageoffset12 pointing at the GOT entry for the origina...

@ Call36PCRel

A 36-bit PC-relative call.

@ Add6

low 6 bits label addition

@ Branch21PCRel

A 21-bit PC-relative branch.

@ Branch26PCRel

A 26-bit PC-relative branch.

@ Add32

32 bits label addition

@ Pointer32

A plain 32-bit pointer value relocation.

@ AlignRelaxable

Alignment requirement used by linker relaxation.

@ Sub64

64 bits label subtraction

LLVM_ABI const uint8_t LA32StubContent[StubEntrySize]

Definition loongarch.cpp:30

LLVM_ABI const uint8_t LA64StubContent[StubEntrySize]

Definition loongarch.cpp:24

LLVM_ABI const char NullPointerContent[8]

loongarch null pointer content.

Definition loongarch.cpp:21

constexpr size_t StubEntrySize

loongarch stub content.

LLVM_ABI const char * getGenericEdgeKindName(Edge::Kind K)

Returns the string name of the given generic edge kind, or "unknown" otherwise.

This is an optimization pass for GlobalISel generic memory operations.