Liệu mặt sau() của một hàm đảm bảo trả về khối cơ bản terminator của CFG trong LLVM?Khối cơ bản cuối cùng của hàm trong LLVM
6
A
Trả lời
3
Tôi không nghĩ, vì không có một thứ như một "terminator BB": có rất nhiều thể loại BB bị chấm dứt bởi sự trở lại.
0
No. Có thể có nhiều khối cơ bản của một hàm, chẳng hạn một hàm chứa nhiều câu lệnh trả về. mỗi khối cơ bản có chứa một câu lệnh return từ hàm này sau đó sẽ được gọi là một khối terminator hoặc khối cơ sở terminator. Để phát hiện tất cả các khối cơ bản là các khối cơ bản terminator (tức là chứa một câu lệnh trả về), hãy làm như sau:
runOnFunction {
for BB in F:
for I in BB:
if (ReturnInst *RI = dyn_cast<ReturnInst> I)
BB is terminator Basic Block
endif
endfor
endfor
}
Các vấn đề liên quan
- 1. không có Trình tạo khối Cơ bản nào được tạo trong llvm
- 2. Xác định vòng khép kín của một khối trong LLVM
- 3. Xóa hướng dẫn đầu tiên trong khối cơ bản từ LLVM IR?
- 4. java: thử cuối cùng khối thực hiện
- 5. Phát hiện ngoại lệ trong khối cuối cùng là
- 6. Gán biến cuối cùng trong một khối try
- 7. Javascript (jQuery) xóa câu cuối cùng của văn bản dài
- 8. Java - Nếu tôi trở lại trong khối catch, khối cuối cùng sẽ được thực hiện?
- 9. Phương pháp không phải cuối cùng trong lớp cuối cùng
- 10. Bạn có thực sự cần khối 'cuối cùng'
- 11. stringstream bản sao từ cuối cùng
- 12. javax.crypto.BadPaddingException: Cho khối cuối cùng không được đệm đúng cách
- 13. Không thể breakpoint báo cáo kết quả cuối cùng của một khối mã trong Eclipse
- 14. Tại sao khối cuối cùng của tôi không hoạt động trong C#?
- 15. Hạt nhân Linux - Nhận khối bộ nhớ viết cuối cùng
- 16. Thêm câu lệnh if vào khối cuối cùng
- 17. Java Thử Catch Cuối cùng các khối không có Catch
- 18. Là một khối cuối cùng mà không có một khối catch một java anti-pattern?
- 19. Ngày cuối cùng của tháng trong .NET
- 20. Văn bản thiếu vài pixel cuối cùng
- 21. Làm cách nào để có được bản ghi cuối cùng trước bản ghi cuối cùng trong mysql?
- 22. Jquery Nhận hàng cuối cùng của bảng trong yếu tố cuối cùng trong một loạt
- 23. couchdb, có cuối cùng 10 văn bản
- 24. Xóa "\ n" cuối cùng khỏi văn bản
- 25. Gọi hàm auth cơ bản của tên miền chéo JQuery
- 26. Lệnh cuối cùng trong cùng thiết bị đầu cuối
- 27. Nhiều khối của cùng một tên trong Jinja2
- 28. "trở lại" và "try-catch-cuối cùng" đánh giá khối trong scala
- 29. Trong Java, khối "cuối cùng" có được bảo đảm được gọi (trong phương thức chính) không?
- 30. Khóa cuối cùng trong một tiêu chuẩn :: bản đồ
Bạn có thể cho tôi ví dụ về hàm có nhiều hơn một BB kết thúc không? Ngay cả khi có nhiều trả về, sẽ có một BB với một phi để "thu thập" tất cả các BBs trả lại, phải không? – dalibocai
Không, trên thực tế, thậm chí có một đường chuyền được gọi là UnifyFunctionExitNodes thực hiện chính xác tên của nó, nghĩa là loại bỏ nhiều lần thoát khỏi một hàm – CAFxX
OK. Tôi hiểu rồi. Cảm ơn! – dalibocai