GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
gcc/rs6000 Performance Win

Fixup stmt_vinfo walk to skip labels

Ensures the rs6000 backend correctly skips labels when walking stmt_vinfo structures, avoiding potential issues with generated code.

This commit modifies the rs6000 backend to properly skip labels during the stmt_vinfo walk. Previously, the code generated stmt_vec_info structures for labels, which are no longer necessary. By starting the basic block walk after labels, this change ensures more accurate code generation and avoids issues with how these structures are handled.

In Details

The rs6000 backend's cost model in rs6000_cost_data::density_test incorrectly processed labels within the stmt_vinfo walk. This commit adjusts the walk to start after labels, aligning with the fact that stmt_vec_info is no longer generated for them and preventing potential misinterpretations in cost analysis.

For Context
stmt_vinfo
A data structure used in GCC's vectorizer to represent information about statements, particularly related to vector operations and their properties.
Filed Under: rs6000vectorizationcode generation