HomePhabricator

[MCA] Refactor class BottleneckAnalysis. NFCI

Authored by andreadb on May 31 2019, 10:18 AM.

Description

[MCA] Refactor class BottleneckAnalysis. NFCI

The resource pressure distribution computation is now delegated by class
BottleneckAnalysis to an instance of class PressureTracker.
Class PressureTracker is also responsible for:

  • tracking users of processor resource units.
  • tracking the number of delay cycles caused by increases in backpressure.

BottleneckAnalysis internally initializes a dependency graph. Each nodes
represents an instruction in the input code sequence. Edges of the dependency
graph are critical register/memory/resource dependencies. Dependencies are only
added to the graph if they are seen as critical by backend pressure events.

The DependencyGraph is currently unused. It is possible to print the dependency
graph (see method DependencyGraph::dump()) for debugging purposes.
The long term goal is to use the information stored by the dependency graph in
order to do critical path computation.

llvm-svn: 362246

Details

Committed
andreadbMay 31 2019, 10:18 AM
Parents
rG68fa6ddb9d44: Replace 'default' in an enum-over-a-switch with the missing list.
Branches
Unknown
Tags
Unknown