Predicated execution is a promising architectural feature for e4ploiting instruction-level parallelism in the presence of control Jvw. Compiling for predicated execution involves converting program control flow into conditional, or predicated, instructions. This process is known as $-conversion. In order to effectively apply if-conversion, one must address two major issues; what should be ifconverted and when the ifconversion should be applied. A compiler's use of predication as a representation is most effective when large amounts of code are if-converted and +conversion is performed early in the compilation procedure. On the other hand, the jinal code generated for a processor with predicated execution requires a delicate balance between control flow and predication to achieve eficient execution. The appropriate balance is tightly coupled with scheduling decisions and detailed processor characteristics. This paper presents an cfective compilation framework that allows the compiler to maximize the benefts of Predication as a compiler representation while delaying the jinal balancing of controljow and predication to schedule time.
A compilation framework that delays the if-conversion to schedule time is designed to allow the compiler to minimize runtime by balancing the control-flow and predicated branches REF .
A framework for balancing control flow and predication
Proceedings of 30th Annual International Symposium on Microarchitecture
Proceedings of 30th Annual International Symposium on Microarchitecture
Computer Science