1 //===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file contains the entry points for global functions defined in 10 // the LLVM Mips back-end. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_LIB_TARGET_MIPS_MIPS_H 15 #define LLVM_LIB_TARGET_MIPS_MIPS_H 16 17 #include "MCTargetDesc/MipsMCTargetDesc.h" 18 #include "llvm/Target/TargetMachine.h" 19 20 namespace llvm { 21 class FunctionPass; 22 class InstructionSelector; 23 class MipsRegisterBankInfo; 24 class MipsSubtarget; 25 class MipsTargetMachine; 26 class MipsTargetMachine; 27 class ModulePass; 28 class PassRegistry; 29 30 ModulePass *createMipsOs16Pass(); 31 ModulePass *createMips16HardFloatPass(); 32 33 FunctionPass *createMipsLoongson2FBTBFix(); 34 FunctionPass *createMipsModuleISelDagPass(); 35 FunctionPass *createMipsOptimizePICCallPass(); 36 FunctionPass *createMipsDelaySlotFillerPass(); 37 FunctionPass *createMipsBranchExpansion(); 38 FunctionPass *createMipsConstantIslandPass(); 39 FunctionPass *createMicroMipsSizeReducePass(); 40 FunctionPass *createMipsExpandPseudoPass(); 41 FunctionPass *createMipsPreLegalizeCombiner(); 42 FunctionPass *createMipsPostLegalizeCombiner(bool IsOptNone); 43 FunctionPass *createMipsMulMulBugPass(); 44 45 InstructionSelector *createMipsInstructionSelector(const MipsTargetMachine &, 46 MipsSubtarget &, 47 MipsRegisterBankInfo &); 48 49 void initializeMipsLoongson2FBTBFixPass(PassRegistry &); 50 void initializeMicroMipsSizeReducePass(PassRegistry &); 51 void initializeMipsBranchExpansionPass(PassRegistry &); 52 void initializeMipsDAGToDAGISelPass(PassRegistry &); 53 void initializeMipsDelaySlotFillerPass(PassRegistry &); 54 void initializeMipsMulMulBugFixPass(PassRegistry &); 55 void initializeMipsPostLegalizerCombinerPass(PassRegistry &); 56 void initializeMipsPreLegalizerCombinerPass(PassRegistry &); 57 } // namespace llvm 58 59 #endif 60