Lines Matching refs:mca

1 //===-- llvm-mca.cpp - Machine Code Analyzer -------------------*- C++ -* -===//
12 // llvm-mca [options] <file-name>
277 static bool runPipeline(mca::Pipeline &P) {
323 // Apply overrides to llvm-mca specific options.
378 // Parse the input and create CodeRegions that llvm-mca can analyze.
379 mca::AsmCodeRegionGenerator CRG(*TheTarget, SrcMgr, Ctx, *MAI, *STI, *MCII);
380 Expected<const mca::CodeRegions &> RegionsOrErr = CRG.parseCodeRegions();
391 const mca::CodeRegions &Regions = *RegionsOrErr;
430 mca::InstrBuilder IB(*STI, *MCII, *MRI, MCIA.get());
433 mca::Context MCA(*MRI, *STI);
435 mca::PipelineOptions PO(MicroOpQueue, DecoderThroughput, DispatchWidth,
448 for (const std::unique_ptr<mca::CodeRegion> &Region : Regions) {
463 // Lower the MCInst sequence into an mca::Instruction sequence.
465 mca::CodeEmitter CE(*STI, *MAB, *MCE, Insts);
466 std::vector<std::unique_ptr<mca::Instruction>> LoweredSequence;
468 Expected<std::unique_ptr<mca::Instruction>> Inst =
473 [&IP, &STI](const mca::InstructionError<MCInst> &IE) {
491 mca::SourceMgr S(LoweredSequence, PrintInstructionTables ? 1 : Iterations);
495 auto P = std::make_unique<mca::Pipeline>();
496 P->appendStage(std::make_unique<mca::EntryStage>(S));
497 P->appendStage(std::make_unique<mca::InstructionTables>(SM));
498 mca::PipelinePrinter Printer(*P);
502 Printer.addView(std::make_unique<mca::InstructionInfoView>(
506 std::make_unique<mca::ResourcePressureView>(*STI, *IP, Insts));
517 mca::PipelinePrinter Printer(*P);
521 std::make_unique<mca::SummaryView>(SM, Insts, DispatchWidth));
524 Printer.addView(std::make_unique<mca::BottleneckAnalysis>(
529 Printer.addView(std::make_unique<mca::InstructionInfoView>(
533 Printer.addView(std::make_unique<mca::DispatchStatistics>());
536 Printer.addView(std::make_unique<mca::SchedulerStatistics>(*STI));
539 Printer.addView(std::make_unique<mca::RetireControlUnitStatistics>(SM));
542 Printer.addView(std::make_unique<mca::RegisterFileStatistics>(*STI));
546 std::make_unique<mca::ResourcePressureView>(*STI, *IP, Insts));
551 Printer.addView(std::make_unique<mca::TimelineView>(