LLVM  14.0.0git
ARMAsmBackendELF.h
Go to the documentation of this file.
1 //===-- ARMAsmBackendELF.h ARM Asm Backend ELF -----------------*- 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-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_TARGET_ARM_ELFARMASMBACKEND_H
10 #define LLVM_LIB_TARGET_ARM_ELFARMASMBACKEND_H
11 
12 #include "ARMAsmBackend.h"
14 #include "llvm/MC/MCObjectWriter.h"
15 
16 using namespace llvm;
17 
18 namespace {
19 class ARMAsmBackendELF : public ARMAsmBackend {
20 public:
21  uint8_t OSABI;
22  ARMAsmBackendELF(const Target &T, bool isThumb, uint8_t OSABI,
23  support::endianness Endian)
24  : ARMAsmBackend(T, isThumb, Endian), OSABI(OSABI) {}
25 
26  std::unique_ptr<MCObjectTargetWriter>
27  createObjectTargetWriter() const override {
28  return createARMELFObjectWriter(OSABI);
29  }
30 
31  Optional<MCFixupKind> getFixupKind(StringRef Name) const override;
32 };
33 }
34 
35 #endif
llvm::ARMAsmBackend
Definition: ARMAsmBackend.h:20
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AllocatorList.h:23
ARMMCTargetDesc.h
T
llvm::Target
Target - Wrapper for Target specific information.
Definition: TargetRegistry.h:137
llvm::Optional
Definition: APInt.h:33
isThumb
static bool isThumb(const MCSubtargetInfo &STI)
Definition: ARMAsmPrinter.cpp:470
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:57
ARMAsmBackend.h
MCObjectWriter.h
llvm::GraphProgram::Name
Name
Definition: GraphWriter.h:52
llvm::support::endianness
endianness
Definition: Endian.h:27
llvm::createARMELFObjectWriter
std::unique_ptr< MCObjectTargetWriter > createARMELFObjectWriter(uint8_t OSABI)
Construct an ELF Mach-O object writer.
Definition: ARMELFObjectWriter.cpp:290