blob: 33bfdabd12d0a0a111e2e32a18095ed163f91df3 [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 Lattner1c809c52004-02-29 00:27:00 +000025 FunctionPass *createSparcV8SimpleInstructionSelector(TargetMachine &TM);
Chris Lattner6c18b102005-12-17 07:47:01 +000026 FunctionPass *createSparcV8ISelDag(TargetMachine &TM);
27
Brian Gaeke4acfd032004-03-04 06:00:41 +000028 FunctionPass *createSparcV8CodePrinterPass(std::ostream &OS,
29 TargetMachine &TM);
Brian Gaeke86a87902004-04-06 23:21:24 +000030 FunctionPass *createSparcV8DelaySlotFillerPass(TargetMachine &TM);
Brian Gaeke1162ed22004-09-29 03:25:39 +000031 FunctionPass *createSparcV8FPMoverPass(TargetMachine &TM);
Brian Gaekee785e532004-02-25 19:28:19 +000032
33} // end namespace llvm;
34
35// Defines symbolic names for SparcV8 registers. This defines a mapping from
36// register name to register number.
37//
38#include "SparcV8GenRegisterNames.inc"
39
40// Defines symbolic names for the SparcV8 instructions.
41//
42#include "SparcV8GenInstrNames.inc"
43
44#endif