1//==-- AArch64.h - Top-level interface for AArch64 representation -*- C++ -*-=//
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// This file contains the entry points for global functions defined in the LLVM
11// AArch64 back-end.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_TARGET_AARCH64_H
16#define LLVM_TARGET_AARCH64_H
17
18#include "MCTargetDesc/AArch64MCTargetDesc.h"
19#include "llvm/Target/TargetMachine.h"
20
21namespace llvm {
22
23class AArch64AsmPrinter;
24class FunctionPass;
25class AArch64TargetMachine;
26class MachineInstr;
27class MCInst;
28
29FunctionPass *createAArch64ISelDAG(AArch64TargetMachine &TM,
30                                   CodeGenOpt::Level OptLevel);
31
32FunctionPass *createAArch64CleanupLocalDynamicTLSPass();
33
34FunctionPass *createAArch64BranchFixupPass();
35
36void LowerAArch64MachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
37                                      AArch64AsmPrinter &AP);
38
39
40}
41
42#endif
43