Hi, Thank you! As the description says this finds equivalent functions, I would like to find identical sequences inside functions but at least this will provide all the up to date tools to compare code sequences, thank you again!
Best Regards, Sebastian > -----Original Message----- > From: Martin Jambor [mailto:mjam...@suse.cz] > Sent: 18 January 2018 15:18 > To: Sebastian Perta <sebastian.pe...@renesas.com>; gcc- > patc...@gcc.gnu.org > Cc: l...@gcc.gnu.org > Subject: Re: New code merge optimization? > > Hi, > > On Thu, Jan 18 2018, Sebastian Perta wrote: > > Hello, > > > > I am interested in implementing a new pass in gcc to merge identical > > sequences of code in GCC to be used mainly for RL78. > > The commercial RL78 compilers have such algorithms implemented and > they make > > quite good use of it. > > Opportunities arise from the limited capabilities of RL78, for other targets > > this might be a lot less useful. > > > > A while ago I found the following: > > https://www.gnu.org/software/gcc/projects/cfo.html > > And I ported all algorithms to gcc 4.9.2 and tried it on RL78 and RX and > > this is what I found out: > > For RX: no visible improvements with any of them > > For RL78: some minor improvements only with -frtl-seqbastr: > > Compiling all the C files from gcc/testsuite/gcc.c-torture/execute/*c with > > "-Os" and "-Os -frtl-seqabstr" (using the modified gcc 4.9.2) > > The algorithm was effective only in 60 files(out of 1643 files, that's only > > 0.03% of the files currently present in gcc/testsuite/gcc.c-torture/execute) > > On those 60 files I got an average of 6.5% improvement with the best > > improvement for pr58574.c (36.4%). > > > > What do you think: is it worthwhile porting this to the trunk or I will just > > waste my time? > > Or should I start fresh? Maybe start from here: > > http://llvm.org/docs/MergeFunctions.html? > > Martin Liška contributed identical code folding to GCC quite a few years > ago now. Look up the -fipa-icf option. If that is not enough for you, > starting from that seems more natural. > > Martin > > > > > Gimple or rtl? > > I suppose the preferred way will be to do this in gimple; however based on > > what I did so far, it's more likely to find identical sequences in rtl (for > > RL78). > > > > Any thoughts? Thank you! > > > > Best Regards, > > Sebastian Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.