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