//===--------------------- SchedulerStatistics.h ----------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// \file /// /// This file defines class SchedulerStatistics. Class SchedulerStatistics is a /// View that listens to instruction issue events in order to print general /// statistics related to the hardware schedulers. /// /// Example: /// ======== /// /// Schedulers - number of cycles where we saw N instructions issued: /// [# issued], [# cycles] /// 0, 6 (2.9%) /// 1, 106 (50.7%) /// 2, 97 (46.4%) /// /// Scheduler's queue usage: /// [1] Resource name. /// [2] Average number of used buffer entries. /// [3] Maximum number of used buffer entries. /// [4] Total number of buffer entries. /// /// [1] [2] [3] [4] /// JALU01 0 0 20 /// JFPU01 15 18 18 /// JLSAGU 0 0 12 // //===----------------------------------------------------------------------===// #ifndef LLVM_TOOLS_LLVM_MCA_SCHEDULERSTATISTICS_H #define LLVM_TOOLS_LLVM_MCA_SCHEDULERSTATISTICS_H #include "llvm/ADT/SmallVector.h" #include "llvm/MC/MCSubtargetInfo.h" #include "llvm/MCA/View.h" #include <map> namespace llvm { namespace mca { class SchedulerStatistics final : public View { … }; } // namespace mca } // namespace llvm #endif