This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/52244] [4.5/4.6/4.7 Regression] wrong code for function returning union between int and _Bool at O > 2, with no-early-inlining
- From: "iains at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 14 Feb 2012 10:46:35 +0000
- Subject: [Bug middle-end/52244] [4.5/4.6/4.7 Regression] wrong code for function returning union between int and _Bool at O > 2, with no-early-inlining
- Auto-submitted: auto-generated
- References: <bug-52244-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52244
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |middle-end
--- Comment #3 from Iain Sandoe <iains at gcc dot gnu.org> 2012-02-14 10:46:35 UTC ---
inline-union-ret-val.c.064t.retslot has...
;; Function foo (foo, funcdef_no=1, decl_uid=2009, cgraph_uid=1)
foo ()
{
_Bool u$b;
union u_t u;
<bb 2>:
u.c = 4660;
u$b_6 = MEM[(union u_r *)&u].b;
MEM[(union u_r *)&<retval>].b = u$b_6;
return <retval>;
}
inline-union-ret-val.c.068t.mergephi2 contains....
;; Function foo (foo, funcdef_no=1, decl_uid=2009, cgraph_uid=1)
foo ()
{
_Bool u$b;
union u_t u;
<bb 2>:
u.c = 4660;
<retval>.b = 0;
return <retval>;
}
inline-union-ret-val.c.149t.optimized ...
;; Function foo (foo, funcdef_no=1, decl_uid=2009, cgraph_uid=1)
foo ()
{
<bb 2>:
<retval>.b = 0;
return <retval>;
}