-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Open
Labels
clang:driver'clang' and 'clang++' user-facing binaries. Not 'clang-cl''clang' and 'clang++' user-facing binaries. Not 'clang-cl'
Description
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66240
Since gcc 9 the -falign-xyz options where extended to support the following syntax:
-falign-xyz
-falign-xyz=n
-falign-xyz=n:m
-falign-xyz=n:m:n2
-falign-xyz=n:m:n2:m2
nis the default byte boundary currently supported by clang e.g.-falign-functions=32,n:mis wheremonly aligns tonif it can be achieved by skipping <=mbytes e.g.falign-functions=32:6n:m:n2is wheren2is the second fallback byte boundary ifn:misn't achieved e.g.falign-functions=64:6:32n:m:n2:m2is wherem2only aligns ton2if it can be achieved by skipping <=m2e.g.falign-functions=64:6:32:4
gcc's documentation: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-falign-functions
The follow flags are affected:
falign-functions
falign-labels
falign-loops
falign-jumps
The extended syntax supported by gcc can affect performance characteristics e.g. aligning to 64 byte boundary for better performance but falling back to a smaller byte boundary to avoid extensive code padding on x86_64.
Metadata
Metadata
Assignees
Labels
clang:driver'clang' and 'clang++' user-facing binaries. Not 'clang-cl''clang' and 'clang++' user-facing binaries. Not 'clang-cl'