minkiminki / gocompa

Advanced Compiler Construction project
2 stars 0 forks source link

남은 할 일 #24

Open minkiminki opened 5 years ago

minkiminki commented 5 years ago
  1. register allocation 결과 이용하여 실제로 register에 할당시키기 => 완료 https://github.com/minkiminki/gocompa/commit/a5330b9f2c27be0eaeaa89eae24e479bfc48c58a
  2. https://github.com/minkiminki/gocompa/issues/16#issuecomment-441168841 에서 말한 pointer에 대한 constant propagation
  3. subexpression 최적화 + array의 값에 대한 peephole optimization

그 외 마이너한 것들

  1. callee save register 저장을 사용하지 않은 레지스터에 대해서는 안 하게 만들기 => 완료 https://github.com/minkiminki/gocompa/commit/dbb935223dc9a782ed434068fae5db8232984253
  2. https://github.com/minkiminki/gocompa/issues/22 대로 수정하면서 tail call optimization이 덜 공격적으로 작동한다. 제대로 동작하게 수정하기 => 완료 https://github.com/minkiminki/gocompa/commit/2c1f97ebc7380a6141012fcfcf082ed2ae5ed59c
  3. tail call 중 tail recursion은 loop로 바꾸는 최적화
  4. 필요 이상의 mov 지우기, opGetParam 효율적으로 컴파일 바꾸기 =>완료 https://github.com/minkiminki/gocompa/commit/eb87de16e85cc0c3f20aa507c10eeb4359d6cc34
minkiminki commented 5 years ago
  1. 보고서 쓰기 https://docs.google.com/document/d/1jAikgyxdQrJCmYztRnm9FKxFVNvngd6l2-cZ-hNUsFQ/edit#heading=h.4tiv7ogprkxr
  2. 벤치마크 만들고 테스트 하기