17 lines
1.3 KiB
Markdown
17 lines
1.3 KiB
Markdown
![]() |
#### Зависимость по управлению.
|
|||
|
|
|||
|
Определяют порядок инструкции с учетом инструкций перехода.
|
|||
|
Каждая инструкция в программе кроме тех, которые находятся в самом первом базовом блоке программы, зависима по управлению от некоторого множества переходов.
|
|||
|
Инструкцию, зависимую по управлению от перехода нельзя переместить перед переходом так, что ее исполнение более не будет управляться переходом.
|
|||
|
Инструкцию, не зависимую по управлению от перехода нельзя переместить так, что ее исполнение будет управляться переходом (в часть then).
|
|||
|
В некоторых случаях возможно обойти эти ограничения и сохранить корректное исполнение.
|
|||
|
|
|||
|
**Пример зависимости:**
|
|||
|
```c
|
|||
|
if p1{
|
|||
|
s1; s1 зависима по управлению от p1. s2 зависима по управлению от p2, но не от p1.
|
|||
|
}
|
|||
|
if p2{
|
|||
|
s2;
|
|||
|
}
|
|||
|
```
|