blob: 5b820708ac7b44b266b5a52948fd2215533da859 [file] [log] [blame]
Brian Gaekee785e532004-02-25 19:28:19 +00001//===-- 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
Chris Lattner1c809c52004-02-29 00:27:00 +000022 class FunctionPass;
23 class TargetMachine;
Brian Gaekee785e532004-02-25 19:28:19 +000024
Chris Lattner1c809c52004-02-29 00:27:00 +000025 FunctionPass *createSparcV8SimpleInstructionSelector(TargetMachine &TM);
Brian Gaeke4acfd032004-03-04 06:00:41 +000026 FunctionPass *createSparcV8CodePrinterPass(std::ostream &OS,
27 TargetMachine &TM);
Brian Gaeke86a87902004-04-06 23:21:24 +000028 FunctionPass *createSparcV8DelaySlotFillerPass(TargetMachine &TM);
Brian Gaeke1162ed22004-09-29 03:25:39 +000029 FunctionPass *createSparcV8FPMoverPass(TargetMachine &TM);
Brian Gaekee785e532004-02-25 19:28:19 +000030
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