The main use for this patch is LTO. It is not (yet?) possible to set the size level (-Os, -Oz) in the linker, which means loops are still rotated even if -Oz is specified on the command line. Therefore, look at the function attribute instead of only at the size level to determine whether to rotate loops for a given function. For discussion, see: https://reviews.llvm.org/D119342 An older version of this patch was already approved at https://reviews.llvm.org/D119342 but I never got around to committing it. The code changed so I had to make some minor updates to this patch and in the meantime I also lost commit access because I wasn't really using it. So here is an updated patch.
3.4 KiB
3.4 KiB