diff options
author | Scott Michel <scottm@aero.org> | 2007-12-04 22:23:35 +0000 |
---|---|---|
committer | Scott Michel <scottm@aero.org> | 2007-12-04 22:23:35 +0000 |
commit | 8efdca495339cf29f9ed24f10c49b2a0d8c71c06 (patch) | |
tree | de355be7f16914c2c6f21f597b71bc6cf9dceb78 /lib/Target/CellSPU/SPUHazardRecognizers.h | |
parent | 811fadb7b51b57bd067c2d310551a8eafbf21848 (diff) | |
download | external_llvm-8efdca495339cf29f9ed24f10c49b2a0d8c71c06.zip external_llvm-8efdca495339cf29f9ed24f10c49b2a0d8c71c06.tar.gz external_llvm-8efdca495339cf29f9ed24f10c49b2a0d8c71c06.tar.bz2 |
More of the Cell SPU code drop from "Team Aerospace".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44582 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CellSPU/SPUHazardRecognizers.h')
-rw-r--r-- | lib/Target/CellSPU/SPUHazardRecognizers.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/Target/CellSPU/SPUHazardRecognizers.h b/lib/Target/CellSPU/SPUHazardRecognizers.h new file mode 100644 index 0000000..ce602fd --- /dev/null +++ b/lib/Target/CellSPU/SPUHazardRecognizers.h @@ -0,0 +1,43 @@ +//===-- SPUHazardRecognizers.h - Cell SPU Hazard Recognizer -----*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by a team from the Computer Systems Research +// Department at The Aerospace Corporation. +// +// See README.txt for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines hazard recognizers for scheduling on the Cell SPU +// processor. +// +//===----------------------------------------------------------------------===// + +#ifndef SPUHAZRECS_H +#define SPUHAZRECS_H + +#include "llvm/CodeGen/ScheduleDAG.h" +#include "SPUInstrInfo.h" + +namespace llvm { + +/// SPUHazardRecognizer +class SPUHazardRecognizer : public HazardRecognizer +{ +private: + const TargetInstrInfo &TII; + int EvenOdd; + +public: + SPUHazardRecognizer(const TargetInstrInfo &TII); + virtual HazardType getHazardType(SDNode *Node); + virtual void EmitInstruction(SDNode *Node); + virtual void AdvanceCycle(); + virtual void EmitNoop(); +}; + +} // end namespace llvm + +#endif + |