summaryrefslogtreecommitdiffstats
path: root/content/zettel/1c2a2a.md
blob: 1501c1e34c9c6294f4f9449db8369bee5d46975b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
+++
title = "Dependency constraints"
author = "Yann Herklotz"
tags = []
categories = []
backlinks = ["1c2a2"]
forwardlinks = ["1c2a2b"]
zettelid = "1c2a2a"
+++

Data dependency constraints
:   If there is a data dependency between two variables, then one cannot
    be scheduled until the other has completed its execution.

$$\forall (v_i, v_j) \in E_d, \mathit{sv}_{\mathit{end}} (v_i) -\mathit{sv}_{\mathit{beg}} (v_j) \le 0$$

Control dependency constraint
:   Control dependencies are also set up, so that the instructions in
    basic block $\mathit{bb}_j$ cannot be scheduled before instructions
    in $\mathit{bb}_i$.

$$\forall (\mathit{bb}_i, \mathit{bb}_j) \in E_c, \mathit{sv}_{\mathit{end}}(\mathit{ssnk} (\mathit{bb}_i)) - \mathit{sv}_{\mathit{beg}} (\mathit{ssrc}(\mathit{bb}_j)) \le 0$$