[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #28 from Martin Jambor jamborm at gcc dot gnu.org --- Author: jamborm Date: Tue Dec 2 10:12:27 2014 New Revision: 218265 URL: https://gcc.gnu.org/viewcvs?rev=218265root=gccview=rev Log: 2014-12-02 Martin Jambor mjam...@suse.cz PR ipa/63814 * ipa-cp.c (same_node_or_its_all_contexts_clone_p): New function. (cgraph_edge_brings_value_p): New parameter dest, use same_node_or_its_all_contexts_clone_p and check availability. (cgraph_edge_brings_value_p): Likewise. (get_info_about_necessary_edges): New parameter dest, pass it to cgraph_edge_brings_value_p. Update caller. (gather_edges_for_value): Likewise. (perhaps_add_new_callers): Use cgraph_edge_brings_value_p to check both the destination and availability. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-cp.c
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 Martin Jambor jamborm at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #29 from Martin Jambor jamborm at gcc dot gnu.org --- Fixed (and as I wrote in comment #25, feel free to add testcases if you know how and have environment in which you can verify they would fail without the fix when run by the testsuite).
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #30 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org --- (In reply to Martin Jambor from comment #29) Fixed (and as I wrote in comment #25, feel free to add testcases if you know how and have environment in which you can verify they would fail without the fix when run by the testsuite). On darwin, it's already covered by g++.dg/ipa/pr61160-1.C For linux, I cannot don't know and cannot test.
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- --- Comment #31 from H.J. Lu hjl.tools at gmail dot com --- (In reply to Martin Jambor from comment #29) Fixed (and as I wrote in comment #25, feel free to add testcases if you know how and have environment in which you can verify they would fail without the fix when run by the testsuite). It isn't fixed on Linux.
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #32 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org --- Author: hjl Date: Tue Dec 2 12:47:29 2014 New Revision: 218268 URL: https://gcc.gnu.org/viewcvs?rev=218268root=gccview=rev Log: Add a test for PR ipa/63814 PR ipa/63814 * g++.dg/ipa/pr63814.C: New test. Added: trunk/gcc/testsuite/g++.dg/ipa/pr63814.C Modified: trunk/gcc/testsuite/ChangeLog
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #33 from H.J. Lu hjl.tools at gmail dot com --- Without r218265, the new testcase fails on Linux.
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #27 from Martin Jambor jamborm at gcc dot gnu.org --- (In reply to Dominique d'Humieres from comment #26) I proposed a fix on the mailing list: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02832.html I have this patch in my working tree as well as the patch at https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02838.html and the regression is gone (x86_64-apple-darwin14). Thanks for the confirmation, now we just need Honza to approve at least the first patch if not both. I will ping them on mailing list soon.
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #26 from Dominique d'Humieres dominiq at lps dot ens.fr --- I proposed a fix on the mailing list: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02832.html I have this patch in my working tree as well as the patch at https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02838.html and the regression is gone (x86_64-apple-darwin14).
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #25 from Martin Jambor jamborm at gcc dot gnu.org --- I proposed a fix on the mailing list: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02832.html If it gets accepted, please feel free to add the testcase(s). I only checked using a darwin cross compiler and so could not easily verify the test would fail without the patch when run as part of the testsuite. Ditto if you know what is the correct way to add a testcase that should only be run on x86 -m32 with -fpic. Thanks.
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 Martin Jambor jamborm at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jamborm at gcc dot gnu.org
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #24 from Martin Jambor jamborm at gcc dot gnu.org --- Created attachment 34056 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34056action=edit Untested fix I'm testing this patch
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Version|4.9.3 |5.0 Target Milestone|4.9.3 |5.0 Summary|[4.9/5 Regression] |[5 Regression] |g++.dg/ipa/pr61160-1.C |g++.dg/ipa/pr61160-1.C |fails with -m32 -fPIC |fails with -m32 -fPIC
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #20 from H.J. Lu hjl.tools at gmail dot com --- It may be easier to debug this with a MacOS cross compiler. Where do extra gimple statements: @@ -96,3 +96,31 @@ MMixin::MMixin() (struct MMixin * const } +built-in (struct CExample * const this) +{ + struct CExample * const adjusted_this.8; + void * retval.7; + + bb 2: + this_2 = this_1(D) + 4294967292; + adjusted_this.8_3 = this_2; + retval.7_6 = CExample::MixinFunc.constprop (adjusted_this.8_3); [tail call] + return retval.7_6; + +} + + +built-in (struct CExample * const this) +{ + struct CExample * const adjusted_this.10; + void * retval.9; + + bb 2: + this_2 = this_1(D) + 4294967292; + adjusted_this.10_3 = this_2; + retval.9_6 = CExample::MixinFunc.constprop (adjusted_this.10_3); [tail call] + return retval.9_6; + +} + + come from?
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #21 from Jan Hubicka hubicka at ucw dot cz --- +built-in (struct CExample * const this) +{ + struct CExample * const adjusted_this.8; + void * retval.7; + + bb 2: + this_2 = this_1(D) + 4294967292; + adjusted_this.8_3 = this_2; + retval.7_6 = CExample::MixinFunc.constprop (adjusted_this.8_3); [tail call] + return retval.7_6; + +} + + +built-in (struct CExample * const this) +{ + struct CExample * const adjusted_this.10; + void * retval.9; + + bb 2: + this_2 = this_1(D) + 4294967292; + adjusted_this.10_3 = this_2; + retval.9_6 = CExample::MixinFunc.constprop (adjusted_this.10_3); [tail call] + return retval.9_6; + +} + + come from? This is expanded thunk produce dby cgraph_node::expand_thunk Did not look into the testcase if it should be there or not. Honza
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #22 from Martin Jambor jamborm at gcc dot gnu.org --- (In reply to Jan Hubicka from comment #21) This is expanded thunk produce dby cgraph_node::expand_thunk Did not look into the testcase if it should be there or not. Indeed. expand_thunk creates this when targetm.asm_out.can_output_mi_thunk returns false. Therefore a change in the back-end can cause this difference. The back-end changes might be OK, we have had a bug like this in IPA before. Do I understand correctly that this bug is an ICE with checking compiler and miscompilation with release-checking one?
[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63814 --- Comment #23 from H.J. Lu hjl.tools at gmail dot com --- (In reply to Martin Jambor from comment #22) (In reply to Jan Hubicka from comment #21) This is expanded thunk produce dby cgraph_node::expand_thunk Did not look into the testcase if it should be there or not. Indeed. expand_thunk creates this when targetm.asm_out.can_output_mi_thunk returns false. Therefore a change in the back-end can cause this difference. The back-end changes might be OK, we have had a bug like this in IPA before. Do I understand correctly that this bug is an ICE with checking ICE only with x86_64-apple-darwin cross compiler. compiler and miscompilation with release-checking one? Miscompile on both x86_64-apple-darwin and Linux.