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

Problem In calling llvm.lifetime.start #169

Open
jayden0701 opened this issue Jun 10, 2024 · 1 comment
Open

Problem In calling llvm.lifetime.start #169

jayden0701 opened this issue Jun 10, 2024 · 1 comment
Labels
project Related to term project question Student's question

Comments

@jayden0701
Copy link

안녕하세요, 현재 컴파일러에 function inlining을 추가하여 최적화를 진행중입니다.

해당 과정에서, matmul4의 어셈블리(.s)에서 llvm.lifetime.start/end를 통해 값을 관리하는 것 같은데,

call llvm.lifetime.start.p0 r2 sp
call llvm.lifetime.start.p0 r2 r3
call llvm.lifetime.start.p0 r2 r5

과 같이 llvm.lifetime.start.p0 를 부르는 과정에서, interpreter이 llvm.lifetime.start가 정의되지 않았다면서 에러를 발생시킵니다.

llvm.lifetime.start/end가 어셈블리로 잘 이동되지 않는 문제가 있는 것 같은데, 혹시 백엔드 차원에서 문제가 있는 것인가 질문드리고 싶습니다

@strikef strikef added project Related to term project question Student's question labels Jun 11, 2024
@strikef
Copy link
Contributor

strikef commented Jun 11, 2024

LLVM lifetime intrinsic은 declaration은 남아 있을 수 있어도 어셈블리로 넘어가는 단계에서 실제 코드에 남아 있어서는 안 됩니다. IR을 생성할 때 x86 환경에서 irgen을 이용하여 생성하셨는지 확인해주세요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project Related to term project question Student's question
Projects
None yet
Development

No branches or pull requests

2 participants