LLVM: lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
18
19using namespace llvm;
20
21#define DEBUG_TYPE "riscvmcexpr"
22
26 .Case("hi", ELF::R_RISCV_HI20)
28 .Case("pcrel_hi", ELF::R_RISCV_PCREL_HI20)
29 .Case("got_pcrel_hi", ELF::R_RISCV_GOT_HI20)
31 .Case("tprel_hi", ELF::R_RISCV_TPREL_HI20)
32 .Case("tprel_add", ELF::R_RISCV_TPREL_ADD)
33 .Case("tls_ie_pcrel_hi", ELF::R_RISCV_TLS_GOT_HI20)
34 .Case("tls_gd_pcrel_hi", ELF::R_RISCV_TLS_GD_HI20)
35 .Case("tlsdesc_hi", ELF::R_RISCV_TLSDESC_HI20)
36 .Case("tlsdesc_load_lo", ELF::R_RISCV_TLSDESC_LOAD_LO12)
37 .Case("tlsdesc_add_lo", ELF::R_RISCV_TLSDESC_ADD_LO12)
38 .Case("tlsdesc_call", ELF::R_RISCV_TLSDESC_CALL)
40
41 .Case("pltpcrel", ELF::R_RISCV_PLT32)
42 .Case("gotpcrel", ELF::R_RISCV_GOT32_PCREL)
44}
45
47 switch (S) {
51 return "lo";
52 case ELF::R_RISCV_HI20:
53 return "hi";
55 return "pcrel_lo";
56 case ELF::R_RISCV_PCREL_HI20:
57 return "pcrel_hi";
58 case ELF::R_RISCV_GOT_HI20:
59 return "got_pcrel_hi";
61 return "tprel_lo";
62 case ELF::R_RISCV_TPREL_HI20:
63 return "tprel_hi";
64 case ELF::R_RISCV_TPREL_ADD:
65 return "tprel_add";
66 case ELF::R_RISCV_TLS_GOT_HI20:
67 return "tls_ie_pcrel_hi";
68 case ELF::R_RISCV_TLSDESC_HI20:
69 return "tlsdesc_hi";
70 case ELF::R_RISCV_TLSDESC_LOAD_LO12:
71 return "tlsdesc_load_lo";
72 case ELF::R_RISCV_TLSDESC_ADD_LO12:
73 return "tlsdesc_add_lo";
74 case ELF::R_RISCV_TLSDESC_CALL:
75 return "tlsdesc_call";
76 case ELF::R_RISCV_TLS_GD_HI20:
77 return "tls_gd_pcrel_hi";
78 case ELF::R_RISCV_CALL_PLT:
79 return "call_plt";
80 case ELF::R_RISCV_32_PCREL:
81 return "32_pcrel";
82 case ELF::R_RISCV_GOT32_PCREL:
83 return "gotpcrel";
84 case ELF::R_RISCV_PLT32:
85 return "pltpcrel";
87 return "qc.abs20";
88 }
90}
StringRef - Represent a constant reference to a string, i.e.
A switch()-like statement whose cases are string literals.
StringSwitch & Case(StringLiteral S, T Value)
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Specifier parseSpecifierName(StringRef name)
Definition RISCVMCExpr.cpp:23
StringRef getSpecifierName(Specifier Kind)
Definition RISCVMCExpr.cpp:46
This is an optimization pass for GlobalISel generic memory operations.