| 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; |
| Zoran Jovanovic | 3a7654c | 2018-06-13 12:51:37 +0000 | [diff] [blame] | 29 | class PassRegistry; |
| Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 30 | |
| Francis Visoiu Mistrih | 8b61764 | 2017-05-18 17:21:13 +0000 | [diff] [blame] | 31 | ModulePass *createMipsOs16Pass(); |
| 32 | ModulePass *createMips16HardFloatPass(); |
| Vasileios Kalintiris | 6312f51 | 2015-03-14 08:34:25 +0000 | [diff] [blame] | 33 | |
| Francis Visoiu Mistrih | 8b61764 | 2017-05-18 17:21:13 +0000 | [diff] [blame] | 34 | FunctionPass *createMipsModuleISelDagPass(); |
| 35 | FunctionPass *createMipsOptimizePICCallPass(); |
| 36 | FunctionPass *createMipsDelaySlotFillerPass(); |
| Aleksandar Beserminji | a5f7551 | 2018-05-22 13:24:38 +0000 | [diff] [blame] | 37 | FunctionPass *createMipsBranchExpansion(); |
| Rafael Espindola | 6f7c280 | 2016-06-28 14:26:39 +0000 | [diff] [blame] | 38 | FunctionPass *createMipsConstantIslandPass(); |
| Zoran Jovanovic | 3a7654c | 2018-06-13 12:51:37 +0000 | [diff] [blame] | 39 | FunctionPass *createMicroMipsSizeReducePass(); |
| Aleksandar Beserminji | 3239ba8 | 2018-07-05 09:27:05 +0000 | [diff] [blame^] | 40 | FunctionPass *createMipsExpandPseudoPass(); |
| Petar Jovanovic | fac93e2 | 2018-02-23 11:06:40 +0000 | [diff] [blame] | 41 | |
| 42 | InstructionSelector *createMipsInstructionSelector(const MipsTargetMachine &, |
| 43 | MipsSubtarget &, |
| 44 | MipsRegisterBankInfo &); |
| Simon Dardis | ae20108 | 2018-05-11 16:13:53 +0000 | [diff] [blame] | 45 | |
| 46 | void initializeMipsDelaySlotFillerPass(PassRegistry &); |
| Aleksandar Beserminji | a5f7551 | 2018-05-22 13:24:38 +0000 | [diff] [blame] | 47 | void initializeMipsBranchExpansionPass(PassRegistry &); |
| Zoran Jovanovic | 3a7654c | 2018-06-13 12:51:37 +0000 | [diff] [blame] | 48 | void initializeMicroMipsSizeReducePass(PassRegistry &); |
| Alexander Kornienko | f00654e | 2015-06-23 09:49:53 +0000 | [diff] [blame] | 49 | } // end namespace llvm; |
| Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 50 | |
| Bruno Cardoso Lopes | 35e43c4 | 2007-06-06 07:42:06 +0000 | [diff] [blame] | 51 | #endif |