The commit D120104 enabled FeatureFuseAdrpAdd for -mcpu=generic, allowing the linker to relax adrp;add pairs where possible. D132075 extended that to neoverse-n1, this patch extends it to all other cortex and neoverse cpus for the same reason.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Should the title say *to all Cortex & Neoverse CPUs* instead of *all CPUs*? It looks like TuneThunderX2T99 for example doesn't have the feature unless I am missing something,
Comment Actions
LGTM. I think all CPUs can benefit from the linker relaxation of the fused sequence. Worth leaving some time for any other reviewer to object.
Comment Actions
Thanks
Oh yeah, I meant for all the Arm cpus.
Thanks. To add some detail I did a fair amount of benchmarking, which all looked fine for the cpus I tried. Even on a Cortex-A55 (an in-order cpu where scheduling is most useful), on a linker without relaxation for the adrp-add pair the performance seems OK. So I believe this is benign at worst, showing an improvement where the relaxation can occur.