Seventh IEEE/ACIS International Conference on Computer and Information Science (icis 2008)
Reconstructing Control Flow in Modulo Scheduled Loops
May 14-May 16
ISBN: 978-0-7695-3131-1
Software pipelining is a loop optimization technique used to exploit instruction level parallelism in the loop. EPICarchitectures, such as Intel IA-64 (Itanium) provide extensive hardware support for software pipelining to generate compact and highly parallel code. However it transforms explicit conditional branches into implicit control flow based on the information of the guard registers. It is difficult to reconstruct precisecontrol flow from the optimized code. This paper describes an approach to reconstruct implicit control flow in modulo scheduled loops and thereby improve the quality of reverse engineering optimized executables. We also demonstrate the effectiveness of this approach through experiment results.
Index Terms:
decompilation, modulo scheduling, conditional branches, predication execution, register rotation
Citation:
Miao Wang, Rongcai Zhao, Jianmin Pang, Guoming Cai, "Reconstructing Control Flow in Modulo Scheduled Loops," icis, pp.539-544, Seventh IEEE/ACIS International Conference on Computer and Information Science (icis 2008), 2008