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