30 std::unique_ptr<Pipeline>
36 auto RCU = llvm::make_unique<RetireControlUnit>(SM);
40 auto HWS = llvm::make_unique<Scheduler>(SM, *LSU);
43 auto Fetch = llvm::make_unique<EntryStage>(
SrcMgr);
44 auto Dispatch = llvm::make_unique<DispatchStage>(STI, MRI, Opts.
DispatchWidth,
46 auto Execute = llvm::make_unique<ExecuteStage>(*HWS);
47 auto Retire = llvm::make_unique<RetireStage>(*RCU, *PRF);
56 auto StagePipeline = llvm::make_unique<Pipeline>();
57 StagePipeline->appendStage(std::move(Fetch));
58 StagePipeline->appendStage(std::move(Dispatch));
59 StagePipeline->appendStage(std::move(Execute));
60 StagePipeline->appendStage(std::move(Retire));
This file defines the retire stage of a default instruction pipeline.
void addHardwareUnit(std::unique_ptr< HardwareUnit > H)
This class represents lattice values for constants.
This file simulates the hardware responsible for retiring instructions.
A builder class that knows how to construct Instruction objects.
std::unique_ptr< Pipeline > createDefaultPipeline(const PipelineOptions &Opts, InstrBuilder &IB, SourceMgr &SrcMgr)
Construct a basic pipeline for simulating an out-of-order pipeline.
This is a convenience struct to hold the parameters necessary for creating the pre-built "default" ou...
This file defines the execution stage of a default instruction pipeline.
This file defines a class for holding ownership of various simulated hardware units.
unsigned RegisterFileSize
This file defines the Entry stage of an instruction pipeline.
This file defines a register mapping file class.
This file models the dispatch component of an instruction pipeline.
A scheduler for Processor Resource Units and Processor Resource Groups.
Machine model for scheduling, bundling, and heuristics.
const MCSchedModel & getSchedModel() const
Get the machine model for this subtarget's CPU.