https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96789
--- Comment #25 from Kewen Lin <linkw at gcc dot gnu.org> --- > > > > Got it! For > > > > else if (vect_nop_conversion_p (stmt_info)) > > continue; > > > > Is it a good idea to change it to call record_stmt_cost like the others? > > 1) introduce one vect_cost_for_stmt enum type eg: nop_stmt > > 2) builtin_vectorization_cost return zero for it by default as before. > > 3) targets can adjust the cost according to its need > > I think this early-out was added for the case where there was no cost but > the target costed it. So at least go back and look what target that was > and see if it can be adjusted. OK, thanks. The change is from commit r10-4592, I think most of its handled objects are no costs for all targets, like VIEW_CONVERT_EXPR, UL/SL bi-direction conversions etc, so it's good to differentiate it from scalar_stmt, but the "continue" way makes target hard to tweak for some tree_nop_conversion_p stmts.