Compiler

Static Single Assignment

Gauss1 2021. 11. 5. 02:26

Def-use chain

Use-def chain

 

Static Single Assignment(SSA)

=> improve def-use chains

=> each register has only one definition

 

Phi Function

 

 

Dominance Frontier

=> Dominator: 만약 어떤 노드 x가 Entry에서 y까지 가는 모든 path에 의해서 반드시 호출 되어지는 것이라면 그것을 우리는 y의 dominator x라고 부른다.

=> Strictly dominating: x가 y의 strictly dominator 라고 한다면, x는 y를 domiante 한다 하지만 x는 y가 아니라는 것이다.

=> Dominance Frontier: X 는 Y의 predecessor들중 한개를 dominate한다. 하지만, x는 y를 strictly dominate 하지 않아야 한다. 그냥 dominate라고 보면, 자기 자신도 포함대므로, x=y를 허용하게 된다. 그러면 정의가 꼬인다.



출처: https://goodtogreate.tistory.com/entry/UseDef-Analysis-and-SSA-Static-Single-Assignment [GOOD to GREAT]

'Compiler' 카테고리의 다른 글

Scheduling  (0) 2021.11.05
Loop Optimization  (0) 2021.11.04
Register Allocation  (0) 2021.11.04
Alias Analysis  (0) 2021.11.04
Dataflow Analysis  (0) 2021.11.03