Lines Matching defs:merged_store
2596 corresponding loads already in MERGED_STORE group.
2600 compatible_load_p (merged_store_group *merged_store,
2604 store_immediate_info *infof = merged_store->stores[0];
2612 store_immediate_info *infol = merged_store->stores.last ();
2644 merged_store->stores IDX loads, no stmts starting with
2645 merged_store->first_stmt and ending right before merged_store->last_stmt
2647 gimple *first = merged_store->first_stmt;
2648 gimple *last = merged_store->last_stmt;
2651 merged_store->first_stmt. In that case we need to give up if
2654 if (info->order < merged_store->first_order)
2656 for (store_immediate_info *infoc : merged_store->stores)
2661 /* Similarly, we could change merged_store->last_stmt, so ensure
2664 else if (info->order > merged_store->last_order)
2666 for (store_immediate_info *infoc : merged_store->stores)
2796 imm_store_chain_info::try_coalesce_bswap (merged_store_group *merged_store,
2808 || m_store_info[i]->lp_nr != merged_store->lp_nr
2826 unsigned int align = merged_store->align;
2827 unsigned HOST_WIDE_INT align_base = merged_store->align_base;
2859 unsigned int first_order = merged_store->first_order;
2860 unsigned int last_order = merged_store->last_order;
2861 gimple *first_stmt = merged_store->first_stmt;
2862 gimple *last_stmt = merged_store->last_stmt;
2863 unsigned HOST_WIDE_INT end = merged_store->start + merged_store->width;
2945 merged_store->start, end, first_earlier, first))
3010 merged_store->merge_into (m_store_info[i]);
3042 merged_store_group *merged_store = new merged_store_group (info);
3056 <= merged_store->start))
3065 if (info->bitpos == merged_store->start + merged_store->width
3066 && merged_store->stores.length () == 1
3067 && merged_store->stores[0]->ins_stmt != NULL
3068 && info->lp_nr == merged_store->lp_nr
3073 if (try_coalesce_bswap (merged_store, i - 1, try_size,
3079 ignore = i + merged_store->stores.length () - 1;
3080 m_merged_store_groups.safe_push (merged_store);
3083 merged_store = new merged_store_group (m_store_info[ignore]);
3087 merged_store = NULL;
3093 = MIN (merged_store->bitregion_start, info->bitregion_start);
3095 = MAX (merged_store->bitregion_end, info->bitregion_end);
3097 if (info->order >= merged_store->first_nonmergeable_order
3105 else if (IN_RANGE (info->bitpos, merged_store->start,
3106 merged_store->start + merged_store->width - 1)
3110 || (info->bitregion_start <= merged_store->bitregion_end
3112 && merged_store->only_constants
3113 && merged_store->can_be_merged_into (info)))
3117 && merged_store->only_constants
3118 && info->lp_nr == merged_store->lp_nr)
3121 = MIN (merged_store->first_order, info->order);
3123 = MAX (merged_store->last_order, info->order);
3125 = MAX (merged_store->start + merged_store->width,
3128 last_order, merged_store->start, end,
3171 || info2->lp_nr != merged_store->lp_nr)
3190 && info2->lp_nr == merged_store->lp_nr
3205 merged_store->start, this_end,
3230 merged_store->first_nonmergeable_order);
3244 merged_store->merge_overlapping (info);
3246 merged_store->first_nonmergeable_order
3247 = MIN (merged_store->first_nonmergeable_order,
3258 merged_store->merge_overlapping (info2);
3273 else if (info->bitregion_start <= merged_store->bitregion_end
3274 && merged_store->can_be_merged_into (info))
3276 store_immediate_info *infof = merged_store->stores[0];
3293 MIN (merged_store->first_order, info->order),
3294 MAX (merged_store->last_order, info->order),
3295 merged_store->start,
3296 MAX (merged_store->start + merged_store->width,
3309 for (store_immediate_info *infoj : merged_store->stores)
3315 merged_store->bit_insertion = true;
3318 ? compatible_load_p (merged_store, info, base_addr, 0)
3321 ? compatible_load_p (merged_store, info, base_addr, 1)
3324 merged_store->merge_into (info);
3336 if (merged_store->apply_stores ())
3337 m_merged_store_groups.safe_push (merged_store);
3339 delete merged_store;
3341 merged_store = new merged_store_group (info);
3358 if (merged_store)
3360 if (merged_store->apply_stores ())
3361 m_merged_store_groups.safe_push (merged_store);
3363 delete merged_store;
4786 merged_store_group *merged_store;
4788 FOR_EACH_VEC_ELT (m_merged_store_groups, i, merged_store)
4791 && output_merged_store (merged_store))
4795 FOR_EACH_VEC_ELT (merged_store->stores, j, store)
4806 if (stmt != merged_store->last_stmt)