xref: /aosp_15_r20/external/llvm/lib/Target/AArch64/AArch64.h (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //==-- AArch64.h - Top-level interface for AArch64  --------------*- C++ -*-==//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker //
10*9880d681SAndroid Build Coastguard Worker // This file contains the entry points for global functions defined in the LLVM
11*9880d681SAndroid Build Coastguard Worker // AArch64 back-end.
12*9880d681SAndroid Build Coastguard Worker //
13*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
14*9880d681SAndroid Build Coastguard Worker 
15*9880d681SAndroid Build Coastguard Worker #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64_H
16*9880d681SAndroid Build Coastguard Worker #define LLVM_LIB_TARGET_AARCH64_AARCH64_H
17*9880d681SAndroid Build Coastguard Worker 
18*9880d681SAndroid Build Coastguard Worker #include "MCTargetDesc/AArch64MCTargetDesc.h"
19*9880d681SAndroid Build Coastguard Worker #include "Utils/AArch64BaseInfo.h"
20*9880d681SAndroid Build Coastguard Worker #include "llvm/Support/DataTypes.h"
21*9880d681SAndroid Build Coastguard Worker #include "llvm/Target/TargetMachine.h"
22*9880d681SAndroid Build Coastguard Worker 
23*9880d681SAndroid Build Coastguard Worker namespace llvm {
24*9880d681SAndroid Build Coastguard Worker 
25*9880d681SAndroid Build Coastguard Worker class AArch64TargetMachine;
26*9880d681SAndroid Build Coastguard Worker class FunctionPass;
27*9880d681SAndroid Build Coastguard Worker class MachineFunctionPass;
28*9880d681SAndroid Build Coastguard Worker 
29*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64DeadRegisterDefinitions();
30*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64RedundantCopyEliminationPass();
31*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64ConditionalCompares();
32*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64AdvSIMDScalar();
33*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64BranchRelaxation();
34*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64ISelDag(AArch64TargetMachine &TM,
35*9880d681SAndroid Build Coastguard Worker                                  CodeGenOpt::Level OptLevel);
36*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64StorePairSuppressPass();
37*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64ExpandPseudoPass();
38*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64LoadStoreOptimizationPass();
39*9880d681SAndroid Build Coastguard Worker ModulePass *createAArch64PromoteConstantPass();
40*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64ConditionOptimizerPass();
41*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64AddressTypePromotionPass();
42*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64A57FPLoadBalancing();
43*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64A53Fix835769();
44*9880d681SAndroid Build Coastguard Worker 
45*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64CleanupLocalDynamicTLSPass();
46*9880d681SAndroid Build Coastguard Worker 
47*9880d681SAndroid Build Coastguard Worker FunctionPass *createAArch64CollectLOHPass();
48*9880d681SAndroid Build Coastguard Worker 
49*9880d681SAndroid Build Coastguard Worker void initializeAArch64ExpandPseudoPass(PassRegistry&);
50*9880d681SAndroid Build Coastguard Worker } // end namespace llvm
51*9880d681SAndroid Build Coastguard Worker 
52*9880d681SAndroid Build Coastguard Worker #endif
53