Sparc.h revision b5f662fa0314f7e7e690aae8ebff7136cc3a5ab0
1//===-- SparcV8.h - Top-level interface for SparcV8 representation -*- C++ -*-//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file was developed by the LLVM research group and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file contains the entry points for global functions defined in the LLVM
11// SparcV8 back-end.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef TARGET_SPARCV8_H
16#define TARGET_SPARCV8_H
17
18#include <iosfwd>
19
20namespace llvm {
21
22  class FunctionPass;
23  class TargetMachine;
24
25  FunctionPass *createSparcV8SimpleInstructionSelector(TargetMachine &TM);
26  FunctionPass *createSparcV8CodePrinterPass(std::ostream &OS,
27                                             TargetMachine &TM);
28  FunctionPass *createSparcV8DelaySlotFillerPass(TargetMachine &TM);
29  FunctionPass *createSparcV8FPMoverPass(TargetMachine &TM);
30
31} // end namespace llvm;
32
33// Defines symbolic names for SparcV8 registers.  This defines a mapping from
34// register name to register number.
35//
36#include "SparcV8GenRegisterNames.inc"
37
38// Defines symbolic names for the SparcV8 instructions.
39//
40#include "SparcV8GenInstrNames.inc"
41
42#endif
43