2015-01-14 2 views
2

LLVM 및 clang을 사용하여 데이터 종속성/루프 종속성 분석을 수행하는 방법을 아는 사람이 있습니까? 출입증 웹 페이지 -da 보면 LLVM을 사용한 데이터 및 루프 종속성 분석

은, 분명히이 패스의 ./a.out 크기 나 .ll IR-코드도를 일을하고 있지만,이 패스를 사용하여 출력에 아무 것도 변경하지 않는다는 것을 언급하고있다.

우리가 WAR, RAW 등을 이해할 수 있는지 그리고 LLVM 플랫폼을 사용하는 다른 의존성에 대해서 궁금해하고있었습니다.

+1

다 패스는 분석 통과이므로 IR을 수정하지 않습니다. 어쨌든 의존 분석을하려고한다면 왜 소스를 변경해야합니까? –

+0

소스 코드를 변경할 필요가 없습니다. 분석 결과를보고 싶습니다. – Amir

+1

나도 그것을 사용하고 내 경험에 의하면 모든 메모리 연산 사이의 인쇄 의존성을 수행한다. 또한 -debug 옵션을 추가하여 시도 할 수도있다. –

답변

4

-da(dependency analysis)은 분석 패스이며 분석 패스는 비트 코드를 변경하지 않고 다른 분석 또는 변환 패스에서 사용할 정보 만 수집합니다. 따라서 정보를 사용하려면 새 변환을 작성하고 패스의 "getAnalysisUsage"라는 가상 함수에 "DependenceAnalysis"를 "RequiredAnalysis"로 추가해야합니다. 그러면 DependenceAnalysis가 적용됩니다.