2013-07-10 21 views
17

Câu hỏi đặt ra là cách tạo clang thông tin in trên các vòng lặp (hoặc các phần khác của mã) đã được vector hóa. GCC có công tắc dòng lệnh có tên -ftree-vectorizer-verbose=6 để thực hiện việc này, nhưng tôi không thể tìm thấy bất kỳ điều gì tương tự cho clang. clang có hỗ trợ tùy chọn này hay tùy chọn duy nhất của tôi là xem nhanh việc tháo gỡ?Tương đương với -ftree-vectorizer-verbose cho clang

Trả lời

3

kêu vang đã tùy chọn sau để in chẩn đoán liên quan đến vector hóa:

-Rpass=loop-vectorize identifies loops that were successfully vectorized. 

-Rpass-missed=loop-vectorize identifies loops that failed vectorization and indicates if vectorization was specified. 

-Rpass-analysis=loop-vectorize identifies the statements that caused vectorization to fail. 

Nguồn: http://llvm.org/docs/Vectorizers.html

0

Nhìn qua các mã nguồn kêu vang, có một vài vector hóa đi trong Transforms/Vectorize:

  • BBVectorize
  • LoopVectorize
  • SLPVectorize

cuối cùng ba dường như không để có bất kỳ đối số nào sẽ in mọi thứ. Nhưng trong BBVectorize bên trong có một vài lựa chọn cho những thứ in khi kêu vang được xây dựng debug:

  • bb-vectorize-debug-hướng dẫn kiểm tra - Khi gỡ lỗi được kích hoạt, thông tin đầu ra trên quá trình hướng dẫn kiểm tra
  • bb-vectorize-debug-ứng cử viên-lựa chọn - Khi gỡ lỗi được kích hoạt, thông tin đầu ra về quá trình lựa chọn ứng cử viên
  • bb-vectorize-debug-pair-selection - Khi gỡ lỗi được kích hoạt, thông tin đầu ra về quá trình lựa chọn cặp
  • bb-vectorize-debug-cycle-check - Khi gỡ lỗi được bật, thông tin đầu ra trên chu trình-ch quá trình
  • ecking
  • bb-vectorize-debug-print-sau mỗi cặp gỡ lỗi -Khi được kích hoạt, đổ khối cơ bản sau mỗi cặp được hợp nhất

Điều đó có vẻ như đó là về nó.

Các vấn đề liên quan