Skip to Main content Skip to Navigation
New interface
Conference papers

A simple, verified validator for software pipelining

Abstract : Software pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class performances characteristics, but at the cost of significant obfuscation of the code, making this optimization difficult to test and debug. In this paper, we present a translation validation algorithm that uses symbolic evaluation to detect semantics discrepancies between a loop and its pipelined version. Our algorithm can be implemented simply and efficiently, is provably sound, and appears to be complete with respect to most modulo scheduling algorithms. A conclusion of this case study is that it is possible and effective to use symbolic evaluation to reason about loop transformations.
Document type :
Conference papers
Complete list of metadata

Cited literature [28 references]  Display  Hide  Download
Contributor : Xavier Leroy Connect in order to contact the contributor
Submitted on : Tuesday, October 26, 2010 - 5:02:20 PM
Last modification on : Thursday, February 3, 2022 - 11:18:21 AM
Long-term archiving on: : Friday, October 26, 2012 - 12:25:29 PM


Files produced by the author(s)




Jean-Baptiste Tristan, Xavier Leroy. A simple, verified validator for software pipelining. 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2010, Jan 2010, Madrid, Spain. ⟨10.1145/1706299.1706311⟩. ⟨inria-00529836⟩



Record views


Files downloads