blob: 4de4faa581829281ba51d615e1c728fd05efdf8f [file] [log] [blame]
Tim Northovere0e3aef2013-01-31 12:12:40 +00001//==-- 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
Tim Northovere0e3aef2013-01-31 12:12:40 +000032FunctionPass *createAArch64CleanupLocalDynamicTLSPass();
33
Tim Northover2e447692013-02-15 14:32:20 +000034FunctionPass *createAArch64BranchFixupPass();
35
Tim Northovere0e3aef2013-01-31 12:12:40 +000036void LowerAArch64MachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
37 AArch64AsmPrinter &AP);
38
39
40}
41
42#endif