[Bug ipa/63814] [5 Regression] g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC

2014-12-02 Thread jamborm at gcc dot gnu.org
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

2014-12-02 Thread jamborm at gcc dot gnu.org
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

2014-12-02 Thread fxcoudert at gcc dot gnu.org
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

2014-12-02 Thread hjl.tools at gmail dot com
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

2014-12-02 Thread hjl at gcc dot gnu.org
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

2014-12-02 Thread hjl.tools at gmail dot com
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

2014-11-28 Thread jamborm at gcc dot gnu.org
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

2014-11-27 Thread dominiq at lps dot ens.fr
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

2014-11-21 Thread jamborm at gcc dot gnu.org
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

2014-11-20 Thread rguenth at gcc dot gnu.org
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

2014-11-20 Thread jamborm at gcc dot gnu.org
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

2014-11-20 Thread jamborm at gcc dot gnu.org
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

2014-11-14 Thread hjl.tools at gmail dot com
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

2014-11-14 Thread hjl.tools at gmail dot com
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

2014-11-14 Thread hubicka at ucw dot cz
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

2014-11-14 Thread jamborm at gcc dot gnu.org
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

2014-11-14 Thread hjl.tools at gmail dot com
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.