On 20/05/2024 21:50, Ajit Agarwal wrote: > Hello Alex/Richard: > > Move pair fusion pass from aarch64-ldp-fusion.cc to middle-end > to support multiple targets. > > Common infrastructure of load store pair fusion is divided into > target independent and target dependent code. > > Target independent code is structured in the following files. > gcc/pair-fusion.h > gcc/pair-fusion.cc > > Target independent code is the Generic code with pure virtual > function to interface betwwen target independent and dependent > code. > > Bootstrapped and regtested on aarch64-linux-gnu. > > Thanks & Regards > Ajit > > aarch64, middle-end: Move pair_fusion pass from aarch64 to middle-end > > Move pair fusion pass from aarch64-ldp-fusion.cc to middle-end > to support multiple targets. > > Common infrastructure of load store pair fusion is divided into > target independent and target dependent code. > > Target independent code is structured in the following files. > gcc/pair-fusion.h > gcc/pair-fusion.cc > > Target independent code is the Generic code with pure virtual > function to interface betwwen target independent and dependent > code. > > 2024-05-20 Ajit Kumar Agarwal <aagar...@linux.ibm.com> > > gcc/ChangeLog: > > * pair-fusion.h: Generic header code for load store fusion > that can be shared across different architectures. > * pair-fusion.cc: Generic source code implementation for > load store fusion that can be shared across different architectures. > * Makefile.in: Add new executable pair-fusion.o > * config/aarch64/aarch64-ldp-fusion.cc: Target specific > code for load store fusion of aarch64.
Apologies for missing this in the last review but you'll also need to update gcc/config/aarch64/t-aarch64 to add a dependency on pair-fusion.h for aarch64-ldp-fusion.o. Thanks, Alex > --- > gcc/Makefile.in | 1 + > gcc/config/aarch64/aarch64-ldp-fusion.cc | 3303 +--------------------- > gcc/pair-fusion.cc | 2852 +++++++++++++++++++ > gcc/pair-fusion.h | 340 +++ > 4 files changed, 3268 insertions(+), 3228 deletions(-) > create mode 100644 gcc/pair-fusion.cc > create mode 100644 gcc/pair-fusion.h <snip>