[PATCH] D46907: [llvm-mca] Introduce a sequential container of Stages

Matt Davis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 21 16:14:40 PDT 2018


mattd updated this revision to Diff 152399.
mattd added a comment.

This change lifts the component initialization (stages and simulated hardware bits) out of Backend and into llvm-mca.  That code will eventually be exposed as initializeDefaultPipeline. This patch removes the ownership of the simulated hardware pieces (Scheduler, RegisterFile, etc) from the Backend.  Now a user can create stages using the simulated hardware components without having to enforce that the Backend own those components.  That happens to simplify pipeline construction; however, we'll eventually need to pass ownership of the hardware with the stages.  But for now,  the patch just decouples hardware, stages, and the backend.


https://reviews.llvm.org/D46907

Files:
  tools/llvm-mca/Backend.cpp
  tools/llvm-mca/Backend.h
  tools/llvm-mca/DispatchStage.h
  tools/llvm-mca/ExecuteStage.cpp
  tools/llvm-mca/ExecuteStage.h
  tools/llvm-mca/FetchStage.cpp
  tools/llvm-mca/FetchStage.h
  tools/llvm-mca/RetireStage.h
  tools/llvm-mca/Stage.h
  tools/llvm-mca/llvm-mca.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46907.152399.patch
Type: text/x-patch
Size: 12798 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180621/94b08f73/attachment-0001.bin>


More information about the llvm-commits mailing list