Skip to content

Commit cd8cbc3

Browse files
committed
feat: add thumbnail
1 parent b8c5270 commit cd8cbc3

File tree

4 files changed

+5
-3
lines changed

4 files changed

+5
-3
lines changed
47.8 KB
Loading
47.3 KB
Loading

src/content/blog/React_Compiler_3.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ author: "Yongseok"
55
categories: ["React Compiler"]
66
date: '2024-06-10T15:10:03.760Z'
77
series: "React Compiler"
8+
heroImage: "/post/images/ReactCompiler3/thumb.png"
89
---
910
import LinkPreview from '@components/LinkPreview.astro'
1011
import { YouTube } from "@components/lit/youtube-element"

src/content/blog/React_Compiler_4.mdx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
---
22
title: React Compiler, 어떻게 동작할까 [4] - SSA변환(이론과 구현)
3-
description: "React Compiler의 SSA 변환에 대해 알아보자."
3+
description: "React Compiler의 SSA 변환에 대해 알아보자. SSA는 Static Single Assignment의 약자로, 최적화를 위해 사용되는 중간 표현 중 하나입니다. SSA는 변수가 한 번만 대입되도록 제한하는 특징이 있습니다. 이는 def-use chain을 추적하기가 쉽도록 도와줍니다. SSA 변환 알고리즘의 핵심은 phi함수를 어디에 놓을지를 결정하는 것입니다. React Compiler의 경우 Cytron et al.의 알고리즘을 사용하고 있습니다."
44
author: "Yongseok"
55
categories: ["React Compiler"]
66
date: '2024-07-14T07:57:08.825Z'
77
series: "React Compiler"
8+
heroImage: "/post/images/ReactCompiler4/thumb.png"
89
---
910
import LinkPreview from '@components/LinkPreview.astro'
1011
import { YouTube } from "@components/lit/youtube-element"
@@ -482,7 +483,7 @@ bb1 (block):
482483
[18] Return $15
483484
```
484485

485-
분기 이전의 **bbo**, if의 then블럭인 **bb2**, else블럭인 **bb3** 그리고 분기 이후의 **bb1**로 나눠진 것을 볼 수 있습니다.\
486+
분기 이전의 **bb0**, if의 then블럭인 **bb2**, else블럭인 **bb3** 그리고 분기 이후의 **bb1**로 나눠진 것을 볼 수 있습니다.\
486487
먼저 각 블럭에 대해서 **지역 값 번호 매기기**를 수행합니다.
487488

488489
기존 **HIR**에서는 공통적으로 `x$1`이라는 변수를 사용하고 있습니다.\
@@ -526,7 +527,7 @@ bb1 (block):
526527

527528
그런데 **bb1**에서는 **정의와 사용**이 같은 블럭에 있지 않습니다. \
528529
**정의**(def)부분은 찾아볼 수 없고 바로 **LoadLocal**(use)이 있습니다.\
529-
그러면 이 경우는 지역 값을 메길 수 없습니다. 그렇게 다음단계인 **전역 값 번호 매기기**로 넘어가게 됩니다.
530+
그러면 이 경우는 지역 값을 매길 수 없습니다. 그렇게 다음단계인 **전역 값 번호 매기기**로 넘어가게 됩니다.
530531

531532
#### 전역 값 번호 매기기(Global Variable Numbering)
532533

0 commit comments

Comments
 (0)