[PATCH] D47246: [llvm-mca] Introduce the ExecuteStage (was originally the Scheduler class).

Matt Davis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 8 14:50:38 PDT 2018


mattd updated this revision to Diff 150568.
mattd edited the summary of this revision.
mattd added a comment.

This is an updated patch that maintains  the logic of the Scheduler, but decoupling the hardware component from the execution component.
The ExecuteStage drives the Scheduler and provides the notification functionality.

- Scheduler::cycleEvent is now ExecuteStage::preExecute
- Scheduler::scheduleInstruction is now ExecuteStage::execute
- Scheduler::canBeDispatched now returns a HWStallEvent (or  NoStall) instead of a bool.  We might want to rename this routine to something more appropriate, it makes more sense to name the routine something that does not imply a boolean return value.  I left the name the same for this patch.
- The Backend  pointer (Owner) in ExecuteStage will eventually go away once we register the listeners to the stages.


https://reviews.llvm.org/D47246

Files:
  tools/llvm-mca/Backend.cpp
  tools/llvm-mca/Backend.h
  tools/llvm-mca/CMakeLists.txt
  tools/llvm-mca/DispatchStage.cpp
  tools/llvm-mca/DispatchStage.h
  tools/llvm-mca/ExecuteStage.cpp
  tools/llvm-mca/ExecuteStage.h
  tools/llvm-mca/HWEventListener.h
  tools/llvm-mca/Scheduler.cpp
  tools/llvm-mca/Scheduler.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47246.150568.patch
Type: text/x-patch
Size: 29929 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180608/0d4f7670/attachment.bin>


More information about the llvm-commits mailing list