Fuzzy-neuro-controlled verified instruction scheduler
We present a fuzzy-neuro approach for instruction scheduling in compilers for modern high performance processors. Instruction scheduling is an optimization problem in NP and is usually addressed with processor dependent heuristics or processor simplifying cost models. The costs for executing a given instruction sequence on the processor can not be determined exactly in practice, because the exact execution model is too complex or simply not available from the manufacturer. Our approach enables the compiler to adapt the cost measure dynamically by learning the processor behavior and typical optimization situations on the basis of reinforcement learning. Additionally, we are able to include fuzzy a priori scheduling knowledge and derive verified implementations by the technique of program checking.