Akira Hatanaka | e248912 | 2011-04-15 21:51:11 +0000 | [diff] [blame] | 1 | //===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===// |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
Chris Lattner | f3ebc3f | 2007-12-29 20:36:04 +0000 | [diff] [blame] | 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 7 | // |
Akira Hatanaka | e248912 | 2011-04-15 21:51:11 +0000 | [diff] [blame] | 8 | //===----------------------------------------------------------------------===// |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 9 | // |
Bruno Cardoso Lopes | ed874ef | 2011-03-04 17:51:39 +0000 | [diff] [blame] | 10 | // This file contains the entry points for global functions defined in |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 11 | // the LLVM Mips back-end. |
| 12 | // |
Akira Hatanaka | e248912 | 2011-04-15 21:51:11 +0000 | [diff] [blame] | 13 | //===----------------------------------------------------------------------===// |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 14 | |
Benjamin Kramer | a7c40ef | 2014-08-13 16:26:38 +0000 | [diff] [blame] | 15 | #ifndef LLVM_LIB_TARGET_MIPS_MIPS_H |
| 16 | #define LLVM_LIB_TARGET_MIPS_MIPS_H |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 17 | |
Evan Cheng | bc153d4 | 2011-07-14 20:59:42 +0000 | [diff] [blame] | 18 | #include "MCTargetDesc/MipsMCTargetDesc.h" |
Bill Wendling | 026e5d7 | 2009-04-29 23:29:43 +0000 | [diff] [blame] | 19 | #include "llvm/Target/TargetMachine.h" |
| 20 | |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 21 | namespace llvm { |
| 22 | class MipsTargetMachine; |
Vasileios Kalintiris | 6312f51 | 2015-03-14 08:34:25 +0000 | [diff] [blame] | 23 | class ModulePass; |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 24 | class FunctionPass; |
Petar Jovanovic | fac93e2 | 2018-02-23 11:06:40 +0000 | [diff] [blame] | 25 | class MipsRegisterBankInfo; |
| 26 | class MipsSubtarget; |
| 27 | class MipsTargetMachine; |
| 28 | class InstructionSelector; |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 29 | |
Francis Visoiu Mistrih | 8b61764 | 2017-05-18 17:21:13 +0000 | [diff] [blame] | 30 | ModulePass *createMipsOs16Pass(); |
| 31 | ModulePass *createMips16HardFloatPass(); |
Vasileios Kalintiris | 6312f51 | 2015-03-14 08:34:25 +0000 | [diff] [blame] | 32 | |
Francis Visoiu Mistrih | 8b61764 | 2017-05-18 17:21:13 +0000 | [diff] [blame] | 33 | FunctionPass *createMipsModuleISelDagPass(); |
| 34 | FunctionPass *createMipsOptimizePICCallPass(); |
| 35 | FunctionPass *createMipsDelaySlotFillerPass(); |
Chad Rosier | 7a21bb1 | 2016-03-14 18:10:20 +0000 | [diff] [blame] | 36 | FunctionPass *createMipsHazardSchedule(); |
Francis Visoiu Mistrih | 8b61764 | 2017-05-18 17:21:13 +0000 | [diff] [blame] | 37 | FunctionPass *createMipsLongBranchPass(); |
Rafael Espindola | 6f7c280 | 2016-06-28 14:26:39 +0000 | [diff] [blame] | 38 | FunctionPass *createMipsConstantIslandPass(); |
Zoran Jovanovic | ffef3e3 | 2017-04-27 13:10:48 +0000 | [diff] [blame] | 39 | FunctionPass *createMicroMipsSizeReductionPass(); |
Petar Jovanovic | fac93e2 | 2018-02-23 11:06:40 +0000 | [diff] [blame] | 40 | |
| 41 | InstructionSelector *createMipsInstructionSelector(const MipsTargetMachine &, |
| 42 | MipsSubtarget &, |
| 43 | MipsRegisterBankInfo &); |
Alexander Kornienko | f00654e | 2015-06-23 09:49:53 +0000 | [diff] [blame] | 44 | } // end namespace llvm; |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 45 | |
Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 46 | #endif |