2013-05-04 5 views
0

가장자리에 기본 블록을 삽입해야합니다. 통과하지 않는 문제에 직면하지 않고 http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-July/033288.html 하지만, 내가 runonFunction에서 설정하지 않으려는 ,, 어떻게 그것을 사용할 수 있습니다 : 여기 해답을 발견 http://llvm.org/docs/doxygen/html/BasicBlockUtils_8cpp_source.html 이 : 나는 다음과 같은 링크에서 SplitEdge 방법을 사용하려 같음 null 감사합니다어떻게 llvm에서 SplitEdge 메서드를 사용할 수 있습니까

답변

1

나는 가장 간단한 방법은 자신의 코드로 SplitEdge 메서드의 구현을 복사하고 패스가 NULL 일 때 작동하도록 수정할 것이라고 생각합니다. 현재 구현에서는 자신의 버전을 SplitBlock으로 호출하도록 수정하고 해당 버전에서는 P에 대한 호출 전에 return new을 추가하기 만하면됩니다.

그러나 이러한 종류의 작업을 LLVM IR에서 수행하는 경우 적절한 패스 내에서 수행하십시오. 기존 패스를 사용하면 코드가 훨씬 잘 작동합니다.

관련 문제