+++ title = "Reverse if-conversion" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["3c3f", "2b1d"] forwardlinks = ["1c8", "1b8", "3c3f"] zettelid = "2b1e" +++ To be able to target standard processors, reverse if-conversion can be used to create if-statements and branches based on the predicated instructions. Scheduling over multiple blocks can then be performed by adding predicates, doing if-conversion ([\#1c8]) and hyperblock scheduling ([\#1b8]). Then, to convert back to a basic-block view of the code, reverse if-conversion can be used. This therefore has a similar effect to scheduling instructions using trace scheduling ([\#3c3f]). [\#1c8]: /zettel/1c8 [\#1b8]: /zettel/1b8 [\#3c3f]: /zettel/3c3f