Improve compatiblity with HPUX on Itanium, patch by Duraid Madina


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19586 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Target/TargetSchedInfo.h b/include/llvm/Target/TargetSchedInfo.h
index 9a4497f..bd2f828 100644
--- a/include/llvm/Target/TargetSchedInfo.h
+++ b/include/llvm/Target/TargetSchedInfo.h
@@ -22,9 +22,9 @@
 
 namespace llvm {
 
-typedef long long cycles_t; 
-static const cycles_t HUGE_LATENCY = ~((long long) 1 << (sizeof(cycles_t)-2));
-static const cycles_t INVALID_LATENCY = -HUGE_LATENCY; 
+typedef long long CycleCount_t; 
+static const CycleCount_t HUGE_LATENCY = ~((long long) 1 << (sizeof(CycleCount_t)-2));
+static const CycleCount_t INVALID_LATENCY = -HUGE_LATENCY; 
 
 //---------------------------------------------------------------------------
 // class MachineResource 
@@ -78,7 +78,7 @@
   unsigned      maxNumIssue;
   bool	        isSingleIssue;
   bool	        breaksGroup;
-  cycles_t      numBubbles;
+  CycleCount_t      numBubbles;
   
   // Feasible slots to use for instructions in this class.
   // The size of vector S[] is `numSlots'.
@@ -109,7 +109,7 @@
   MachineOpCode	opCode;
   bool		isSingleIssue;
   bool		breaksGroup;
-  cycles_t	numBubbles;
+  CycleCount_t	numBubbles;
 };
 
 
@@ -119,13 +119,13 @@
   // Issue restrictions for this instruction
   bool		isSingleIssue;
   bool		breaksGroup;
-  cycles_t	numBubbles;
+  CycleCount_t	numBubbles;
   
   // Feasible slots to use for this instruction.
   std::vector<bool> feasibleSlots;
   
   // Resource usages for this instruction, with one resource vector per cycle.
-  cycles_t	numCycles;
+  CycleCount_t	numCycles;
   std::vector<std::vector<resourceId_t> > resourcesByCycle;
   
 private:
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 8b282a0..d2a6741 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -461,7 +461,7 @@
 
 // int clock(void) - Profiling implementation
 GenericValue lle_i_clock(FunctionType *M, const vector<GenericValue> &Args) {
-  extern int clock(void);
+  extern unsigned int clock(void);
   GenericValue GV; GV.IntVal = clock();
   return GV;
 }
diff --git a/lib/Target/TargetSchedInfo.cpp b/lib/Target/TargetSchedInfo.cpp
index adf9137..b2f66db 100644
--- a/lib/Target/TargetSchedInfo.cpp
+++ b/lib/Target/TargetSchedInfo.cpp
@@ -61,22 +61,22 @@
 }
 
 
-static cycles_t
+static CycleCount_t
 ComputeMinGap(const InstrRUsage &fromRU, 
 	      const InstrRUsage &toRU)
 {
-  cycles_t minGap = 0;
+  CycleCount_t minGap = 0;
   
   if (fromRU.numBubbles > 0)
     minGap = fromRU.numBubbles;
   
   if (minGap < fromRU.numCycles) {
     // only need to check from cycle `minGap' onwards
-    for (cycles_t gap=minGap; gap <= fromRU.numCycles-1; gap++) {
+    for (CycleCount_t gap=minGap; gap <= fromRU.numCycles-1; gap++) {
       // check if instr. #2 can start executing `gap' cycles after #1
       // by checking for resource conflicts in each overlapping cycle
-      cycles_t numOverlap =std::min(fromRU.numCycles - gap, toRU.numCycles);
-      for (cycles_t c = 0; c <= numOverlap-1; c++)
+      CycleCount_t numOverlap =std::min(fromRU.numCycles - gap, toRU.numCycles);
+      for (CycleCount_t c = 0; c <= numOverlap-1; c++)
         if (RUConflict(fromRU.resourcesByCycle[gap + c],
                        toRU.resourcesByCycle[c])) {
           // conflict found so minGap must be more than `gap'