blob: 70f563bfa280a65def6dfb19cd73f137f672d9a1 [file] [log] [blame]
Brian Gaekee785e532004-02-25 19:28:19 +00001//===-- SparcV8.h - Top-level interface for SparcV8 representation -*- C++ -*-//
Misha Brukmanb5f662f2005-04-21 23:30:14 +00002//
Brian Gaekee785e532004-02-25 19:28:19 +00003// 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.
Misha Brukmanb5f662f2005-04-21 23:30:14 +00007//
Brian Gaekee785e532004-02-25 19:28:19 +00008//===----------------------------------------------------------------------===//
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 Lattner6c18b102005-12-17 07:47:01 +000025 FunctionPass *createSparcV8ISelDag(TargetMachine &TM);
26
Brian Gaeke4acfd032004-03-04 06:00:41 +000027 FunctionPass *createSparcV8CodePrinterPass(std::ostream &OS,
28 TargetMachine &TM);
Brian Gaeke86a87902004-04-06 23:21:24 +000029 FunctionPass *createSparcV8DelaySlotFillerPass(TargetMachine &TM);
Brian Gaeke1162ed22004-09-29 03:25:39 +000030 FunctionPass *createSparcV8FPMoverPass(TargetMachine &TM);
Brian Gaekee785e532004-02-25 19:28:19 +000031
32} // end namespace llvm;
33
34// Defines symbolic names for SparcV8 registers. This defines a mapping from
35// register name to register number.
36//
37#include "SparcV8GenRegisterNames.inc"
38
39// Defines symbolic names for the SparcV8 instructions.
40//
41#include "SparcV8GenInstrNames.inc"
42
43#endif