1251607Sdim//===---- MipsOs16.h for Mips Option -Os16 --------===// 2251607Sdim// 3251607Sdim// The LLVM Compiler Infrastructure 4251607Sdim// 5251607Sdim// This file is distributed under the University of Illinois Open Source 6251607Sdim// License. See LICENSE.TXT for details. 7251607Sdim// 8251607Sdim//===----------------------------------------------------------------------===// 9251607Sdim// 10251607Sdim// This file defines an optimization phase for the MIPS target. 11251607Sdim// 12251607Sdim//===----------------------------------------------------------------------===// 13251607Sdim 14251607Sdim#include "MCTargetDesc/MipsMCTargetDesc.h" 15251607Sdim#include "MipsTargetMachine.h" 16251607Sdim#include "llvm/Pass.h" 17251607Sdim#include "llvm/Target/TargetMachine.h" 18251607Sdim 19251607Sdim 20251607Sdim 21251607Sdim#ifndef MIPSOS16_H 22251607Sdim#define MIPSOS16_H 23251607Sdim 24251607Sdimusing namespace llvm; 25251607Sdim 26251607Sdimnamespace llvm { 27251607Sdim 28251607Sdimclass MipsOs16 : public ModulePass { 29251607Sdim 30251607Sdimpublic: 31251607Sdim static char ID; 32251607Sdim 33251607Sdim MipsOs16() : ModulePass(ID) { 34251607Sdim 35251607Sdim } 36251607Sdim 37251607Sdim virtual const char *getPassName() const { 38251607Sdim return "MIPS Os16 Optimization"; 39251607Sdim } 40251607Sdim 41251607Sdim virtual bool runOnModule(Module &M); 42251607Sdim 43251607Sdim}; 44251607Sdim 45251607SdimModulePass *createMipsOs16(MipsTargetMachine &TM); 46251607Sdim 47251607Sdim} 48251607Sdim 49251607Sdim#endif 50