간단히 말해서 상황은 다음과 같습니다. 나는 gcc -O2 -ftree-vectorize -msse4 -ftree-vectorizer-verbose=10 -march=core2 -g -c
옵션으로 C 코드를 컴파일하려고했습니다. 코드 gcc 내에서 특정 중첩 for-loop 구문에 대해루프에서 너무 많은 BB가 의미하는 바는 벡터화 할 수 없습니까?
(벡터화되지 않음) : 루프에 너무 많은 BB가 있습니다.
컴파일러 및 벡터화에 대한 매우 제한된 이해에 사과드립니다.
초기 검색 중에는 BB가 빌딩 블록의 약어 인 gcc의 메일 링리스트에이 결과가 표시되었습니다. 거기에서 GCC의 내부 문서를 확인한 결과, gcc가 제어 흐름 그래프 (CFG)를 만들기 위해 BB를 사용한다는 것을 알게되었습니다.
누군가 제발 루프에서 BB의 의미를 설명해 주실 수 있습니까?
또한 BB 수가 실제로 너무 많아서 gcc 벡터화가 실패하는 것과 관련이 없습니다.
머리를 주셔서 감사합니다. – splintercell