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

Register Allocation #2

Open
minkiminki opened this issue Oct 16, 2018 · 1 comment
Open

Register Allocation #2

minkiminki opened this issue Oct 16, 2018 · 1 comment

Comments

@minkiminki
Copy link
Owner

minkiminki commented Oct 16, 2018

  1. liveness 분석
  • TODO!!
  • 인자로 넘어갈 값, 리턴값은 마지막에 live여야 한다, 인자로 넘어온 값은 처음에 정의가 되어있다고 생각
  1. precoloring
  • 연산은 모두 register에서만 되도록
    • 각 연산에 모두 레지스터에 넘기는 부분을 하나씩 추가하면 될듯
  • 받는 인자, 넘기는 인자와 리턴 값은 위치 정해지게
    위치 정해진 것은 live 범위가 전체
  • callee save를 어떻게 처리할지
    • 처음에 callee save reigster를 전부 다른 곳에 저장한 뒤 마지막에 넣는걸로
    • coalescing이 잘 된다면 위의 것으로 충분할 것임
  1. coalescing
  • TODO!!
  • move 연산은 특수하게 다루어서 두 결과물 모두 같은 레지스터에 들어갈 수 있게, 그리고 잘 그래지게 하기
  1. spilling
  • TODO!!
@minkiminki minkiminki mentioned this issue Oct 16, 2018
@minkiminki
Copy link
Owner Author

완료

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

No branches or pull requests

1 participant