JIT should print LLVM each function before selecting instructions for it.
[oota-llvm.git] / lib / Target / Sparc / Sparc.h
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
20 namespace 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