1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib/MCA
Andrea Di Biagio c8095b709a [MCA][Scheduler] Collect resource pressure and memory dependency bottlenecks.
Every cycle, the Scheduler checks if instructions in the ReadySet can be issued
to the underlying pipelines. If an instruction cannot be issued because one or
more pipeline resources are unavailable, then field
Instruction::CriticalResourceMask is updated with the resource identifier of the
unavailable resources.

If an instruction cannot be promoted from the PendingSet to the ReadySet because
of a memory dependency, then field Instruction::CriticalMemDep is updated with
the identifier of the dependending memory instruction.

Bottleneck information is collected after every cycle for instructions that are
waiting to execute. The idea is to help identify causes of bottlenecks; this
information can be used in future to implement a bottleneck analysis.

llvm-svn: 354490
2019-02-20 18:01:49 +00:00
..
HardwareUnits [MCA][Scheduler] Collect resource pressure and memory dependency bottlenecks. 2019-02-20 18:01:49 +00:00
Stages [MCA][Scheduler] Collect resource pressure and memory dependency bottlenecks. 2019-02-20 18:01:49 +00:00
CMakeLists.txt
Context.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
HWEventListener.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstrBuilder.cpp [MCA] Store a bitmask of used groups in the instruction descriptor. 2019-02-13 14:56:06 +00:00
Instruction.cpp [MCA] Slightly refactor method writeStartEvent in WriteState and ReadState. NFCI 2019-02-18 11:27:11 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Pipeline.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Support.cpp [MCA] Improved debug prints. NFC 2019-02-12 16:18:57 +00:00