1249259Sdim//===-- AArch64TargetObjectFile.h - AArch64 Object Info ---------*- C++ -*-===//
2249259Sdim//
3249259Sdim//                     The LLVM Compiler Infrastructure
4249259Sdim//
5249259Sdim// This file is distributed under the University of Illinois Open Source
6249259Sdim// License. See LICENSE.TXT for details.
7249259Sdim//
8249259Sdim//===----------------------------------------------------------------------===//
9249259Sdim//
10249259Sdim// This file deals with any AArch64 specific requirements on object files.
11249259Sdim//
12249259Sdim//===----------------------------------------------------------------------===//
13249259Sdim
14249259Sdim#ifndef LLVM_TARGET_AARCH64_TARGETOBJECTFILE_H
15249259Sdim#define LLVM_TARGET_AARCH64_TARGETOBJECTFILE_H
16249259Sdim
17249259Sdim#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
18249259Sdim#include "llvm/Target/TargetMachine.h"
19249259Sdim#include "llvm/Target/TargetLoweringObjectFile.h"
20249259Sdim
21249259Sdimnamespace llvm {
22249259Sdim
23266715Sdim  /// AArch64ElfTargetObjectFile - This implementation is used for ELF
24266715Sdim  /// AArch64 targets.
25266715Sdim  class AArch64ElfTargetObjectFile : public TargetLoweringObjectFileELF {
26266715Sdim    virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
27266715Sdim  };
28266715Sdim
29249259Sdim  class AArch64LinuxTargetObjectFile : public TargetLoweringObjectFileELF {
30249259Sdim    virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
31249259Sdim  };
32249259Sdim
33249259Sdim} // end namespace llvm
34249259Sdim
35249259Sdim#endif
36