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