Короче говоря, ситуация такова: я пытался скомпилировать код C с опцией gcc -O2 -ftree-vectorize -msse4 -ftree-vectorizer-verbose=10 -march=core2 -g -c
.Для некоторых вложенных циклических конструкций внутри кода gcc жалуется
не векторизация: слишком много BB в цикле.
Я прошу прощения за мое очень ограниченное понимание компиляторов и векторизации.
Некоторые начальные поиски принесли мне этот результат в список рассылки gcc, который говорит, что BB является аббревиатурой от стандартного блока.Оттуда, проверяя внутреннюю документацию GCC, я обнаружил, что gcc использует BB для построения графика потока управления (CFG).
Может кто-нибудь объяснить, что подразумевается под BB в цикле?
Кроме того, я не могу сказать, сколько слишком больших BB на самом деле приводит к сбою векторизации gcc?