Lines Matching defs:context

2498   ipa_polymorphic_call_context context;
2526 hstate.merge_hash (TYPE_UID (odr_query->context.outer_type));
2527 hstate.add_wide_int (odr_query->context.offset);
2529 if (odr_query->context.speculative_outer_type)
2531 hstate.merge_hash (TYPE_UID (odr_query->context.speculative_outer_type));
2532 hstate.add_wide_int (odr_query->context.speculative_offset);
2535 hstate.add_flag (odr_query->context.maybe_in_construction);
2536 hstate.add_flag (odr_query->context.maybe_derived_type);
2537 hstate.add_flag (odr_query->context.speculative_maybe_derived_type);
2550 && t1->context.offset == t2->context.offset
2551 && t1->context.speculative_offset == t2->context.speculative_offset
2552 && t1->context.outer_type == t2->context.outer_type
2553 && t1->context.speculative_outer_type == t2->context.speculative_outer_type
2554 && t1->context.maybe_in_construction
2555 == t2->context.maybe_in_construction
2556 && t1->context.maybe_derived_type == t2->context.maybe_derived_type
2557 && (t1->context.speculative_maybe_derived_type
2558 == t2->context.speculative_maybe_derived_type));
2640 We obtain object's BINFO from the context of the virtual table.
2830 ipa_polymorphic_call_context context,
2849 /* If ODR is not initialized or the context is invalid, return empty
2851 if (!odr_hash || context.invalid || !TYPE_BINFO (otr_type))
2854 *completep = context.invalid;
2861 if (!speculative || !context.speculative_outer_type)
2862 context.clear_speculation ();
2867 gcc_assert (!context.outer_type
2868 || TYPE_MAIN_VARIANT (context.outer_type) == context.outer_type);
2871 If we fail to do so, the context is invalid. */
2872 if ((context.outer_type || context.speculative_outer_type)
2873 && !context.restrict_to_inner_class (otr_type))
2881 gcc_assert (!context.invalid);
2884 gcc_assert (!context.outer_type
2885 || TYPE_MAIN_VARIANT (context.outer_type) == context.outer_type);
2891 if (!context.outer_type)
2892 context.clear_outer_type (otr_type);
2894 outer_type = get_odr_type (context.outer_type, true);
2897 context.maybe_derived_type = false;
2916 if (context.outer_type != otr_type)
2917 context.outer_type
2918 = get_odr_type (context.outer_type, true)->type;
2919 if (context.speculative_outer_type)
2920 context.speculative_outer_type
2921 = get_odr_type (context.speculative_outer_type, true)->type;
2928 key.context = context;
2961 (*slot)->context = context;
2968 if (context.speculative_outer_type)
2975 speculative_outer_type = get_odr_type (context.speculative_outer_type, true);
2977 context.speculative_maybe_derived_type = false;
2979 context.speculative_offset, otr_type);
2989 context.speculative_maybe_derived_type = false;
2997 if (context.speculative_maybe_derived_type)
3004 context.speculative_offset,
3014 context.offset, otr_type);
3027 context.maybe_in_construction = false;
3034 context.maybe_derived_type = false;
3047 if (context.maybe_derived_type)
3055 context.offset, &complete,
3057 context.maybe_in_construction);
3112 if (context.maybe_in_construction)
3115 context.maybe_in_construction = false;
3116 if (context.maybe_in_construction)
3120 || (context.maybe_derived_type
3123 context.offset, nodes, &inserted,
3263 ipa_polymorphic_call_context context (current_function_decl, ref, stmt);
3269 context,
3360 context CTX. */
3464 polymorphic call context propagation. If not, we can just
3739 pass_ipa_devirt (gcc::context *ctxt)
3773 make_pass_ipa_devirt (gcc::context *ctxt)