brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · aa4ba14 Raw
58 lines · c
1//===-- CSKYMCAsmInfo.h - CSKY Asm Info ------------------------*- C++ -*--===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file contains the declaration of the CSKYMCAsmInfo class.10//11//===----------------------------------------------------------------------===//12 13#ifndef LLVM_LIB_TARGET_CSKY_MCTARGETDESC_CSKYMCASMINFO_H14#define LLVM_LIB_TARGET_CSKY_MCTARGETDESC_CSKYMCASMINFO_H15 16#include "llvm/MC/MCAsmInfoELF.h"17#include "llvm/MC/MCExpr.h"18#include "llvm/MC/MCValue.h"19 20namespace llvm {21class Triple;22 23class CSKYMCAsmInfo : public MCAsmInfoELF {24  void anchor() override;25 26public:27  explicit CSKYMCAsmInfo(const Triple &TargetTriple);28  void printSpecifierExpr(raw_ostream &OS,29                          const MCSpecifierExpr &Expr) const override;30};31 32namespace CSKY {33using Specifier = uint8_t;34enum {35  S_None,36  S_ADDR,37  S_ADDR_HI16,38  S_ADDR_LO16,39  S_PCREL,40  S_GOT,41  S_GOT_IMM18_BY4,42  S_GOTPC,43  S_GOTOFF,44  S_PLT,45  S_PLT_IMM18_BY4,46  S_TLSIE,47  S_TLSLE,48  S_TLSGD,49  S_TLSLDO,50  S_TLSLDM,51  S_TPOFF,52  S_Invalid53};54} // namespace CSKY55} // namespace llvm56 57#endif // LLVM_LIB_TARGET_CSKY_MCTARGETDESC_CSKYMCASMINFO_H58