[llvm] [LLVM] Refactor Autoupgrade function attributes from Module attributes. (PR #84494)
Pranav Kant via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 13 15:59:53 PDT 2024
pranavk wrote:
Minimal reproducer:
file1.c
```
int foo();
int main() {
return foo();
}
```
file2.c
```
int foo() {
return 32;
}
```
$CLANG -flto=thin -target aarch64-none-linux-gnu -O2 file1.c file2.c -c
$CLANG -fuse-ld=lld -target aarch64-none-linux-gnu -Wl,-plugin-opt,save-temps -flto=thin -O2 file1.o file2.o -o a.out
foo used to get inlined earlier, not anymore because attributes are different now. This is what I believe is the cause of severe performance regression. Up to 30% degradation on multiple benchmarks.
https://github.com/llvm/llvm-project/pull/84494
More information about the llvm-commits
mailing list