Skip to Main content Skip to Navigation

XFOR (Multifor): A New Programming Structure to Ease the Formulation of Efficient Loop Optimizations

Imen Fassi 1, 2
2 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : We propose a new programming structure named "XFOR" or "Multifor", dedicated to data-reuse aware programming. It allows to handle several for-loops simultaneously and map their respective iteration domains onto each other according to a running frequency the grain) and a relative position (the offset). Additionally, XFOR eases loop transformations application and composition. Experiments show that XFOR codes provides significant speed-ups when compared to the original code versions, but also to the Pluto optimized versions. We implemented the XFOR structure through the development of three software tools: (1) a source-to-source compiler named IBB for Iterate-But-Better!, which automatically translates any C/C++ code containing XFOR-loops into an equivalent code where XFOR-loops have been translated into for-loops. IBB takes also benefit of optimizations implemented in the polyhedral code generator CLooG which is invoked by IBB to generate for-loops from an OpenScop specification; (2) an XFOR programming environment named XFOR-WIZARD that assists the programmer in re-writing a program with classical for-loops into an equivalent but more efficient program using XFOR-loops; (3) a tool named XFORGEN, which automatically generates XFOR-loops from any OpenScop representation of transformed loop nests automatically generated by an automatic optimizer.
Document type :
Complete list of metadata

Cited literature [66 references]  Display  Hide  Download
Contributor : Philippe Clauss <>
Submitted on : Wednesday, January 6, 2016 - 4:13:17 PM
Last modification on : Monday, October 19, 2020 - 11:09:22 AM
Long-term archiving on: : Thursday, April 7, 2016 - 4:08:10 PM


  • HAL Id : tel-01251721, version 1


Imen Fassi. XFOR (Multifor): A New Programming Structure to Ease the Formulation of Efficient Loop Optimizations. Computation and Language [cs.CL]. Université de Strasbourg, 2015. English. ⟨tel-01251721⟩



Record views


Files downloads