blob: 72f84300b2c3e43b869ea67c2230ba9ce79410e1 [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//
33#include "SPUGenInstrNames.inc"
34
35#endif /* LLVM_TARGET_IBMCELLSPU_H */