Files

22 lines
1.3 KiB
Markdown
Raw Normal View History

#### Зависимость по управлению.
Определяют порядок инструкции с учетом инструкций перехода.
2025-06-20 12:48:16 +03:00
Каждая инструкция в программе кроме тех, которые находятся в самом первом базовом блоке программы, зависима по управлению от некоторого множества переходов.
2025-06-20 12:48:16 +03:00
Инструкцию, зависимую по управлению от перехода нельзя переместить перед переходом так, что ее исполнение более не будет управляться переходом.
2025-06-20 12:48:16 +03:00
Инструкцию, не зависимую по управлению от перехода нельзя переместить так, что ее исполнение будет управляться переходом (в часть then).
2025-06-20 12:48:16 +03:00
В некоторых случаях возможно обойти эти ограничения и сохранить корректное исполнение.
**Пример зависимости:**
```c
2025-06-20 12:48:16 +03:00
if p1 {
s1; // s1 зависима по управлению от p1
}
2025-06-20 12:48:16 +03:00
if p2 {
s2; // s2 зависима по управлению от p2, но не от p1
}
```