LLVM API Documentation

ARMAsmBackendDarwin.h
Go to the documentation of this file.
00001 //===-- ARMAsmBackendDarwin.h   ARM Asm Backend Darwin ----------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef LLVM_LIB_TARGET_ARM_ARMASMBACKENDDARWIN_H
00011 #define LLVM_LIB_TARGET_ARM_ARMASMBACKENDDARWIN_H
00012 
00013 #include "llvm/Support/MachO.h"
00014 
00015 using namespace llvm;
00016 
00017 namespace {
00018 class ARMAsmBackendDarwin : public ARMAsmBackend {
00019 public:
00020   const MachO::CPUSubTypeARM Subtype;
00021   ARMAsmBackendDarwin(const Target &T, StringRef TT, MachO::CPUSubTypeARM st)
00022       : ARMAsmBackend(T, TT, /* IsLittleEndian */ true), Subtype(st) {
00023     HasDataInCodeSupport = true;
00024   }
00025 
00026   MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
00027     return createARMMachObjectWriter(OS, /*Is64Bit=*/false, MachO::CPU_TYPE_ARM,
00028                                      Subtype);
00029   }
00030 };
00031 }
00032 
00033 #endif