blob: d9faf3325cacd13d6dbc6c202f8d97d532312017 [file] [log] [blame]
Akira Hatanakae2489122011-04-15 21:51:11 +00001//===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===//
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +00002//
3// The LLVM Compiler Infrastructure
4//
Chris Lattnerf3ebc3f2007-12-29 20:36:04 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +00007//
Akira Hatanakae2489122011-04-15 21:51:11 +00008//===----------------------------------------------------------------------===//
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +00009//
Bruno Cardoso Lopesed874ef2011-03-04 17:51:39 +000010// This file contains the entry points for global functions defined in
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000011// the LLVM Mips back-end.
12//
Akira Hatanakae2489122011-04-15 21:51:11 +000013//===----------------------------------------------------------------------===//
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000014
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000015#ifndef LLVM_LIB_TARGET_MIPS_MIPS_H
16#define LLVM_LIB_TARGET_MIPS_MIPS_H
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000017
Evan Chengbc153d42011-07-14 20:59:42 +000018#include "MCTargetDesc/MipsMCTargetDesc.h"
Bill Wendling026e5d72009-04-29 23:29:43 +000019#include "llvm/Target/TargetMachine.h"
20
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000021namespace llvm {
22 class MipsTargetMachine;
Vasileios Kalintiris6312f512015-03-14 08:34:25 +000023 class ModulePass;
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000024 class FunctionPass;
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000025
Vasileios Kalintiris6312f512015-03-14 08:34:25 +000026 ModulePass *createMipsOs16Pass(MipsTargetMachine &TM);
Vasileios Kalintiris6611eb32015-03-14 09:02:23 +000027 ModulePass *createMips16HardFloatPass(MipsTargetMachine &TM);
Vasileios Kalintiris6312f512015-03-14 08:34:25 +000028
Vasileios Kalintiris46fa9b72015-03-14 09:20:52 +000029 FunctionPass *createMipsModuleISelDagPass(MipsTargetMachine &TM);
Akira Hatanaka168d4e52013-11-27 23:38:42 +000030 FunctionPass *createMipsOptimizePICCallPass(MipsTargetMachine &TM);
Bruno Cardoso Lopes833a1f92007-08-18 02:05:24 +000031 FunctionPass *createMipsDelaySlotFillerPass(MipsTargetMachine &TM);
Chad Rosier7a21bb12016-03-14 18:10:20 +000032 FunctionPass *createMipsHazardSchedule();
Akira Hatanakaeb365222012-06-14 01:19:35 +000033 FunctionPass *createMipsLongBranchPass(MipsTargetMachine &TM);
Rafael Espindola6f7c2802016-06-28 14:26:39 +000034 FunctionPass *createMipsConstantIslandPass();
Alexander Kornienkof00654e2015-06-23 09:49:53 +000035} // end namespace llvm;
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000036
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000037#endif