| //===------ riscv.cpp - Generic JITLink riscv edge kinds, utilities -------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // Generic utilities for graphs representing riscv objects. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "llvm/ExecutionEngine/JITLink/riscv.h" | |
| #define DEBUG_TYPE "jitlink" | |
| namespace llvm { | |
| namespace jitlink { | |
| namespace riscv { | |
| const char *getEdgeKindName(Edge::Kind K) { | |
| switch (K) { | |
| case R_RISCV_32: | |
| return "R_RISCV_32"; | |
| case R_RISCV_64: | |
| return "R_RISCV_64"; | |
| case R_RISCV_BRANCH: | |
| return "R_RISCV_BRANCH"; | |
| case R_RISCV_JAL: | |
| return "R_RISCV_JAL"; | |
| case R_RISCV_CALL: | |
| return "R_RISCV_CALL"; | |
| case R_RISCV_CALL_PLT: | |
| return "R_RISCV_CALL_PLT"; | |
| case R_RISCV_GOT_HI20: | |
| return "R_RISCV_GOT_HI20"; | |
| case R_RISCV_PCREL_HI20: | |
| return "R_RISCV_PCREL_HI20"; | |
| case R_RISCV_PCREL_LO12_I: | |
| return "R_RISCV_PCREL_LO12_I"; | |
| case R_RISCV_PCREL_LO12_S: | |
| return "R_RISCV_PCREL_LO12_S"; | |
| case R_RISCV_HI20: | |
| return "R_RISCV_HI20"; | |
| case R_RISCV_LO12_I: | |
| return "R_RISCV_LO12_I"; | |
| case R_RISCV_LO12_S: | |
| return "R_RISCV_LO12_S"; | |
| case R_RISCV_ADD8: | |
| return "R_RISCV_ADD8"; | |
| case R_RISCV_ADD16: | |
| return "R_RISCV_ADD16"; | |
| case R_RISCV_ADD32: | |
| return "R_RISCV_ADD32"; | |
| case R_RISCV_ADD64: | |
| return "R_RISCV_ADD64"; | |
| case R_RISCV_SUB8: | |
| return "R_RISCV_SUB8"; | |
| case R_RISCV_SUB16: | |
| return "R_RISCV_SUB16"; | |
| case R_RISCV_SUB32: | |
| return "R_RISCV_SUB32"; | |
| case R_RISCV_SUB64: | |
| return "R_RISCV_SUB64"; | |
| case R_RISCV_RVC_BRANCH: | |
| return "R_RISCV_RVC_BRANCH"; | |
| case R_RISCV_RVC_JUMP: | |
| return "R_RISCV_RVC_JUMP"; | |
| case R_RISCV_SUB6: | |
| return "R_RISCV_SUB6"; | |
| case R_RISCV_SET6: | |
| return "R_RISCV_SET6"; | |
| case R_RISCV_SET8: | |
| return "R_RISCV_SET8"; | |
| case R_RISCV_SET16: | |
| return "R_RISCV_SET16"; | |
| case R_RISCV_SET32: | |
| return "R_RISCV_SET32"; | |
| case R_RISCV_32_PCREL: | |
| return "R_RISCV_32_PCREL"; | |
| } | |
| return getGenericEdgeKindName(K); | |
| } | |
| } // namespace riscv | |
| } // namespace jitlink | |
| } // namespace llvm |