This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/49519] [4.7 Regression] Revision 175272 miscompiled 447.dealII in SPEC CPU 2006
- From: "kirill.yukhin at intel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 30 Jun 2011 15:23:29 +0000
- Subject: [Bug c++/49519] [4.7 Regression] Revision 175272 miscompiled 447.dealII in SPEC CPU 2006
- Auto-submitted: auto-generated
- References: <bug-49519-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519
--- Comment #7 from Yukhin Kirill <kirill.yukhin at intel dot com> 2011-06-30 15:22:58 UTC ---
Expanding arguments in different ways occurs because corresponding GIMPLE
statements are of different types.
For 'good' case we have expression of type
COMPONENT_REF
While for 'bad' one it is just a
MEM_REF
For that different kinds we have slightly different expanding.
The different expression types comes from front-end, at least in einline phase
accesses are different:
[include/boost/tuple/detail/tuple_basic.hpp : 130:14] D.167199_17 =
MEM[(struct cons &)arg_list_2(D) + 12].head;
[include/boost/tuple/detail/tuple_basic.hpp : 130:14] D.167198_18 =
MEM[(struct cons &)arg_list_2(D) + 8].head;
[include/boost/tuple/detail/tuple_basic.hpp : 130:14] D.167197_19 =
MEM[(struct cons &)arg_list_2(D) + 4].head;
[step-14.cc : 4271:1] D.167196_20 = MEM[(struct cons &)arg_list_2(D)];
[include/base/thread_management.h : 1534:13] D.167205_21 = (sizetype)
fun_ptr$__delta_7;
[include/base/thread_management.h : 1534:13] D.167204_22 = obj_1(D) +
D.167205_21;
[include/base/thread_management.h : 1534:13] iftmp.53_23 (D.167204_22,
D.167196_20, D.167197_19, D.167198_18, D.167199_17);
[include/base/thread_management.h : 1826:5] return;
Having all that said I believe that the issue somewhat connected to fron-end
generation.
Jason, could you prompt me something?
Your patch changes a line which has a comment:
/* Do array-to-pointer, function-to-pointer conversion, and ignore
top-level qualifiers as required. */
...