Sciweavers

HEURISTICS
2008

Learning heuristics for basic block instruction scheduling

13 years 4 months ago
Learning heuristics for basic block instruction scheduling
Instruction scheduling is an important step for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedule for a basic block--a straight-line sequence of code with a single entry point and a single exit point--subject to precedence, latency, and resource constraints. Solving the problem exactly is known to be difficult, and most compilers use a greedy list scheduling algorithm coupled with a heuristic. The heuristic is usually hand-crafted, a potentially time-consuming process. In contrast, we present a study on automatically learning good heuristics using techniques from machine learning. In our study, a recently proposed optimal basic block scheduler was used to generate the machine learning training data. A decision tree learning algorithm was then used to induce a simple heuristic from the training data. The automatically constructed decision tree heuristic was compared against a...
Abid M. Malik, Tyrel Russell, Michael Chase, Peter
Added 10 Dec 2010
Updated 10 Dec 2010
Type Journal
Year 2008
Where HEURISTICS
Authors Abid M. Malik, Tyrel Russell, Michael Chase, Peter van Beek
Comments (0)