misched: Analysis that partitions the DAG into subtrees.
authorAndrew Trick <atrick@apple.com>
Wed, 28 Nov 2012 05:13:28 +0000 (05:13 +0000)
committerAndrew Trick <atrick@apple.com>
Wed, 28 Nov 2012 05:13:28 +0000 (05:13 +0000)
commit8b1496c922b6a21296f7d42172df45bf205d5419
treed8ea587e9dc64b671e0954252aa11c2597b8e20b
parent53e98a2c4aa7065f4136c5263b14192036c1e056
misched: Analysis that partitions the DAG into subtrees.

This is a simple, cheap infrastructure for analyzing the shape of a
DAG. It recognizes uniform DAGs that take the shape of bottom-up
subtrees, such as the included matrix multiplication example. This is
useful for heuristics that balance register pressure with ILP. Two
canonical expressions of the heuristic are implemented in scheduling
modes: -misched-ilpmin and -misched-ilpmax.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168773 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ScheduleDFS.h
lib/CodeGen/MachineScheduler.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
test/CodeGen/X86/misched-matrix.ll