[llvm] [llvm][aarch64] Apple A16 & A17 had adrp-add fusion, but A14 did not (PR #81325)

Jon Roelofs via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 11 10:29:26 PST 2024


jroelofs wrote:

I was assuming Apple `ld`/`ld-prime`, and only thinking about the effect of this on instruction scheduling / macro-fusion + knowledge of the respective uarch's.

Can you tell me more about how that linker relaxation works? Is it an optimization that keys off of `FeatureAdrpAdd` itself, or is it merely enabled by placing the `adrp` next to the `add`?

Do you think A14 deserves:

```
+ // apple-a14 doesn't actually fuse these, but scheduling them 
+ // adjacent allows linker relaxation.
FeatureFuseAdrpAdd,
```

instead of:

```
- FeatureFuseAdrpAdd,
```

> Changes like this should ideally be accompanied by a test.

I'll add one.

https://github.com/llvm/llvm-project/pull/81325


More information about the llvm-commits mailing list