Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
//===-- LoongArchAsmBackend.h - LoongArch Assembler Backend ---*- C++ -*---===// | //===-- LoongArchAsmBackend.h - LoongArch Assembler Backend ---*- C++ -*---===// | ||||
// | // | ||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||||
// See https://llvm.org/LICENSE.txt for license information. | // See https://llvm.org/LICENSE.txt for license information. | ||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||||
// | // | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
// | // | ||||
// This file defines the LoongArchAsmBackend class. | // This file defines the LoongArchAsmBackend class. | ||||
// | // | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
#ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHASMBACKEND_H | #ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHASMBACKEND_H | ||||
#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHASMBACKEND_H | #define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHASMBACKEND_H | ||||
#include "MCTargetDesc/LoongArchBaseInfo.h" | #include "MCTargetDesc/LoongArchBaseInfo.h" | ||||
#include "MCTargetDesc/LoongArchFixupKinds.h" | |||||
#include "MCTargetDesc/LoongArchMCTargetDesc.h" | #include "MCTargetDesc/LoongArchMCTargetDesc.h" | ||||
#include "llvm/MC/MCAsmBackend.h" | #include "llvm/MC/MCAsmBackend.h" | ||||
#include "llvm/MC/MCFixupKindInfo.h" | #include "llvm/MC/MCFixupKindInfo.h" | ||||
#include "llvm/MC/MCSubtargetInfo.h" | #include "llvm/MC/MCSubtargetInfo.h" | ||||
namespace llvm { | namespace llvm { | ||||
class LoongArchAsmBackend : public MCAsmBackend { | class LoongArchAsmBackend : public MCAsmBackend { | ||||
Show All 15 Lines | public: | ||||
bool fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value, | bool fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value, | ||||
const MCRelaxableFragment *DF, | const MCRelaxableFragment *DF, | ||||
const MCAsmLayout &Layout) const override { | const MCAsmLayout &Layout) const override { | ||||
return false; | return false; | ||||
} | } | ||||
unsigned getNumFixupKinds() const override { | unsigned getNumFixupKinds() const override { | ||||
// FIXME: Implement this when we define fixup kind | return LoongArch::NumTargetFixupKinds; | ||||
return 0; | |||||
} | } | ||||
const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const override; | |||||
void relaxInstruction(MCInst &Inst, | void relaxInstruction(MCInst &Inst, | ||||
const MCSubtargetInfo &STI) const override {} | const MCSubtargetInfo &STI) const override {} | ||||
bool writeNopData(raw_ostream &OS, uint64_t Count, | bool writeNopData(raw_ostream &OS, uint64_t Count, | ||||
const MCSubtargetInfo *STI) const override; | const MCSubtargetInfo *STI) const override; | ||||
std::unique_ptr<MCObjectTargetWriter> | std::unique_ptr<MCObjectTargetWriter> | ||||
createObjectTargetWriter() const override; | createObjectTargetWriter() const override; | ||||
}; | }; | ||||
} // end namespace llvm | } // end namespace llvm | ||||
#endif // LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHASMBACKEND_H | #endif // LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHASMBACKEND_H |