Arch: chore
This commit is contained in:
@ -1,17 +1,22 @@
|
||||
#### Зависимость по управлению.
|
||||
|
||||
Определяют порядок инструкции с учетом инструкций перехода.
|
||||
|
||||
Каждая инструкция в программе кроме тех, которые находятся в самом первом базовом блоке программы, зависима по управлению от некоторого множества переходов.
|
||||
|
||||
Инструкцию, зависимую по управлению от перехода нельзя переместить перед переходом так, что ее исполнение более не будет управляться переходом.
|
||||
|
||||
Инструкцию, не зависимую по управлению от перехода нельзя переместить так, что ее исполнение будет управляться переходом (в часть then).
|
||||
|
||||
В некоторых случаях возможно обойти эти ограничения и сохранить корректное исполнение.
|
||||
|
||||
**Пример зависимости:**
|
||||
```c
|
||||
if p1{
|
||||
s1; s1 зависима по управлению от p1. s2 зависима по управлению от p2, но не от p1.
|
||||
if p1 {
|
||||
s1; // s1 зависима по управлению от p1
|
||||
}
|
||||
if p2{
|
||||
s2;
|
||||
|
||||
if p2 {
|
||||
s2; // s2 зависима по управлению от p2, но не от p1
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user