[PATCH] D121539: [AVR] Generate 'rcall' instead of 'call' on avr2 and avr25
Ayke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 22 17:08:54 PDT 2022
aykevl accepted this revision.
aykevl added a comment.
This revision is now accepted and ready to land.
Looks good to me!
As a possible optimization, you could look into using `rcall` instead of `call` instructions when the target is close enough. For example, here: https://godbolt.org/z/rEz9j71dq (apparently avr-gcc doesn't do this optimization).
int foo(int a, int b) {
return a + b;
}
int bar(int a, int b) {
return foo(a, b) + 3;
}
If `-ffunction-sections` is not used, `rcall` is both shorter in code size and faster in execution speed.
(This is just an idea, unrelated to this patch).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D121539/new/
https://reviews.llvm.org/D121539
More information about the llvm-commits
mailing list