Sparc.h revision 1162ed290055d0f9005fdd8587034b86312afb12
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===-- SparcV8.h - Top-level interface for SparcV8 representation -*- C++ -*-// 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The LLVM Compiler Infrastructure 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file was developed by the LLVM research group and is distributed under 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// the University of Illinois Open Source License. See LICENSE.TXT for details. 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===// 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file contains the entry points for global functions defined in the LLVM 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// SparcV8 back-end. 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===// 147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef TARGET_SPARCV8_H 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define TARGET_SPARCV8_H 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include <iosfwd> 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace llvm { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) class FunctionPass; 23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch class TargetMachine; 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch FunctionPass *createSparcV8SimpleInstructionSelector(TargetMachine &TM); 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) FunctionPass *createSparcV8CodePrinterPass(std::ostream &OS, 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TargetMachine &TM); 28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch FunctionPass *createSparcV8DelaySlotFillerPass(TargetMachine &TM); 29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch FunctionPass *createSparcV8FPMoverPass(TargetMachine &TM); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // end namespace llvm; 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Defines symbolic names for SparcV8 registers. This defines a mapping from 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// register name to register number. 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "SparcV8GenRegisterNames.inc" 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Defines symbolic names for the SparcV8 instructions. 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "SparcV8GenInstrNames.inc" 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)