4c35d0b189892635acbec6490d7aeacc99aa8a63
[oota-llvm.git] / lib / Target / ARM / ARMMachObjectWriter.cpp
1 //===-- ARMMachObjectWriter.cpp - ARM Mach Object Writer ------------------===//
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 #include "ARM.h"
11 #include "llvm/MC/MCMachObjectWriter.h"
12 using namespace llvm;
13
14 namespace {
15 class ARMMachObjectWriter : public MCMachObjectTargetWriter {
16 public:
17   ARMMachObjectWriter(bool Is64Bit, uint32_t CPUType,
18                       uint32_t CPUSubtype)
19     : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype,
20                                /*UseAggressiveSymbolFolding=*/true) {}
21 };
22 }
23
24 MCObjectWriter *llvm::createARMMachObjectWriter(raw_ostream &OS,
25                                                 bool Is64Bit,
26                                                 uint32_t CPUType,
27                                                 uint32_t CPUSubtype) {
28   return createMachObjectWriter(new ARMMachObjectWriter(Is64Bit,
29                                                         CPUType,
30                                                         CPUSubtype),
31                                 OS, /*IsLittleEndian=*/true);
32 }