Design, Automation and Test in Europe (DATE '99)
Exploiting Conditional Instructions in Code Generation for Embedded VLIW Processors
Munich, Germany
March 09-March 12
ISBN: 0-7695-0078-1
This paper presents a new code optimiza-tion technique for a class of embedded processors. Mod-ern embedded processor architectures show deep instruction pipelines and highly parallel VLIW-like instruction sets. For such architectures, any change in the control flow of a ma-chine program due to a conditional jump may cause a signif-icant code performance penalty. Therefore, the instruction sets of recent VLIW machines offer support for branch-free execution of conditional statements in the form of so-called conditional instructions. Whether an if-then-else statement is implemented by a conditional jump scheme or by conditional instructions has a strong impact on its worst-case execution time. However, the optimal selection is difficult particularly for nested conditionals. We present a dynamic programming technique for selecting the fastest implementation for nested if-then-else statements based on estimations. The efficacy is demonstrated for a real-life VLIW DSP.