Some platforms (e.g. Playstation) limit the alignment of TLS variables (and the sections they're in). It's possible for optimization passes such as the vectorizer to generate code that then requires the promotion of such variables to an alignment that exceeds the maximum. To address this we're suggesting to add a new component to the data layout string that contains the maximum alignment of TLS variables a target allows. This component uses the key 'T', as in ...-T256. In its absence the alignment of TLS variables remains unrestricted.
In this patch the Playstation platform is the only one that uses this component.
Apologies for the somewhat lengthy test case. It's the loop vectorizer pass we're mainly concerned with.
clang/test/CodeGen/target-data.c has all the rest of these