the various ConstantExpr::get*Ty methods existed to work with issues around
[llvm/stm8.git] / lib / Target / CellSPU / SPUHazardRecognizers.h
blob675632cc7f13e4803df64394dd82cae23d6e385b
1 //===-- SPUHazardRecognizers.h - Cell SPU Hazard Recognizer -----*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines hazard recognizers for scheduling on the Cell SPU
11 // processor.
13 //===----------------------------------------------------------------------===//
15 #ifndef SPUHAZRECS_H
16 #define SPUHAZRECS_H
18 #include "llvm/CodeGen/ScheduleHazardRecognizer.h"
20 namespace llvm {
22 class TargetInstrInfo;
24 /// SPUHazardRecognizer
25 class SPUHazardRecognizer : public ScheduleHazardRecognizer
27 private:
28 const TargetInstrInfo &TII;
29 int EvenOdd;
31 public:
32 SPUHazardRecognizer(const TargetInstrInfo &TII);
33 virtual HazardType getHazardType(SUnit *SU, int Stalls);
34 virtual void EmitInstruction(SUnit *SU);
35 virtual void AdvanceCycle();
36 virtual void EmitNoop();
39 } // end namespace llvm
41 #endif