//
// The LLVM Compiler Infrastructure
//
-// This file was developed by the James M. Laskey and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
#ifndef LLVM_TARGET_TARGETINSTRITINERARIES_H
#define LLVM_TARGET_TARGETINSTRITINERARIES_H
-#include <cassert>
-
namespace llvm {
//===----------------------------------------------------------------------===//
// used by a target.
//
struct InstrItineraryData {
- InstrStage *Stages; // Array of stages selected
- InstrItinerary *Itineratries; // Array of itineraries selected
+ const InstrStage *Stages; // Array of stages selected
+ const InstrItinerary *Itineratries; // Array of itineraries selected
//
// Ctors.
//
- InstrItineraryData() : Stages(NULL), Itineratries(NULL) {}
- InstrItineraryData(InstrStage *S, InstrItinerary *I) : Stages(S), Itineratries(I) {}
+ InstrItineraryData() : Stages(0), Itineratries(0) {}
+ InstrItineraryData(const InstrStage *S, const InstrItinerary *I)
+ : Stages(S), Itineratries(I) {}
//
// isEmpty - Returns true if there are no itineraries.
//
- inline bool isEmpty() const { return Itineratries == NULL; }
+ inline bool isEmpty() const { return Itineratries == 0; }
//
// begin - Return the first stage of the itinerary.
//
- inline InstrStage *begin(unsigned ItinClassIndx) const {
+ inline const InstrStage *begin(unsigned ItinClassIndx) const {
unsigned StageIdx = Itineratries[ItinClassIndx].First;
return Stages + StageIdx;
}
//
// end - Return the last+1 stage of the itinerary.
//
- inline InstrStage *end(unsigned ItinClassIndx) const {
+ inline const InstrStage *end(unsigned ItinClassIndx) const {
unsigned StageIdx = Itineratries[ItinClassIndx].Last;
return Stages + StageIdx;
}