> I just rebased and updated the vendors/axis branch > axis/cris-decc0 with the following commits, which should bring > back compare-elimination results to that of cc0 on master.
Nice work! An example of transition done properly... > With the exception of the bit-test patterns (btst / btstq which > is more of a "combine" matter), everything is centered around > working together with the "cmpelim" pass with the help of > define_subst attributes. Feel free to further tweak the cmpelim pass if need be; I did it for the Visium so there is a precedent. :-) > No performance tests yet though, but I expect axis/cris-decc0 to > be a win over master, since as I've mentioned before, I see > improvements in register-allocation already in libgcc, which > should get back what's lost in all the special patterns I > deleted. I haven't looked into the cause, but it shouldn't > surprise anyone that there's some noticeable goodies inside > something to the effect of #ifndef HAVE_cc0, even with IRA. > (Conversion to LRA is way down on the TODO list.) For the Visium, the transition was a win overall, with sporadic regressions in delay slot filling. The transition to LRA looks more problematic. -- Eric Botcazou