Modern and emerging architectures demand increasingly complex compiler analyses and transformations. As the emphasis on compiler infrastructure moves beyond support for peephole optimizations and the extraction of instruction-level parallelism, they should support custom tools designed to meet these demands with higher-level analysis-powered abstractions of wider program scope. This paper introduces NOELLE, a robust open-source domain-independent compilation layer built upon LLVM providing this support. NOELLE is modular and demand-driven, making it easy-to-extend and adaptable to custom-tool-specific needs without unduly wasting compile time and memory. This paper shows the power of NOELLE by presenting a diverse set of ten custom tools built upon it, with a 33.2% to 99.2% reduction in code size (LoC) compared to their counterparts without NOELLE.
翻译:现代和新兴的架构要求越来越复杂的汇编分析和转换。 由于对汇编者基础设施的强调超越了对眼孔优化的支持和对教学级平行的提取,它们应当支持定制工具,这些工具旨在用更高层次的分析动力抽象的更广泛的程序范围满足这些需求。 本文介绍了NOELLE,这是以LLVM为基础的一个强大的开放源码域独立编集层,以LLVM为基础提供这种支持。 NOELLE是模块化和需求驱动的,使得它易于扩展并适应定制工具的具体需求,而不会不适当地浪费汇编时间和记忆。 本文展示了NOELLE的力量,展示了在它上建立的一套不同的十种定制工具,其代码大小(LOC)比没有NOELE的对应工具减少了33.2%至99.2%。