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)
commit48d392e81ec159657c5041856df5683f8aec627d
tree6b2a491692cc7399af7f8827fe8ab94a0ce0bd9f
parentcd1c2f9fb1f5484b3665f69789b6fa92837e2b72
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.

llvm-svn: 168773
llvm/include/llvm/CodeGen/ScheduleDFS.h
llvm/lib/CodeGen/MachineScheduler.cpp
llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
llvm/test/CodeGen/X86/misched-matrix.ll