14552c9a3b34ad9b2085635266348d0d9b95514a6Akira Hatanaka//===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===//
2972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes//
3972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes//                     The LLVM Compiler Infrastructure
4972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes//
54ee451de366474b9c228b4e5fa573795a715216dChris Lattner// This file is distributed under the University of Illinois Open Source
64ee451de366474b9c228b4e5fa573795a715216dChris Lattner// License. See LICENSE.TXT for details.
7972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes//
84552c9a3b34ad9b2085635266348d0d9b95514a6Akira Hatanaka//===----------------------------------------------------------------------===//
9972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes//
1081092dc20abe5253a5b4d48a75997baa84dde196Bruno Cardoso Lopes// This file contains the entry points for global functions defined in
11972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes// the LLVM Mips back-end.
12972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes//
134552c9a3b34ad9b2085635266348d0d9b95514a6Akira Hatanaka//===----------------------------------------------------------------------===//
14972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes
15972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes#ifndef TARGET_MIPS_H
16972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes#define TARGET_MIPS_H
17972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes
18c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MCTargetDesc/MipsMCTargetDesc.h"
1998a366d547772010e94609e4584489b3e5ce0043Bill Wendling#include "llvm/Target/TargetMachine.h"
2098a366d547772010e94609e4584489b3e5ce0043Bill Wendling
21972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopesnamespace llvm {
22972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes  class MipsTargetMachine;
23972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes  class FunctionPass;
24972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes
25250a1714be749ee14998986b5e0a57a3ec20a04dBruno Cardoso Lopes  FunctionPass *createMipsISelDag(MipsTargetMachine &TM);
26250a1714be749ee14998986b5e0a57a3ec20a04dBruno Cardoso Lopes  FunctionPass *createMipsDelaySlotFillerPass(MipsTargetMachine &TM);
279e97587e022ac38258cd59339b4bae66894f9bfbAkira Hatanaka  FunctionPass *createMipsLongBranchPass(MipsTargetMachine &TM);
28dca6cdd6a14195c3ebbbb5d2c668445be119aaecBruno Cardoso Lopes  FunctionPass *createMipsJITCodeEmitterPass(MipsTargetMachine &TM,
29dca6cdd6a14195c3ebbbb5d2c668445be119aaecBruno Cardoso Lopes                                             JITCodeEmitter &JCE);
30d056dc0aae141d79131c6d537cf2add42922fb97Reed Kotler  FunctionPass *createMipsConstantIslandPass(MipsTargetMachine &tm);
31dca6cdd6a14195c3ebbbb5d2c668445be119aaecBruno Cardoso Lopes
32972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes} // end namespace llvm;
33972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes
34972f5896e417d8e81cf400083fab15a37b6d4277Bruno Cardoso Lopes#endif
35