blob: 5c81c9a77a3c74afc2f01c0be6f34f97775fdc60 [file] [log] [blame]
Scott Michela589a082007-12-03 23:14:43 +00001//===-- SPU.h - Top-level interface for Cell SPU Target ----------*- C++ -*-==//
2//
3// The LLVM Compiler Infrastructure
4//
Chris Lattner4ee451d2007-12-29 20:36:04 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Scott Michela589a082007-12-03 23:14:43 +00007//
8//===----------------------------------------------------------------------===//
9//
10// This file contains the entry points for global functions defined in the LLVM
11// Cell SPU back-end.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_TARGET_IBMCELLSPU_H
16#define LLVM_TARGET_IBMCELLSPU_H
17
Bill Wendling98a366d2009-04-29 23:29:43 +000018#include "llvm/Target/TargetMachine.h"
Scott Michela589a082007-12-03 23:14:43 +000019
20namespace llvm {
21 class SPUTargetMachine;
22 class FunctionPass;
David Greene71847812009-07-14 20:18:05 +000023 class formatted_raw_ostream;
Scott Michela589a082007-12-03 23:14:43 +000024
25 FunctionPass *createSPUISelDag(SPUTargetMachine &TM);
Kalle Raiskila76020ed2011-01-11 09:07:54 +000026 FunctionPass *createSPUNopFillerPass(SPUTargetMachine &tm);
Scott Michela589a082007-12-03 23:14:43 +000027
Daniel Dunbar4cb1e132009-07-18 23:03:22 +000028 extern Target TheCellSPUTarget;
Scott Michela589a082007-12-03 23:14:43 +000029}
30
31// Defines symbolic names for the SPU instructions.
32//
Evan Cheng22fee2d2011-06-28 20:07:07 +000033#define GET_INSTRINFO_ENUM
34#include "SPUGenInstrInfo.inc"
Scott Michela589a082007-12-03 23:14:43 +000035
36#endif /* LLVM_TARGET_IBMCELLSPU_H */