Support for Conditional Execution in Selective Scheduling.
Conditional execution is a hardware feature available in some CPUs that allows assigning instruction a predicate so that instruction will only execute if the predicate is true. In this paper we propose a method for supporting conditional execution in the instruction scheduler and discuss the advantages of this approach compared to a stand-alone optimization pass that precedes the instruction scheduling. We have implemented the proposed optimization in the selective scheduling in GCC compiler. Experimental results show an average improvement of 2% (and up to 16% on selected tests) for SPECFP part of SPEC CPU2000 benchmark.
Proceedings of the Institute for System Programming, vol. 21, 2011, pp. 103-118.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).