1 //===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===// 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 11 // the LLVM Mips back-end. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef LLVM_LIB_TARGET_MIPS_MIPS_H 16 #define LLVM_LIB_TARGET_MIPS_MIPS_H 17 18 #include "MCTargetDesc/MipsMCTargetDesc.h" 19 #include "llvm/Target/TargetMachine.h" 20 21 namespace llvm { 22 class MipsTargetMachine; 23 class ModulePass; 24 class FunctionPass; 25 class MipsRegisterBankInfo; 26 class MipsSubtarget; 27 class MipsTargetMachine; 28 class InstructionSelector; 29 class PassRegistry; 30 31 ModulePass *createMipsOs16Pass(); 32 ModulePass *createMips16HardFloatPass(); 33 34 FunctionPass *createMipsModuleISelDagPass(); 35 FunctionPass *createMipsOptimizePICCallPass(); 36 FunctionPass *createMipsDelaySlotFillerPass(); 37 FunctionPass *createMipsBranchExpansion(); 38 FunctionPass *createMipsConstantIslandPass(); 39 FunctionPass *createMicroMipsSizeReducePass(); 40 FunctionPass *createMipsExpandPseudoPass(); 41 42 InstructionSelector *createMipsInstructionSelector(const MipsTargetMachine &, 43 MipsSubtarget &, 44 MipsRegisterBankInfo &); 45 46 void initializeMipsDelaySlotFillerPass(PassRegistry &); 47 void initializeMipsBranchExpansionPass(PassRegistry &); 48 void initializeMicroMipsSizeReducePass(PassRegistry &); 49 } // end namespace llvm; 50 51 #endif 52