https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68785
Bug ID: 68785 Summary: [6 Regression] valgrind reports issues with folding on x86_64 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Target Milestone: --- Host: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu Build: x86_64-unknown-linux-gnu I configured gcc with --enable-valgrind-annotations and built the Linux kernel under valgrind on a compile farm machine on x86_64. The following issue popped up a few times: ==40045== Conditional jump or move depends on uninitialised value(s) ==40045== at 0xD6F632: get_int_cst_ext_nunits(tree_node*, generic_wide_int<wide_int_storage> const&) (wide-int.h:795) ==40045== by 0xD90B52: wide_int_to_tree(tree_node*, generic_wide_int<wide_int_ref_storage<false> > const&) (tree.c:1432) ==40045== by 0x808EB4: native_interpret_expr(tree_node*, unsigned char const*, int) (fold-const.c:7305) ==40045== by 0x871C03: fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned long, tree_node*) (gimple-fold.c:5500) ==40045== by 0x8721C9: fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) (gimple-fold.c:5616) ==40045== by 0x87311F: gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) (gimple-fold.c:5095) ==40045== by 0xBEE645: evaluate_stmt(gimple*) (tree-ssa-ccp.c:1214) ==40045== by 0xBEFA0A: visit_assignment(gimple*, tree_node**) (tree-ssa-ccp.c:2290) ==40045== by 0xBEFAD7: ccp_visit_stmt(gimple*, edge_def**, tree_node**) (tree-ssa-ccp.c:2368) ==40045== by 0xC7E82C: simulate_stmt(gimple*) (tree-ssa-propagate.c:331) ==40045== by 0xC80385: ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**), ssa_prop_result (*)(gphi*)) (tree-ssa-propagate.c:509) ==40045== by 0xBE83E4: (anonymous namespace)::pass_ccp::execute(function*) (tree-ssa-ccp.c:2408) ==40045== ==40045== Conditional jump or move depends on uninitialised value(s) ==40045== at 0xD90EEB: wide_int_to_tree(tree_node*, generic_wide_int<wide_int_ref_storage<false> > const&) (tree.c:1473) ==40045== by 0x808EB4: native_interpret_expr(tree_node*, unsigned char const*, int) (fold-const.c:7305) ==40045== by 0x871C03: fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned long, tree_node*) (gimple-fold.c:5500) ==40045== by 0x8721C9: fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) (gimple-fold.c:5616) ==40045== by 0x87311F: gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) (gimple-fold.c:5095) ==40045== by 0xBEE645: evaluate_stmt(gimple*) (tree-ssa-ccp.c:1214) ==40045== by 0xBEFA0A: visit_assignment(gimple*, tree_node**) (tree-ssa-ccp.c:2290) ==40045== by 0xBEFAD7: ccp_visit_stmt(gimple*, edge_def**, tree_node**) (tree-ssa-ccp.c:2368) ==40045== by 0xC7E82C: simulate_stmt(gimple*) (tree-ssa-propagate.c:331) ==40045== by 0xC80385: ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**), ssa_prop_result (*)(gphi*)) (tree-ssa-propagate.c:509) ==40045== by 0xBE83E4: (anonymous namespace)::pass_ccp::execute(function*) (tree-ssa-ccp.c:2408) ==40045== by 0xA10CAC: execute_one_pass(opt_pass*) (passes.c:2336) ==40045== ==40045== Conditional jump or move depends on uninitialised value(s) ==40045== at 0xD90E67: wide_int_to_tree(tree_node*, generic_wide_int<wide_int_ref_storage<false> > const&) (tree.c:1492) ==40045== by 0x808EB4: native_interpret_expr(tree_node*, unsigned char const*, int) (fold-const.c:7305) ==40045== by 0x871C03: fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned long, tree_node*) (gimple-fold.c:5500) ==40045== by 0x8721C9: fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) (gimple-fold.c:5616) ==40045== by 0x87311F: gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) (gimple-fold.c:5095) ==40045== by 0xBEE645: evaluate_stmt(gimple*) (tree-ssa-ccp.c:1214) ==40045== by 0xBEFA0A: visit_assignment(gimple*, tree_node**) (tree-ssa-ccp.c:2290) ==40045== by 0xBEFAD7: ccp_visit_stmt(gimple*, edge_def**, tree_node**) (tree-ssa-ccp.c:2368) ==40045== by 0xC7E82C: simulate_stmt(gimple*) (tree-ssa-propagate.c:331) ==40045== by 0xC80385: ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**), ssa_prop_result (*)(gphi*)) (tree-ssa-propagate.c:509) ==40045== by 0xBE83E4: (anonymous namespace)::pass_ccp::execute(function*) (tree-ssa-ccp.c:2408) ==40045== by 0xA10CAC: execute_one_pass(opt_pass*) (passes.c:2336) ==40045== ==40045== Conditional jump or move depends on uninitialised value(s) ==40045== at 0xD90D13: wide_int_to_tree(tree_node*, generic_wide_int<wide_int_ref_storage<false> > const&) (tree.h:3217) ==40045== by 0x808EB4: native_interpret_expr(tree_node*, unsigned char const*, int) (fold-const.c:7305) ==40045== by 0x871C03: fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned long, tree_node*) (gimple-fold.c:5500) ==40045== by 0x8721C9: fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) (gimple-fold.c:5616) ==40045== by 0x87311F: gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) (gimple-fold.c:5095) ==40045== by 0xBEE645: evaluate_stmt(gimple*) (tree-ssa-ccp.c:1214) ==40045== by 0xBEFA0A: visit_assignment(gimple*, tree_node**) (tree-ssa-ccp.c:2290) ==40045== by 0xBEFAD7: ccp_visit_stmt(gimple*, edge_def**, tree_node**) (tree-ssa-ccp.c:2368) ==40045== by 0xC7E82C: simulate_stmt(gimple*) (tree-ssa-propagate.c:331) ==40045== by 0xC80385: ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**), ssa_prop_result (*)(gphi*)) (tree-ssa-propagate.c:509) ==40045== by 0xBE83E4: (anonymous namespace)::pass_ccp::execute(function*) (tree-ssa-ccp.c:2408) ==40045== by 0xA10CAC: execute_one_pass(opt_pass*) (passes.c:2336) ==40045== ==40045== Use of uninitialised value of size 8 ==40045== at 0xD90D1C: wide_int_to_tree(tree_node*, generic_wide_int<wide_int_ref_storage<false> > const&) (tree.c:1501) ==40045== by 0x808EB4: native_interpret_expr(tree_node*, unsigned char const*, int) (fold-const.c:7305) ==40045== by 0x871C03: fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned long, tree_node*) (gimple-fold.c:5500) ==40045== by 0x8721C9: fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) (gimple-fold.c:5616) ==40045== by 0x87311F: gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) (gimple-fold.c:5095) ==40045== by 0xBEE645: evaluate_stmt(gimple*) (tree-ssa-ccp.c:1214) ==40045== by 0xBEFA0A: visit_assignment(gimple*, tree_node**) (tree-ssa-ccp.c:2290) ==40045== by 0xBEFAD7: ccp_visit_stmt(gimple*, edge_def**, tree_node**) (tree-ssa-ccp.c:2368) ==40045== by 0xC7E82C: simulate_stmt(gimple*) (tree-ssa-propagate.c:331) ==40045== by 0xC80385: ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**), ssa_prop_result (*)(gphi*)) (tree-ssa-propagate.c:509) ==40045== by 0xBE83E4: (anonymous namespace)::pass_ccp::execute(function*) (tree-ssa-ccp.c:2408) ==40045== by 0xA10CAC: execute_one_pass(opt_pass*) (passes.c:2336) ==40045== ==40045== Conditional jump or move depends on uninitialised value(s) ==40045== at 0xD90D68: wide_int_to_tree(tree_node*, generic_wide_int<wide_int_ref_storage<false> > const&) (tree.c:1504) ==40045== by 0x808EB4: native_interpret_expr(tree_node*, unsigned char const*, int) (fold-const.c:7305) ==40045== by 0x871C03: fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned long, tree_node*) (gimple-fold.c:5500) ==40045== by 0x8721C9: fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) (gimple-fold.c:5616) ==40045== by 0x87311F: gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) (gimple-fold.c:5095) ==40045== by 0xBEE645: evaluate_stmt(gimple*) (tree-ssa-ccp.c:1214) ==40045== by 0xBEFA0A: visit_assignment(gimple*, tree_node**) (tree-ssa-ccp.c:2290) ==40045== by 0xBEFAD7: ccp_visit_stmt(gimple*, edge_def**, tree_node**) (tree-ssa-ccp.c:2368) ==40045== by 0xC7E82C: simulate_stmt(gimple*) (tree-ssa-propagate.c:331) ==40045== by 0xC80385: ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**), ssa_prop_result (*)(gphi*)) (tree-ssa-propagate.c:509) ==40045== by 0xBE83E4: (anonymous namespace)::pass_ccp::execute(function*) (tree-ssa-ccp.c:2408) ==40045== by 0xA10CAC: execute_one_pass(opt_pass*) (passes.c:2336) ==40045==