1249259Sdim//==-- AArch64.h - Top-level interface for AArch64 representation -*- 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 contains the entry points for global functions defined in the LLVM
11249259Sdim// AArch64 back-end.
12249259Sdim//
13249259Sdim//===----------------------------------------------------------------------===//
14249259Sdim
15249259Sdim#ifndef LLVM_TARGET_AARCH64_H
16249259Sdim#define LLVM_TARGET_AARCH64_H
17249259Sdim
18249259Sdim#include "MCTargetDesc/AArch64MCTargetDesc.h"
19249259Sdim#include "llvm/Target/TargetMachine.h"
20249259Sdim
21249259Sdimnamespace llvm {
22249259Sdim
23249259Sdimclass AArch64AsmPrinter;
24249259Sdimclass FunctionPass;
25249259Sdimclass AArch64TargetMachine;
26249259Sdimclass MachineInstr;
27249259Sdimclass MCInst;
28249259Sdim
29249259SdimFunctionPass *createAArch64ISelDAG(AArch64TargetMachine &TM,
30249259Sdim                                   CodeGenOpt::Level OptLevel);
31249259Sdim
32249259SdimFunctionPass *createAArch64CleanupLocalDynamicTLSPass();
33249259Sdim
34249259SdimFunctionPass *createAArch64BranchFixupPass();
35249259Sdim
36249259Sdimvoid LowerAArch64MachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
37249259Sdim                                      AArch64AsmPrinter &AP);
38249259Sdim
39249259Sdim
40249259Sdim}
41249259Sdim
42249259Sdim#endif
43