Home | History | Annotate | Download | only in gcc

Lines Matching defs:insn_info

805 /* Initialize INSN_INFO to describe INSN.  */
808 df_insn_info_init_fields (df_insn_info *insn_info, rtx_insn *insn)
810 memset (insn_info, 0, sizeof (struct df_insn_info));
811 insn_info->insn = insn;
879 /* Remove the contents of INSN_INFO (but don't free INSN_INFO itself). */
882 df_insn_info_free_fields (df_insn_info *insn_info)
884 /* In general, notes do not have the insn_info fields
889 df_mw_hardreg_chain_delete (insn_info->mw_hardregs);
893 df_ref_chain_delete_du_chain (insn_info->defs);
894 df_ref_chain_delete_du_chain (insn_info->uses);
895 df_ref_chain_delete_du_chain (insn_info->eq_uses);
898 df_ref_chain_delete (insn_info->defs);
899 df_ref_chain_delete (insn_info->uses);
900 df_ref_chain_delete (insn_info->eq_uses);
911 struct df_insn_info *insn_info = DF_INSN_UID_SAFE_GET (uid);
916 if (insn_info)
921 df_insn_info_free_fields (insn_info);
922 problem_data->insn_pool->remove (insn_info);
969 struct df_insn_info *insn_info = DF_INSN_UID_SAFE_GET (uid);
970 if (insn_info)
1020 struct df_insn_info *insn_info = NULL;
1041 insn_info = DF_INSN_UID_SAFE_GET (uid);
1046 if (!insn_info)
1048 insn_info = df_insn_create_insn_record (insn);
1049 insn_info->defs = 0;
1050 insn_info->uses = 0;
1051 insn_info->eq_uses = 0;
1052 insn_info->mw_hardregs = 0;
1066 if (insn_info)
1084 df_insn_info_free_fields (insn_info);
1085 df_insn_info_init_fields (insn_info, insn);
1090 struct df_insn_info *insn_info = df_insn_create_insn_record (insn);
1091 df_insn_refs_collect (&collection_rec, bb, insn_info);
1110 struct df_insn_info *insn_info;
1118 insn_info = DF_INSN_UID_SAFE_GET (INSN_UID (insn));
1119 if (!insn_info)
1129 if (insn_info->defs == 0
1130 && insn_info->uses == 0
1131 && insn_info->eq_uses == 0
1132 && insn_info->mw_hardregs == 0)
1135 df_mw_hardreg_chain_delete (insn_info->mw_hardregs);
1139 df_ref_chain_delete_du_chain (insn_info->defs);
1140 df_ref_chain_delete_du_chain (insn_info->uses);
1141 df_ref_chain_delete_du_chain (insn_info->eq_uses);
1144 df_ref_chain_delete (insn_info->defs);
1145 df_ref_chain_delete (insn_info->uses);
1146 df_ref_chain_delete (insn_info->eq_uses);
1148 insn_info->defs = 0;
1149 insn_info->uses = 0;
1150 insn_info->eq_uses = 0;
1151 insn_info->mw_hardregs = 0;
1186 struct df_insn_info *insn_info = DF_INSN_UID_SAFE_GET (uid);
1187 if (insn_info)
1240 struct df_insn_info *insn_info = DF_INSN_UID_SAFE_GET (uid);
1241 if (insn_info)
1248 struct df_insn_info *insn_info = DF_INSN_UID_SAFE_GET (uid);
1249 if (insn_info)
1250 df_insn_rescan (insn_info->insn);
1256 struct df_insn_info *insn_info = DF_INSN_UID_SAFE_GET (uid);
1257 if (insn_info)
1258 df_notes_rescan (insn_info->insn);
1435 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
1438 FOR_EACH_INSN_INFO_DEF (def, insn_info)
1444 FOR_EACH_INSN_INFO_USE (use, insn_info)
1450 FOR_EACH_INSN_INFO_EQ_USE (use, insn_info)
1501 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
1504 FOR_EACH_INSN_INFO_DEF (def, insn_info)
1516 FOR_EACH_INSN_INFO_USE (use, insn_info)
1528 FOR_EACH_INSN_INFO_EQ_USE (use, insn_info)
1750 struct df_insn_info *insn_info;
1764 insn_info = DF_INSN_UID_SAFE_GET (uid);
1765 if (insn_info == NULL)
1810 struct df_insn_info *insn_info = DF_REF_INSN_INFO (the_ref);
1838 ref_ptr = &insn_info->defs;
1840 ref_ptr = &insn_info->eq_uses;
1842 ref_ptr = &insn_info->uses;
1915 df_mw_hardreg_chain_delete_eq_uses (struct df_insn_info *insn_info)
1917 struct df_mw_hardreg **mw_ptr = &insn_info->mw_hardregs;
1940 struct df_insn_info *insn_info;
1957 insn_info = DF_INSN_UID_SAFE_GET (INSN_UID (insn));
1962 if (!insn_info)
1964 insn_info = df_insn_create_insn_record (insn);
1965 insn_info->defs = 0;
1966 insn_info->uses = 0;
1967 insn_info->eq_uses = 0;
1968 insn_info->mw_hardregs = 0;
1982 if (insn_info)
1989 df_mw_hardreg_chain_delete_eq_uses (insn_info);
1990 df_ref_chain_delete (insn_info->eq_uses);
1991 insn_info->eq_uses = NULL;
2003 bb, insn_info, DF_REF_IN_NOTE);
2011 struct df_mw_hardreg **mw_ptr = &insn_info->mw_hardregs, *mw;
2565 basic_block bb, struct df_insn_info *insn_info,
2608 && (endregno != regno + 1) && insn_info)
2631 bb, insn_info, ref_type, ref_flags);
2638 df_ref_create_structure (cl, collection_rec, reg, loc, bb, insn_info,
2650 rtx *loc, basic_block bb, struct df_insn_info *insn_info,
2664 bb, insn_info, flags);
2689 dst, loc, bb, insn_info, DF_REF_REG_DEF, flags);
2695 dst, NULL, bb, insn_info, DF_REF_REG_USE, flags);
2705 dst, loc, bb, insn_info, DF_REF_REG_DEF, flags);
2715 rtx x, basic_block bb, struct df_insn_info *insn_info,
2724 df_def_record_1 (collection_rec, &SET_DEST (x), bb, insn_info, flags);
2729 df_def_record_1 (collection_rec, &XEXP (x, 0), bb, insn_info, flags);
2734 bb, insn_info, DF_REF_CONDITIONAL);
2740 bb, insn_info, flags);
2821 basic_block bb, struct df_insn_info *insn_info,
2850 bb, insn_info,
2859 bb, insn_info, flags & DF_REF_IN_NOTE);
2869 df_uses_record (collection_rec, loc, ref_type, bb, insn_info, flags);
2876 x, loc, bb, insn_info,
2884 &XEXP (x, 1), ref_type, bb, insn_info, flags);
2886 &XEXP (x, 2), ref_type, bb, insn_info, flags);
2897 &XEXP (x, 0), ref_type, bb, insn_info, flags);
2907 &SET_SRC (x), DF_REF_REG_USE, bb, insn_info, flags);
2915 DF_REF_REG_USE, bb, insn_info,
2927 DF_REF_REG_MEM_STORE, bb, insn_info, flags);
2937 DF_REF_REG_USE, bb, insn_info,
2944 DF_REF_REG_USE, bb, insn_info, flags);
2946 DF_REF_REG_USE, bb, insn_info, flags);
2949 DF_REF_REG_USE, bb, insn_info,
2953 DF_REF_REG_USE, bb, insn_info,
3005 DF_REF_REG_USE, bb, insn_info, flags);
3014 DF_REF_REG_USE, bb, insn_info, flags);
3023 gcc_assert (!DEBUG_INSN_P (insn_info->insn));
3026 bb, insn_info,
3052 bb, insn_info, flags);
3060 bb, insn_info, flags);
3098 struct df_insn_info *insn_info,
3107 df_find_hard_reg_defs (PATTERN (insn_info->insn), &defs_generated);
3108 is_sibling_call = SIBLING_CALL_P (insn_info->insn);
3109 function_abi callee_abi = insn_callee_abi (insn_info->insn);
3114 && !FAKE_CALL_P (insn_info->insn))
3117 NULL, bb, insn_info, DF_REF_REG_USE,
3125 if (!RTL_CONST_CALL_P (insn_info->insn))
3128 NULL, bb, insn_info, DF_REF_REG_USE, flags);
3129 if (!RTL_PURE_CALL_P (insn_info->insn))
3131 NULL, bb, insn_info, DF_REF_REG_DEF, flags);
3141 NULL, bb, insn_info, DF_REF_REG_DEF,
3147 for (note = CALL_INSN_FUNCTION_USAGE (insn_info->insn); note;
3152 DF_REF_REG_USE, bb, insn_info, flags);
3160 insn_info, flags);
3164 DF_REF_REG_USE, bb, insn_info, flags);
3178 basic_block bb, struct df_insn_info *insn_info)
3181 bool is_cond_exec = (GET_CODE (PATTERN (insn_info->insn)) == COND_EXEC);
3190 for (note = REG_NOTES (insn_info->insn); note;
3199 bb, insn_info, DF_REF_IN_NOTE);
3205 NULL, bb, insn_info,
3210 NULL, bb, insn_info,
3221 if (CALL_P (insn_info->insn))
3222 df_get_call_refs (collection_rec, bb, insn_info, flags);
3227 PATTERN (insn_info->insn), bb, insn_info, 0);
3231 &PATTERN (insn_info->insn), DF_REF_REG_USE, bb, insn_info, 0);
3253 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
3256 if (!insn_info)
3259 insn_info = df_insn_create_insn_record (insn);
3262 DF_INSN_INFO_LUID (insn_info) = luid;
3349 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
3350 gcc_assert (!insn_info);
3352 insn_info = df_insn_create_insn_record (insn);
3356 DF_INSN_INFO_LUID (insn_info) = luid++;
3360 DF_INSN_INFO_LUID (insn_info) = luid;
4085 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
4087 df_insn_refs_collect (collection_rec, bb, insn_info);