https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65613
Bug ID: 65613
Summary: valgrind error in find_call_crossed_cheap_reg
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Created attachment 35167
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35167&action=edit
C++ source code
The attached code, when compiled by gcc trunk dated 20150325
under valgrind, and flags -O3 -march=native, does this
==28822== Use of uninitialised value of size 8
==28822== at 0xBDB4FC: find_call_crossed_cheap_reg (ira-lives.c:1037)
==28822== by 0xBDB4FC: process_bb_node_lives(ira_loop_tree_node*)
(ira-lives.c:1218)
==28822== by 0xBB917E: ira_traverse_loop_tree(bool, ira_loop_tree_node*,
void (*)(ira_loop_tree_node*), void (*)(ira_loop_tree_node*))
(ira-build.c:1845)
==28822== by 0xBDBA41: ira_create_allocno_live_ranges() (ira-lives.c:1582)
==28822== by 0xBBB0BB: ira_build() (ira-build.c:3461)
==28822== by 0xBB1550: ira (ira.c:5254)
ira-lives.c:1037 is
if (!REG_P (dest) || HARD_REGISTER_P (dest)