From 638559aaa3a30cef596fae20292295cb0a329df1 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 16 Jan 2005 01:31:31 +0000 Subject: [PATCH] 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 --- include/llvm/Target/TargetSchedInfo.h | 14 +++++++------- .../Interpreter/ExternalFunctions.cpp | 2 +- lib/Target/TargetSchedInfo.cpp | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/include/llvm/Target/TargetSchedInfo.h b/include/llvm/Target/TargetSchedInfo.h index 9a4497f9c29..bd2f828e4de 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 @@ struct InstrClassRUsage { 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 @@ struct InstrIssueDelta { MachineOpCode opCode; bool isSingleIssue; bool breaksGroup; - cycles_t numBubbles; + CycleCount_t numBubbles; }; @@ -119,13 +119,13 @@ struct InstrRUsage { // Issue restrictions for this instruction bool isSingleIssue; bool breaksGroup; - cycles_t numBubbles; + CycleCount_t numBubbles; // Feasible slots to use for this instruction. std::vector feasibleSlots; // Resource usages for this instruction, with one resource vector per cycle. - cycles_t numCycles; + CycleCount_t numCycles; std::vector > resourcesByCycle; private: diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp index 8b282a03f00..d2a67411de7 100644 --- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -461,7 +461,7 @@ GenericValue lle_X_scanf(FunctionType *M, const vector &args) { // int clock(void) - Profiling implementation GenericValue lle_i_clock(FunctionType *M, const vector &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 adf913723dd..b2f66dbdee1 100644 --- a/lib/Target/TargetSchedInfo.cpp +++ b/lib/Target/TargetSchedInfo.cpp @@ -61,22 +61,22 @@ RUConflict(const std::vector& fromRVec, } -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'