Honza, On 10 March 2015 at 20:09, Yvan Roux <yvan.r...@linaro.org> wrote: > On 10 March 2015 at 19:18, Jan Hubicka <hubi...@ucw.cz> wrote: >>> Hi >>> >>> On 9 March 2015 at 17:07, Yvan Roux <yvan.r...@linaro.org> wrote: >>> > Hi, >>> > >>> > As added in the PR, this issue is also present on 4.9 branch and >>> > affects at least arm-linux-gnueabihf target (as reported in PR61207). >>> > >>> > I've backported it in the 4.9 branch with the attached patch. The >>> > difference with the trunk code is due the code introduced by PR63587 >>> > fix (I didn't checked on power7, on which the PR was initially >>> > reported, but I didn't managed to reproduce the issue for arm targets >>> > on 4.9 branch). >>> > >>> > Boostrapped on x86_64, and tested on arm/aarch64 targets (regression >>> > testing is ongoing). is ok for 4.9 branch when validation is done ? >>> >>> So bootstrapped/regtested on x86_64 and cross-compiled/regtested on >>> aarch64-linux-gnu >>> arm-linux-gnueabihf >>> armeb-linux-gnueabihf >>> i686-linux-gnu >> >> This is OK. note that cgraph_node::expand_thunk has gathered quite few >> extra fixes that may be resonable for backporting. Looking across >> changes after ipa-icf was enabled I think we should look into >> these: >> >> PR ipa/65236 >> * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot >> opt.
This bugfix adds ipa-icf-6.C test which failed on 4.9 branch as ipa-icf is not backported on that branch. Is the bugfix still relevant and we can dropped the testcase ? >> PR ipa/64813 >> * cgraphunit.c (cgraph_node::expand_thunk): Do not create >> a return value for call to a function that is noreturn. >> >> PR ipa/63595 >> * cgraphunit.c (cgraph_node::expand_thunk): DECL_BY_REFERENCE >> is correctly handled for thunks created by IPA ICF. >> >> PR ipa/63587 >> * cgraphunit.c (cgraph_node::expand_thunk): Only VAR_DECLs are put >> to local declarations. >> * function.c (add_local_decl): Implementation moved from header >> file, assert introduced for tree type. >> * function.h: Likewise. >> >> While these bugs was triggered by ipa-icf, they all IMO can be reproduced by >> thunks on targets that do not define assembler thunks. >> (most are about return values and those are not excercised on main targets >> with >> MI thunks because covariant thunks always returns pointer) > > Thanks Honza. I can backport all of them and pass the same validation > I did for this one if you want. The test introduced > Yvan