[Bug ipa/70646] Corrupt truncated function
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 14 08:45:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70646
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-04-14
CC| |hubicka at gcc dot gnu.org,
| |jamborm at gcc dot gnu.org
Component|c |ipa
Ever confirmed|0 |1
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.
;; Function broken (broken, funcdef_no=2, decl_uid=1764, cgraph_uid=2,
symbol_order=2) (executed once)
__attribute__((noclone, noinline))
broken (u64 * shost)
{
<bb 2>:
__builtin_unreachable ();
}
after inlining we see:
<bb 2>:
node_name[0] = 255;
node_name[1] = 255;
node_name[2] = 255;
node_name[3] = 255;
node_name[4] = 255;
node_name[5] = 255;
node_name[6] = 255;
node_name[7] = 255;
_14 = MEM[(const u64 *)&node_name];
_15 = __builtin_constant_p (_14);
if (_15 != 0)
goto <bb 3>;
else
goto <bb 4>;
...
<bb 4>:
iftmp.0_37 = _39(D);
__builtin_unreachable ();
which seems to be introduced by IPA CP:
__builtin_unreachable/9 (__builtin_unreachable) @0x7f1563274cf0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
First run: 0
Function flags:
Called by: wwn_to_u64.constprop.0/8
Calls:
wwn_to_u64.constprop.0/8 (wwn_to_u64.constprop) @0x7f1563274000
Type: function definition analyzed
Visibility:
References:
Referring:
Function wwn_to_u64.constprop/8 is inline copy in broken/2
Clone of wwn_to_u64/1
Availability: local
First run: 0
Function flags: local
Called by: broken/2 (inlined) (1.00 per call)
Calls: __builtin_constant_p/5 (1.00 per call) __builtin_unreachable/9
More information about the Gcc-bugs
mailing list