https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110531
Bug ID: 110531 Summary: Vect: slp_done_for_suggested_uf is not initialized in tree-vect-loop.cc Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: hliu at amperecomputing dot com Target Milestone: --- This seems an obvious bug in tree-vect-loop.cc: (1) This var is declared (but not initialized) and used in function vect_analyze_loop_1: bool slp_done_for_suggested_uf; <---- Warning, this is not initialized /* Run the main analysis. */ opt_result res = vect_analyze_loop_2 (loop_vinfo, fatal, &suggested_unroll_factor, slp_done_for_suggested_uf); (2) It is used before set in function vect_analyze_loop_2: static opt_result vect_analyze_loop_2 (loop_vec_info loop_vinfo, bool &fatal, unsigned *suggested_unroll_factor, bool& slp_done_for_suggested_uf) ... bool slp = !applying_suggested_uf || slp_done_for_suggested_uf; <--- used without initialized ... slp_done_for_suggested_uf = slp; I don't know the detail logic and wonder if it should be initialized as "true" or "false" (probably it should be "false").