summaryrefslogtreecommitdiffstats
path: root/content/zettel/2b1e.md
blob: 401d1eae2422c2d3cbb739493d3f9e8eaf6a2cc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
+++
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