2014-10-07 3 views
0

주어진 시간에 실제 CPU 레지스터에 "사용 된"값이 있는지 여부를 어떻게 확인할 수 있습니까? LLVM 3.4 C++ API를 사용하고 있습니다.LLVM : 실제 레지스터가 활성 상태인지 확인합니다.

+1

실제 레지스터가 그림을 입력하기 전에 LLVM으로 수행중인 작업의 90 %가 발생합니다. 포스트 -RA 기계 코드 패스를 쓰고 있습니까? – delnan

+0

나는 패스를 쓰고 싶지 않다. (내가하지 않는 한 EDIT :). 여러 인스턴스에서 llvm으로 컴파일 된 프로그램을 사용하고 스택 및 실제 레지스터를 포함하여 인스턴스의 상태를 비교하려고합니다. – hooch

+0

기계어 코드를 분석하여 레지스터에 다음 명령 쓰기 전에 레지스터를 읽을 수 있는지 확인할 수 있습니다. 불행히도 나는 LLVM을 어떻게 도와 줄지 모릅니다. – delnan

답변

1

짧은 대답 : 할 수 없습니다. 긴 대답 : LLVM IR은 무한 수의 유형이 지정된 레지스터가있는 가상 시스템을 나타냅니다. 코드 생성 전에 모든 것이 어떻게 물리 레지스터로 바뀔지에 대한 정보는 없습니다.

등록 정보는 레지스터 할당이 수행 된 후 백엔드에서 사용할 수 있습니다.

관련 문제