blob: 008b9505ee26b99c429d34b77d28adc2ee07028b [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
Francis Visoiu Mistrih8b617642017-05-18 17:21:13 +000026 ModulePass *createMipsOs16Pass();
27 ModulePass *createMips16HardFloatPass();
Vasileios Kalintiris6312f512015-03-14 08:34:25 +000028
Francis Visoiu Mistrih8b617642017-05-18 17:21:13 +000029 FunctionPass *createMipsModuleISelDagPass();
30 FunctionPass *createMipsOptimizePICCallPass();
31 FunctionPass *createMipsDelaySlotFillerPass();
Chad Rosier7a21bb12016-03-14 18:10:20 +000032 FunctionPass *createMipsHazardSchedule();
Francis Visoiu Mistrih8b617642017-05-18 17:21:13 +000033 FunctionPass *createMipsLongBranchPass();
Rafael Espindola6f7c2802016-06-28 14:26:39 +000034 FunctionPass *createMipsConstantIslandPass();
Zoran Jovanovicffef3e32017-04-27 13:10:48 +000035 FunctionPass *createMicroMipsSizeReductionPass();
Alexander Kornienkof00654e2015-06-23 09:49:53 +000036} // end namespace llvm;
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000037
Bruno Cardoso Lopes35e43c42007-06-06 07:42:06 +000038#endif