Skip to content
naulon
Not checkedNot checked for notices yet.

Nonio — modular automatic compiler phase selection and ordering specialization framework for modern compilers

Ricardo Nobre, João Bispo, Tiago Carvalho and 1 more

SoftwareX · 2019

doi:10.1016/j.softx.2019.100238 (opens in a new tab)

We email you when a new notice or a question about this paper appears.

Abstract

This article presents Nonio, a modular, easy-to-use, design space exploration framework focused on exploring custom combinations of compiler flags and compiler sequences. We describe the framework and discuss its use with two of the most popular compiler toolchains, GCC and Clang+LLVM. Particularly, we discuss implementation details in the context of flag selection, when using GCC, and phase selection and ordering, when using Clang+LLVM. The framework software organization allows to easily add new components as plug-ins (e.g., an exploration algorithm, an objective metric, integration with another compiler toolchain). The software architecture provides well-defined interfaces, in order to enable seamless composition and interaction between different components. We present, as an example, a use case where we rely on Nonio to obtain custom compiler flags for reducing the execution time and the energy consumption of a C program, in relation to the best predetermined optimization settings provided by the compiler (e.g., –O3). Keywords: Compiler optimizations, Design space exploration, Flag selection, Performance

Abstract licence: CC BY-NC

Reads

Read by people on this page

None yet.

Checked or read by AI through naulon

None yet.

A person counts once a day per paper. We keep no cookie and no address: a reader is a hash that changes every day. Any month under five reads shows no number.

Are you an author?

Is this your paper?

Claim it to add your note and be paid when agents cite it. Free.