Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ssa 분석을 global variable에 대해서도? #13

Open
minkiminki opened this issue Nov 8, 2018 · 2 comments
Open

ssa 분석을 global variable에 대해서도? #13

minkiminki opened this issue Nov 8, 2018 · 2 comments

Comments

@minkiminki
Copy link
Owner

지금은 global variable에 대해서는 ssa 분석과 모든 최적화를 포기한다.
그런데 global variable에 대해서도 ssa 분석을 할 경우 constant propagation, subexpression 최적화는 가능할 것으로 보인다.
이 경우 register allocation에서는 제외된다. 또한 다른 함수를 부를 경우는 글로벌 변수의 값은 전부 새로 쓴다(함수가 건드리는 글로벌 변수들을 추적해서 활용하는 더 잘 최적화하는 방법도 있다).

조금 더 공격적으로, write가 두 번 있을 경우 하나로 합치는 것을 고려할 수 있다.

@minkiminki
Copy link
Owner Author

minkiminki commented Nov 9, 2018

테스트 케이스 몇개는 main 함수에 로컬 변수 선언이 안 되는지 글로벌 변수를 로컬 변수처럼 이용한다. 이거만 바꿔도 많은 최적화가 가능해질 듯하다.

=> 완료

@minkiminki
Copy link
Owner Author

minkiminki commented Nov 9, 2018

gcd.mod를 보면 a[1]에 대해 너무 많은 로드가 생긴다. 이를 최적화 가능할까? 쉽지는 않아보임

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant