aboutsummaryrefslogtreecommitdiff
path: root/lib/VMCore/Pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VMCore/Pass.cpp')
-rw-r--r--lib/VMCore/Pass.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/VMCore/Pass.cpp b/lib/VMCore/Pass.cpp
index 24f14f804b..1c54a1b2d1 100644
--- a/lib/VMCore/Pass.cpp
+++ b/lib/VMCore/Pass.cpp
@@ -107,6 +107,17 @@ static TimeRecord getTimeRecord() {
return Result;
}
+bool TimeRecord::operator<(const TimeRecord &TR) const {
+ // Primary sort key is User+System time
+ if (UserTime+SystemTime < TR.UserTime+TR.SystemTime)
+ return true;
+ if (UserTime+SystemTime > TR.UserTime+TR.SystemTime)
+ return false;
+
+ // Secondary sort key is Wall Time
+ return Elapsed < TR.Elapsed;
+}
+
void TimeRecord::passStart(const TimeRecord &T) {
Elapsed -= T.Elapsed;
UserTime -= T.UserTime;