]>
Commit | Line | Data |
---|---|---|
1a4d82fc | 1 | //==-- AArch64.h - Top-level interface for AArch64 --------------*- C++ -*-==// |
970d7e83 LB |
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 | ||
1a4d82fc JJ |
15 | #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64_H |
16 | #define LLVM_LIB_TARGET_AARCH64_AARCH64_H | |
970d7e83 LB |
17 | |
18 | #include "MCTargetDesc/AArch64MCTargetDesc.h" | |
1a4d82fc JJ |
19 | #include "Utils/AArch64BaseInfo.h" |
20 | #include "llvm/Support/DataTypes.h" | |
970d7e83 LB |
21 | #include "llvm/Target/TargetMachine.h" |
22 | ||
23 | namespace llvm { | |
24 | ||
970d7e83 | 25 | class AArch64TargetMachine; |
1a4d82fc JJ |
26 | class FunctionPass; |
27 | class MachineFunctionPass; | |
28 | ||
29 | FunctionPass *createAArch64DeadRegisterDefinitions(); | |
30 | FunctionPass *createAArch64ConditionalCompares(); | |
31 | FunctionPass *createAArch64AdvSIMDScalar(); | |
32 | FunctionPass *createAArch64BranchRelaxation(); | |
33 | FunctionPass *createAArch64ISelDag(AArch64TargetMachine &TM, | |
34 | CodeGenOpt::Level OptLevel); | |
35 | FunctionPass *createAArch64StorePairSuppressPass(); | |
36 | FunctionPass *createAArch64ExpandPseudoPass(); | |
37 | FunctionPass *createAArch64LoadStoreOptimizationPass(); | |
38 | ModulePass *createAArch64PromoteConstantPass(); | |
39 | FunctionPass *createAArch64ConditionOptimizerPass(); | |
40 | FunctionPass *createAArch64AddressTypePromotionPass(); | |
41 | FunctionPass *createAArch64A57FPLoadBalancing(); | |
85aaf69f | 42 | FunctionPass *createAArch64A53Fix835769(); |
1a4d82fc JJ |
43 | /// \brief Creates an ARM-specific Target Transformation Info pass. |
44 | ImmutablePass * | |
45 | createAArch64TargetTransformInfoPass(const AArch64TargetMachine *TM); | |
970d7e83 LB |
46 | |
47 | FunctionPass *createAArch64CleanupLocalDynamicTLSPass(); | |
48 | ||
1a4d82fc JJ |
49 | FunctionPass *createAArch64CollectLOHPass(); |
50 | } // end namespace llvm | |
970d7e83 LB |
51 | |
52 | #endif |