3&4 Data Flow Analysis — Applications

Zesari 发布于 26 天前 187 次阅读


这一章还蛮需要理解的,所以在这里做一个详细复盘

高光理解:

Reaching Defination Anaylsis 算法为什么能停?因为每一个BB的gen和kill不会变,所以IN不变OUT不变。Entry的OUT是空,即除EntryBB外的首个BB的IN被定死了!第一个非Entry的BB的OUT率先不变,带领剩下的BB OUT走向不变

1. Overview and preliminaries

2. Reaching Definition Analysis

算法为什么能停?因为每一个BB的gen和kill不会变,有的BB的OUT率先不变,带领剩下的BB OUT走向不变

详细运行流程见视频:课程03(Data Flow Analysis I)_哔哩哔哩_bilibili

3. Live Variables Analysis

注意:trasfer func不能直接带入useB和defB,因为如果一个BB中先def后use,则在INpoint的v仍是deaf,不会因为BB后部分有v的use而live

4. Avaliable Expression Analysis

Hello, It's me.
最后更新于 2025-11-13