xref: /NextBSD/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h (revision 84d351007654069f9643c8e4b4802a7f5f08ee42)
1 //===-- ARMAsmBackendDarwin.h   ARM Asm Backend Darwin ----------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_LIB_TARGET_ARM_ARMASMBACKENDDARWIN_H
11 #define LLVM_LIB_TARGET_ARM_ARMASMBACKENDDARWIN_H
12 
13 #include "llvm/Support/MachO.h"
14 
15 using namespace llvm;
16 
17 namespace {
18 class ARMAsmBackendDarwin : public ARMAsmBackend {
19 public:
20   const MachO::CPUSubTypeARM Subtype;
ARMAsmBackendDarwin(const Target & T,const Triple & TT,MachO::CPUSubTypeARM st)21   ARMAsmBackendDarwin(const Target &T, const Triple &TT,
22                       MachO::CPUSubTypeARM st)
23       : ARMAsmBackend(T, TT, /* IsLittleEndian */ true), Subtype(st) {
24     HasDataInCodeSupport = true;
25   }
26 
createObjectWriter(raw_pwrite_stream & OS)27   MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override {
28     return createARMMachObjectWriter(OS, /*Is64Bit=*/false, MachO::CPU_TYPE_ARM,
29                                      Subtype);
30   }
31 };
32 }
33 
34 #endif
35