1 //===-- Thumb2HazardRecognizer.h - Thumb2 Hazard Recognizers ----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines hazard recognizers for scheduling Thumb2 functions on
13 //===----------------------------------------------------------------------===//
15 #ifndef THUMB2HAZARDRECOGNIZER_H
16 #define THUMB2HAZARDRECOGNIZER_H
18 #include "llvm/CodeGen/PostRAHazardRecognizer.h"
24 class Thumb2HazardRecognizer : public PostRAHazardRecognizer {
25 unsigned ITBlockSize; // No. of MIs in current IT block yet to be scheduled.
26 MachineInstr *ITBlockMIs[4];
29 Thumb2HazardRecognizer(const InstrItineraryData *ItinData) :
30 PostRAHazardRecognizer(ItinData) {}
32 virtual HazardType getHazardType(SUnit *SU);
34 virtual void EmitInstruction(SUnit *SU);
38 } // end namespace llvm
40 #endif // THUMB2HAZARDRECOGNIZER_H