A Study of Irreducibility in C Programs

Stanier, James and Watson, Des (2011) A Study of Irreducibility in C Programs. Software: Practice and Experience, 42 (1). pp. 117-130. ISSN 1097-024X

Full text not available from this repository.


Compilers use a variety of techniques to optimize and Transform loops. However, many of these optimizations do not work when the loop is irreducible. Node splitting techniques transform irreducible loops into reducible loops, but many real-world compilers choose to leave them unoptimized. This article describes an empirical study of irreducibility in current versions of open-source software, and then compares them with older versions. We also study machine-generated C code from a number of software tools. We find that irreducibility is extremely rare, and is becoming less common with time. We conclude that leaving irreducible loops unoptimized is a perfectly feasible future-proof option due to the rarity of its occurrence
in non-trivial software. Copyright q 2011 John Wiley & Sons, Ltd.

Item Type: Article
Schools and Departments: School of Engineering and Informatics > Informatics
Depositing User: James Stanier
Date Deposited: 06 Feb 2012 20:39
Last Modified: 27 Mar 2012 15:06
URI: http://sro.sussex.ac.uk/id/eprint/27266
📧 Request an update