[llvm-commits] CVS: llvm/include/llvm/Target/TargetInstrItineraries.h
Jim Laskey
jlaskey at apple.com
Thu Oct 27 11:18:17 PDT 2005
Changes in directory llvm/include/llvm/Target:
TargetInstrItineraries.h added (r1.1)
---
Log message:
Structures used to hold scheduling information.
---
Diffs of the changes: (+46 -0)
TargetInstrItineraries.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+)
Index: llvm/include/llvm/Target/TargetInstrItineraries.h
diff -c /dev/null llvm/include/llvm/Target/TargetInstrItineraries.h:1.1
*** /dev/null Thu Oct 27 13:18:16 2005
--- llvm/include/llvm/Target/TargetInstrItineraries.h Thu Oct 27 13:18:05 2005
***************
*** 0 ****
--- 1,46 ----
+ //===-- llvm/Target/TargetInstrItineraries.h - Scheduling -------*- C++ -*-===//
+ //
+ // 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 describes the structures used for instruction itineraries and
+ // states. This is used by schedulers to determine instruction states and
+ // latencies.
+ //
+ //===----------------------------------------------------------------------===//
+
+ #ifndef LLVM_TARGET_TARGETINSTRITINERARIES_H
+ #define LLVM_TARGET_TARGETINSTRITINERARIES_H
+
+ namespace llvm {
+
+ //===----------------------------------------------------------------------===//
+ // Instruction stage - These values represent a step in the execution of an
+ // instruction. The latency represents the number of discrete time slots used
+ // need to complete the stage. Units represent the choice of functional units
+ // that can be used to complete the stage. Eg. IntUnit1, IntUnit2.
+ //
+ struct InstrStage {
+ unsigned Cycles; // Length of stage in machine cycles
+ unsigned Units; // Choice of functional units
+ };
+
+
+ //===----------------------------------------------------------------------===//
+ // Instruction itinerary - An itinerary represents a sequential series of steps
+ // required to complete an instruction. Itineraries are represented as
+ // sequences of instruction stages.
+ //
+ struct InstrItinerary {
+ unsigned First; // Index of first stage in itinerary
+ unsigned Last; // Index of last + 1 stage in itinerary
+ };
+
+
+ } // End llvm namespace
+
+ #endif
More information about the llvm-commits
mailing list