| //===-- ARM64.h - Top-level interface for ARM64 representation --*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file contains the entry points for global functions defined in the LLVM |
| // ARM64 back-end. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef TARGET_ARM64_H |
| #define TARGET_ARM64_H |
| |
| #include "Utils/ARM64BaseInfo.h" |
| #include "MCTargetDesc/ARM64MCTargetDesc.h" |
| #include "llvm/Target/TargetMachine.h" |
| #include "llvm/Support/DataTypes.h" |
| |
| namespace llvm { |
| |
| class ARM64TargetMachine; |
| class FunctionPass; |
| class MachineFunctionPass; |
| |
| FunctionPass *createARM64DeadRegisterDefinitions(); |
| FunctionPass *createARM64ConditionalCompares(); |
| FunctionPass *createARM64AdvSIMDScalar(); |
| FunctionPass *createARM64BranchRelaxation(); |
| FunctionPass *createARM64ISelDag(ARM64TargetMachine &TM, |
| CodeGenOpt::Level OptLevel); |
| FunctionPass *createARM64StorePairSuppressPass(); |
| FunctionPass *createARM64ExpandPseudoPass(); |
| FunctionPass *createARM64LoadStoreOptimizationPass(); |
| ModulePass *createARM64PromoteConstantPass(); |
| FunctionPass *createARM64AddressTypePromotionPass(); |
| /// \brief Creates an ARM-specific Target Transformation Info pass. |
| ImmutablePass *createARM64TargetTransformInfoPass(const ARM64TargetMachine *TM); |
| |
| FunctionPass *createARM64CleanupLocalDynamicTLSPass(); |
| |
| FunctionPass *createARM64CollectLOHPass(); |
| } // end namespace llvm |
| |
| #endif |