함수의 back()은 LLVM에서 CFG의 종료 자 기본 블록을 반환하도록 보장합니까?LLVM에서 함수의 마지막 기본 블록
6
A
답변
3
"터미네이터 BB"와 같은 것이 없기 때문에 저는 생각하지 않습니다. 반환에 의해 종료 된 여러 개의 BB가있을 수 있습니다.
0
아니요. 함수의 여러 터미네이터 기본 블록이있을 수 있습니다 (예 : 여러 개의 return 문이 포함 된 함수). 함수의 return 문을 포함하는 각 기본 블록을 종결 자 블록 또는 종결 자 기본 블록이라고합니다.
runOnFunction {
for BB in F:
for I in BB:
if (ReturnInst *RI = dyn_cast<ReturnInst> I)
BB is terminator Basic Block
endif
endfor
endfor
}
관련 문제
- 1. LLVM에서 두 블록 사이에 블록 삽입하기
- 2. LLVM에서 함수의 인수 찾기 IR
- 3. DispatchEvent를 함수의 마지막 문이어야합니까?
- 4. LLVM에서 최적화를 비활성화하는 방법
- 5. 마지막 읽기시 CFReadStreamRead 블록
- 6. LLVM에서 함수 포인터 생성
- 7. 복어 마지막 블록 불완전한 해독
- 8. 백엔드의 LLVM/clang에서 기본 블록/CFG를 추출하는 방법
- 9. llvm에서 즉각적인 번호 테스트
- 10. LLVM에서 루프 식별 CFG
- 11. llvm에서 명령어를 인쇄하는 방법
- 12. LLVM에서 VM은 어디에 있습니까?
- 13. llvm에서 llvm.pow.f64 찾기 IR
- 14. LLVM에서 라이브러리에 연결하기 IR
- 15. LLVM에서 인라인은 어떻게 작동합니까?
- 16. LLVM에서 지우기 지침 IR
- 17. CouchDB에서 유효성 검사 함수의 마지막 인수는 무엇입니까?
- 18. 이것은 함수의 마지막 반복임을 알리는 방법
- 19. "마지막 블록 불완전한 암호화"처리 방법
- 20. 마지막 플로팅 블록 만 지우는 방법
- 21. LLVM에서 스택에 반환 주소를 얻는 방법
- 22. 기본 에뮬레이터의 구조/블록 다이어그램
- 23. jqgrid가 마지막 페이지로 기본 설정됩니다.
- 24. LLVM에서 Loop의 getSmallConstantTripCount 메소드 사용
- 25. LLVM에서 비 ASCII wchar_t 리터럴
- 26. 연합 유형은 LLVM에서 파생되는 방법
- 27. LLVM에서 전역 변수를 선언하려면 어떻게해야합니까?
- 28. 기본 Ruby/Rails 블록 및 블록 변수 이해에 대한 질문
- 29. LLVM에서 문자열 데이터 형식을 구현하려면 어떻게해야합니까?
- 30. 함수의 C++ 매크로 및 기본 인수
터미네이터 기본 블록 인 모든 기본 블록을 검색하려면 둘 이상의 터미네이터 BB가있는 함수의 예를 들려 줄 수 있습니까? 여러 번의 반품이 있어도 모든 반품 BB를 "수집"할 수있는 파이가있는 BB가 있어야합니다. 맞습니까? – dalibocai
아니요, 사실 이름에서 말하는 정확히 수행하는 UnifyFunctionExitNodes라는 패스가 있습니다. 즉, 함수의 여러 종료를 제거합니다. – CAFxX
OK. 내가 참조. 감사! – dalibocai