Lines Matching defs:stmt_vinfo
466 - a USE in STMT_VINFO in a loop represented by LOOP_VINFO
467 - RELEVANT - enum value to be set in the STMT_VINFO of the stmt
482 - case 2: If STMT_VINFO is a reduction phi and DEF_STMT is a reduction stmt,
484 - case 3: If DEF_STMT and STMT_VINFO are in different nests, then
490 process_use (stmt_vec_info stmt_vinfo, tree use, loop_vec_info loop_vinfo,
499 if (!force && !exist_non_indexing_operands_for_use_p (use, stmt_vinfo))
503 return opt_result::failure_at (stmt_vinfo->stmt,
511 basic_block bb = gimple_bb (stmt_vinfo->stmt);
516 if (gimple_code (stmt_vinfo->stmt) == GIMPLE_PHI
517 && STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_reduction_def
545 relevant = (STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_nested_cycle) ?
550 gcc_assert (STMT_VINFO_DEF_TYPE (stmt_vinfo) != vect_reduction_def);
555 gcc_assert (STMT_VINFO_DEF_TYPE (stmt_vinfo) != vect_reduction_def);
583 relevant = (STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_reduction_def
584 || STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_double_reduction_def) ?
605 else if (gimple_code (stmt_vinfo->stmt) == GIMPLE_PHI
606 && STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_induction_def
607 && ! STMT_VINFO_LIVE_P (stmt_vinfo)
608 && (PHI_ARG_DEF_FROM_EDGE (stmt_vinfo->stmt,
690 stmt_vec_info stmt_vinfo = worklist.pop ();
693 "worklist: examine stmt: %G", stmt_vinfo->stmt);
698 relevant = STMT_VINFO_RELEVANT (stmt_vinfo);
711 switch (STMT_VINFO_DEF_TYPE (stmt_vinfo))
720 (stmt_vinfo->stmt, "unsupported use of reduction.\n");
728 (stmt_vinfo->stmt, "unsupported use of nested cycle.\n");
736 (stmt_vinfo->stmt, "unsupported use of double reduction.\n");
743 if (is_pattern_stmt_p (stmt_vinfo))
748 if (gassign *assign = dyn_cast <gassign *> (stmt_vinfo->stmt))
757 = process_use (stmt_vinfo, TREE_OPERAND (op, 0),
761 res = process_use (stmt_vinfo, TREE_OPERAND (op, 1),
773 = process_use (stmt_vinfo, op, loop_vinfo, relevant,
780 else if (gcall *call = dyn_cast <gcall *> (stmt_vinfo->stmt))
786 = process_use (stmt_vinfo, arg, loop_vinfo, relevant,
794 FOR_EACH_PHI_OR_STMT_USE (use_p, stmt_vinfo->stmt, iter, SSA_OP_USE)
798 = process_use (stmt_vinfo, op, loop_vinfo, relevant,
804 if (STMT_VINFO_GATHER_SCATTER_P (stmt_vinfo))
807 if (!vect_check_gather_scatter (stmt_vinfo, loop_vinfo, &gs_info))
810 = process_use (stmt_vinfo, gs_info.offset, loop_vinfo, relevant,
1368 the loop preheader for the vectorized stmt STMT_VINFO. */
1371 vect_init_vector_1 (vec_info *vinfo, stmt_vec_info stmt_vinfo, gimple *new_stmt,
1375 vect_finish_stmt_generation (vinfo, stmt_vinfo, new_stmt, gsi);
1377 vinfo->insert_on_entry (stmt_vinfo, new_stmt);
1456 OP is an operand in STMT_VINFO. This function returns a vector of
1457 NCOPIES defs that will be used in the vectorized stmts for STMT_VINFO.
1467 vect_get_vec_defs_for_operand (vec_info *vinfo, stmt_vec_info stmt_vinfo,
1490 tree stmt_vectype = STMT_VINFO_VECTYPE (stmt_vinfo);
1502 tree vop = vect_init_vector (vinfo, stmt_vinfo, op, vector_type, NULL);
11782 stmt_vec_info stmt_vinfo = vinfo->lookup_def (operand);
11783 if (!stmt_vinfo)
11787 stmt_vinfo = vect_stmt_to_vectorize (stmt_vinfo);
11788 def_stmt = stmt_vinfo->stmt;
11789 *dt = STMT_VINFO_DEF_TYPE (stmt_vinfo);
11791 *def_stmt_info_out = stmt_vinfo;