[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
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 14 10:47:00 GMT 2012
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>;
}
More information about the Gcc-bugs
mailing list