1 //===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the entry points for global functions defined in
11 // the LLVM Mips back-end.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_LIB_TARGET_MIPS_MIPS_H
16 #define LLVM_LIB_TARGET_MIPS_MIPS_H
18 #include "MCTargetDesc/MipsMCTargetDesc.h"
19 #include "llvm/Target/TargetMachine.h"
22 class MipsTargetMachine;
25 class MipsRegisterBankInfo;
27 class MipsTargetMachine;
28 class InstructionSelector;
31 ModulePass *createMipsOs16Pass();
32 ModulePass *createMips16HardFloatPass();
34 FunctionPass *createMipsModuleISelDagPass();
35 FunctionPass *createMipsOptimizePICCallPass();
36 FunctionPass *createMipsDelaySlotFillerPass();
37 FunctionPass *createMipsBranchExpansion();
38 FunctionPass *createMipsConstantIslandPass();
39 FunctionPass *createMicroMipsSizeReducePass();
40 FunctionPass *createMipsExpandPseudoPass();
41 FunctionPass *createMipsPreLegalizeCombiner();
43 InstructionSelector *createMipsInstructionSelector(const MipsTargetMachine &,
45 MipsRegisterBankInfo &);
47 void initializeMipsDelaySlotFillerPass(PassRegistry &);
48 void initializeMipsBranchExpansionPass(PassRegistry &);
49 void initializeMicroMipsSizeReducePass(PassRegistry &);
50 void initializeMipsPreLegalizerCombinerPass(PassRegistry&);
51 } // end namespace llvm;