LLVM API Documentation
00001 //===---- MipsOs16.h for Mips Option -Os16 --------===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file defines an optimization phase for the MIPS target. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_LIB_TARGET_MIPS_MIPSOS16_H 00015 #define LLVM_LIB_TARGET_MIPS_MIPSOS16_H 00016 00017 #include "MCTargetDesc/MipsMCTargetDesc.h" 00018 #include "MipsTargetMachine.h" 00019 #include "llvm/Pass.h" 00020 #include "llvm/Target/TargetMachine.h" 00021 00022 using namespace llvm; 00023 00024 namespace llvm { 00025 00026 class MipsOs16 : public ModulePass { 00027 00028 public: 00029 static char ID; 00030 00031 MipsOs16() : ModulePass(ID) { 00032 00033 } 00034 00035 const char *getPassName() const override { 00036 return "MIPS Os16 Optimization"; 00037 } 00038 00039 bool runOnModule(Module &M) override; 00040 00041 }; 00042 00043 ModulePass *createMipsOs16(MipsTargetMachine &TM); 00044 00045 } 00046 00047 #endif