1 //===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 // This file contains the entry points for global functions defined in
10 // the LLVM Mips back-end.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_LIB_TARGET_MIPS_MIPS_H
15 #define LLVM_LIB_TARGET_MIPS_MIPS_H
17 #include "MCTargetDesc/MipsMCTargetDesc.h"
18 #include "llvm/Target/TargetMachine.h"
21 class MipsTargetMachine
;
24 class MipsRegisterBankInfo
;
26 class MipsTargetMachine
;
27 class InstructionSelector
;
30 ModulePass
*createMipsOs16Pass();
31 ModulePass
*createMips16HardFloatPass();
33 FunctionPass
*createMipsModuleISelDagPass();
34 FunctionPass
*createMipsOptimizePICCallPass();
35 FunctionPass
*createMipsDelaySlotFillerPass();
36 FunctionPass
*createMipsBranchExpansion();
37 FunctionPass
*createMipsConstantIslandPass();
38 FunctionPass
*createMicroMipsSizeReducePass();
39 FunctionPass
*createMipsExpandPseudoPass();
40 FunctionPass
*createMipsPreLegalizeCombiner();
42 InstructionSelector
*createMipsInstructionSelector(const MipsTargetMachine
&,
44 MipsRegisterBankInfo
&);
46 void initializeMipsDelaySlotFillerPass(PassRegistry
&);
47 void initializeMipsBranchExpansionPass(PassRegistry
&);
48 void initializeMicroMipsSizeReducePass(PassRegistry
&);
49 void initializeMipsPreLegalizerCombinerPass(PassRegistry
&);
50 } // end namespace llvm;