Open sbkim28 opened 6 months ago
말씀해주신 대로 register allocation 과정에서 발생한 문제이며, 루프마다 update되는 변수가 많다 보니 PHI node 처리에 필요한 register 수가 물리 register 수를 넘어버렸을 때 생기는 문제로 보입니다. 현재 디버깅 중이며, 수정되는 대로 재공지하겠습니다.
Register allocation은 구현이 복잡하다 보니 디버깅에 시간이 많이 걸리고 있습니다. 현재 계속 디버깅 중이며, 고쳐지는 대로 다시 공지드리겠습니다.
안녕하십니까, 테스트 케이스를 제작하던 중, 컴파일에 실패하는 것으로 보이는 현상을 발견하여 제보합니다.
다음은 제가 c로 작성한 테스트케이스입니다.
해당 c 파일을 ll 파일로 변환하고, build한 컴파일러로 s 파일로 컴파일하려 하였으나, build된 컴파일러에서 오랜 시간이 걸려도 결과가 나오지 않았습니다. 작성한 pass에 문제가 있는 것은 아닐까 해서 제공해주신 skeleton compiler로 컴파일을 해도 같은 현상이 발생하였습니다. 디버거로 확인해보니,
backend/register_allocate.cpp
에서 무한 루프에 빠지는 것으로 추정됩니다.해당 문제를 확인해주셨으면 합니다. 감사합니다.