Home | History | Annotate | Download | only in gcc

Lines Matching refs:expr

69    expression EXPR into bitpack BP.  */
72 pack_ts_base_value_fields (struct bitpack_d *bp, tree expr)
75 bp_pack_value (bp, TREE_CODE (expr), 16);
76 if (!TYPE_P (expr))
78 bp_pack_value (bp, TREE_SIDE_EFFECTS (expr), 1);
79 bp_pack_value (bp, TREE_CONSTANT (expr), 1);
80 bp_pack_value (bp, TREE_READONLY (expr), 1);
85 bp_pack_value (bp, TREE_PUBLIC (expr), 1);
89 bp_pack_value (bp, TREE_ADDRESSABLE (expr), 1);
90 bp_pack_value (bp, TREE_THIS_VOLATILE (expr), 1);
91 if (DECL_P (expr))
93 bp_pack_value (bp, DECL_UNSIGNED (expr), 1);
94 bp_pack_value (bp, DECL_NAMELESS (expr), 1);
96 else if (TYPE_P (expr))
97 bp_pack_value (bp, TYPE_UNSIGNED (expr), 1);
102 bp_pack_value (bp, (TREE_CODE (expr) != SSA_NAME
103 ? 0 : TREE_ASM_WRITTEN (expr)), 1);
104 if (TYPE_P (expr))
105 bp_pack_value (bp, TYPE_ARTIFICIAL (expr), 1);
107 bp_pack_value (bp, TREE_NO_WARNING (expr), 1);
108 bp_pack_value (bp, TREE_NOTHROW (expr), 1);
109 bp_pack_value (bp, TREE_STATIC (expr), 1);
110 if (TREE_CODE (expr) != TREE_BINFO)
111 bp_pack_value (bp, TREE_PRIVATE (expr), 1);
114 bp_pack_value (bp, TREE_PROTECTED (expr), 1);
115 bp_pack_value (bp, TREE_DEPRECATED (expr), 1);
116 if (TYPE_P (expr))
118 if (AGGREGATE_TYPE_P (expr))
119 bp_pack_value (bp, TYPE_REVERSE_STORAGE_ORDER (expr), 1);
121 bp_pack_value (bp, TYPE_SATURATING (expr), 1);
127 bp_pack_value (bp, TYPE_ADDR_SPACE (expr), 8);
129 else if (TREE_CODE (expr) == BIT_FIELD_REF || TREE_CODE (expr) == MEM_REF)
131 bp_pack_value (bp, REF_REVERSE_STORAGE_ORDER (expr), 1);
134 else if (TREE_CODE (expr) == SSA_NAME)
136 bp_pack_value (bp, SSA_NAME_IS_DEFAULT_DEF (expr), 1);
139 else if (TREE_CODE (expr) == CALL_EXPR)
141 bp_pack_value (bp, CALL_EXPR_BY_DESCRIPTOR (expr), 1);
150 expression EXPR into bitpack BP. */
153 pack_ts_int_cst_value_fields (struct bitpack_d *bp, tree expr)
158 for (i = 0; i < TREE_INT_CST_EXT_NUNITS (expr); i++)
159 bp_pack_var_len_int (bp, TREE_INT_CST_ELT (expr, i));
164 expression EXPR into bitpack BP. */
167 pack_ts_real_cst_value_fields (struct bitpack_d *bp, tree expr)
172 r = TREE_REAL_CST (expr);
185 expression EXPR into bitpack BP. */
188 pack_ts_fixed_cst_value_fields (struct bitpack_d *bp, tree expr)
190 struct fixed_value fv = TREE_FIXED_CST (expr);
197 of expression EXPR into bitpack BP. */
200 pack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr)
202 bp_pack_machine_mode (bp, DECL_MODE (expr));
203 bp_pack_value (bp, DECL_NONLOCAL (expr), 1);
204 bp_pack_value (bp, DECL_VIRTUAL_P (expr), 1);
205 bp_pack_value (bp, DECL_IGNORED_P (expr), 1);
206 bp_pack_value (bp, DECL_ABSTRACT_P (expr), 1);
207 bp_pack_value (bp, DECL_ARTIFICIAL (expr), 1);
208 bp_pack_value (bp, DECL_USER_ALIGN (expr), 1);
209 bp_pack_value (bp, DECL_PRESERVE_P (expr), 1);
210 bp_pack_value (bp, DECL_EXTERNAL (expr), 1);
211 bp_pack_value (bp, DECL_NOT_GIMPLE_REG_P (expr), 1);
212 bp_pack_var_len_unsigned (bp, DECL_ALIGN (expr));
214 if (TREE_CODE (expr) == LABEL_DECL)
219 bp_pack_var_len_unsigned (bp, EH_LANDING_PAD_NR (expr));
222 else if (TREE_CODE (expr) == FIELD_DECL)
224 bp_pack_value (bp, DECL_PACKED (expr), 1);
225 bp_pack_value (bp, DECL_NONADDRESSABLE_P (expr), 1);
226 bp_pack_value (bp, DECL_PADDING_P (expr), 1);
227 if (DECL_BIT_FIELD (expr))
228 bp_pack_value (bp, DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD (expr), 1);
230 bp_pack_value (bp, DECL_FIELD_ABI_IGNORED (expr), 1);
231 bp_pack_value (bp, expr->decl_common.off_align, 8);
234 else if (VAR_P (expr))
236 bp_pack_value (bp, DECL_HAS_DEBUG_EXPR_P (expr), 1);
237 bp_pack_value (bp, DECL_NONLOCAL_FRAME (expr), 1);
240 else if (TREE_CODE (expr) == PARM_DECL)
241 bp_pack_value (bp, DECL_HIDDEN_STRING_LENGTH (expr), 1);
243 if (TREE_CODE (expr) == RESULT_DECL
244 || TREE_CODE (expr) == PARM_DECL
245 || VAR_P (expr))
247 bp_pack_value (bp, DECL_BY_REFERENCE (expr), 1);
248 if (VAR_P (expr) || TREE_CODE (expr) == PARM_DECL)
249 bp_pack_value (bp, DECL_HAS_VALUE_EXPR_P (expr), 1);
255 of expression EXPR into bitpack BP. */
258 pack_ts_decl_wrtl_value_fields (struct bitpack_d *bp, tree expr)
260 bp_pack_value (bp, DECL_REGISTER (expr), 1);
265 of expression EXPR into bitpack BP. */
268 pack_ts_decl_with_vis_value_fields (struct bitpack_d *bp, tree expr)
270 bp_pack_value (bp, DECL_COMMON (expr), 1);
271 bp_pack_value (bp, DECL_DLLIMPORT_P (expr), 1);
272 bp_pack_value (bp, DECL_WEAK (expr), 1);
273 bp_pack_value (bp, DECL_SEEN_IN_BIND_EXPR_P (expr), 1);
274 bp_pack_value (bp, DECL_COMDAT (expr), 1);
275 bp_pack_value (bp, DECL_VISIBILITY (expr), 2);
276 bp_pack_value (bp, DECL_VISIBILITY_SPECIFIED (expr), 1);
278 if (VAR_P (expr))
280 bp_pack_value (bp, DECL_HARD_REGISTER (expr), 1);
282 bp_pack_value (bp, DECL_IN_CONSTANT_POOL (expr), 1);
285 if (TREE_CODE (expr) == FUNCTION_DECL)
287 bp_pack_value (bp, DECL_FINAL_P (expr), 1);
288 bp_pack_value (bp, DECL_CXX_CONSTRUCTOR_P (expr), 1);
289 bp_pack_value (bp, DECL_CXX_DESTRUCTOR_P (expr), 1);
295 of expression EXPR into bitpack BP. */
298 pack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr)
301 DECL_BUILT_IN_CLASS (expr));
302 bp_pack_value (bp, DECL_STATIC_CONSTRUCTOR (expr), 1);
303 bp_pack_value (bp, DECL_STATIC_DESTRUCTOR (expr), 1);
304 bp_pack_value (bp, DECL_UNINLINABLE (expr), 1);
305 bp_pack_value (bp, DECL_POSSIBLY_INLINED (expr), 1);
306 bp_pack_value (bp, DECL_IS_NOVOPS (expr), 1);
307 bp_pack_value (bp, DECL_IS_RETURNS_TWICE (expr), 1);
308 bp_pack_value (bp, DECL_IS_MALLOC (expr), 1);
309 bp_pack_value (bp, FUNCTION_DECL_DECL_TYPE (expr), 2);
310 bp_pack_value (bp, DECL_IS_OPERATOR_DELETE_P (expr), 1);
311 bp_pack_value (bp, DECL_DECLARED_INLINE_P (expr), 1);
312 bp_pack_value (bp, DECL_STATIC_CHAIN (expr), 1);
313 bp_pack_value (bp, DECL_NO_INLINE_WARNING_P (expr), 1);
314 bp_pack_value (bp, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (expr), 1);
315 bp_pack_value (bp, DECL_NO_LIMIT_STACK (expr), 1);
316 bp_pack_value (bp, DECL_DISREGARD_INLINE_LIMITS (expr), 1);
317 bp_pack_value (bp, DECL_PURE_P (expr), 1);
318 bp_pack_value (bp, DECL_LOOPING_CONST_OR_PURE_P (expr), 1);
319 bp_pack_value (bp, DECL_IS_REPLACEABLE_OPERATOR (expr), 1);
320 if (DECL_BUILT_IN_CLASS (expr) != NOT_BUILT_IN)
321 bp_pack_value (bp, DECL_UNCHECKED_FUNCTION_CODE (expr), 32);
326 of expression EXPR into bitpack BP. */
329 pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
334 bp_pack_machine_mode (bp, TYPE_MODE_RAW (expr));
337 bp_pack_value (bp, TYPE_PACKED (expr), 1);
338 bp_pack_value (bp, TYPE_RESTRICT (expr), 1);
339 bp_pack_value (bp, TYPE_USER_ALIGN (expr), 1);
340 bp_pack_value (bp, TYPE_READONLY (expr), 1);
343 vla_p = TYPE_LANG_FLAG_0 (TYPE_MAIN_VARIANT (expr));
345 vla_p = variably_modified_type_p (expr, NULL_TREE);
350 if (RECORD_OR_UNION_TYPE_P (expr))
352 bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1);
353 bp_pack_value (bp, TYPE_FINAL_P (expr), 1);
356 bp_pack_value (bp, flag_wpa && TYPE_CANONICAL (expr)
357 ? TYPE_CXX_ODR_P (TYPE_CANONICAL (expr))
358 : TYPE_CXX_ODR_P (expr), 1);
360 else if (TREE_CODE (expr) == ARRAY_TYPE)
361 bp_pack_value (bp, TYPE_NONALIASED_COMPONENT (expr), 1);
362 if (TREE_CODE (expr) == ARRAY_TYPE || TREE_CODE (expr) == INTEGER_TYPE)
363 bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1);
364 if (AGGREGATE_TYPE_P (expr))
365 bp_pack_value (bp, TYPE_TYPELESS_STORAGE (expr), 1);
366 bp_pack_value (bp, TYPE_EMPTY_P (expr), 1);
367 bp_pack_var_len_unsigned (bp, TYPE_PRECISION (expr));
368 bp_pack_var_len_unsigned (bp, TYPE_ALIGN (expr));
373 of expression EXPR into bitpack BP. */
377 struct bitpack_d *bp, tree expr)
383 if (inlined_function_outer_scope_p (expr))
384 stream_output_location (ob, bp, BLOCK_SOURCE_LOCATION (expr));
390 of expression EXPR into bitpack BP. */
394 struct bitpack_d *bp, tree expr)
396 bp_pack_string (ob, bp, TRANSLATION_UNIT_LANGUAGE (expr), true);
401 of expression EXPR into bitpack BP. */
405 struct bitpack_d *bp, tree expr)
407 stream_output_location (ob, bp, OMP_CLAUSE_LOCATION (expr));
408 switch (OMP_CLAUSE_CODE (expr))
412 OMP_CLAUSE_DEFAULT_KIND (expr));
416 OMP_CLAUSE_SCHEDULE_KIND (expr));
420 OMP_CLAUSE_DEPEND_KIND (expr));
424 OMP_CLAUSE_MAP_KIND (expr));
428 OMP_CLAUSE_PROC_BIND_KIND (expr));
434 OMP_CLAUSE_REDUCTION_CODE (expr));
442 /* Pack all the bitfields in EXPR into a bit pack. */
445 streamer_write_tree_bitfields (struct output_block *ob, tree expr)
450 code = TREE_CODE (expr);
454 pack_ts_base_value_fields (&bp, expr);
457 pack_ts_int_cst_value_fields (&bp, expr);
460 pack_ts_real_cst_value_fields (&bp, expr);
463 pack_ts_fixed_cst_value_fields (&bp, expr);
466 stream_output_location (ob, &bp, DECL_SOURCE_LOCATION (expr));
469 pack_ts_decl_common_value_fields (&bp, expr);
472 pack_ts_decl_wrtl_value_fields (&bp, expr);
475 pack_ts_decl_with_vis_value_fields (&bp, expr);
478 pack_ts_function_decl_value_fields (&bp, expr);
481 pack_ts_type_common_value_fields (&bp, expr);
485 stream_output_location (ob, &bp, EXPR_LOCATION (expr));
489 bp_pack_value (&bp, MR_DEPENDENCE_CLIQUE (expr), sizeof (short) * 8);
490 if (MR_DEPENDENCE_CLIQUE (expr) != 0)
491 bp_pack_value (&bp, MR_DEPENDENCE_BASE (expr), sizeof (short) * 8);
494 bp_pack_enum (&bp, internal_fn, IFN_LAST, CALL_EXPR_IFN (expr));
498 pack_ts_block_value_fields (ob, &bp, expr);
501 pack_ts_translation_unit_decl_value_fields (ob, &bp, expr);
504 cl_optimization_stream_out (ob, &bp, TREE_OPTIMIZATION (expr));
508 bp_pack_enum (&bp, clobber_kind, CLOBBER_LAST, CLOBBER_KIND (expr));
509 bp_pack_var_len_unsigned (&bp, CONSTRUCTOR_NELTS (expr));
515 cl_target_option_stream_out (ob, &bp, TREE_TARGET_OPTION (expr));
518 pack_ts_omp_clause_value_fields (ob, &bp, expr);
548 /* Write all pointer fields in the TS_COMMON structure of EXPR to output
549 block OB. If REF_P is true, write a reference to EXPR's pointer
553 write_ts_common_tree_pointers (struct output_block *ob, tree expr)
555 if (TREE_CODE (expr) != IDENTIFIER_NODE)
556 stream_write_tree_ref (ob, TREE_TYPE (expr));
560 /* Write all pointer fields in the TS_VECTOR structure of EXPR to output
561 block OB. If REF_P is true, write a reference to EXPR's pointer
565 write_ts_vector_tree_pointers (struct output_block *ob, tree expr)
567 /* Note that the number of elements for EXPR has already been emitted
568 in EXPR's header (see streamer_write_tree_header). */
569 unsigned int count = vector_cst_encoded_nelts (expr);
571 stream_write_tree_ref (ob, VECTOR_CST_ENCODED_ELT (expr, i));
575 /* Write all pointer fields in the TS_POLY_INT_CST structure of EXPR to
576 output block OB. If REF_P is true, write a reference to EXPR's pointer
580 write_ts_poly_tree_pointers (struct output_block *ob, tree expr)
583 stream_write_tree_ref (ob, POLY_INT_CST_COEFF (expr, i));
587 /* Write all pointer fields in the TS_COMPLEX structure of EXPR to output
588 block OB. If REF_P is true, write a reference to EXPR's pointer
592 write_ts_complex_tree_pointers (struct output_block *ob, tree expr)
594 stream_write_tree_ref (ob, TREE_REALPART (expr));
595 stream_write_tree_ref (ob, TREE_IMAGPART (expr));
599 /* Write all pointer fields in the TS_DECL_MINIMAL structure of EXPR
600 to output block OB. If REF_P is true, write a reference to EXPR's
604 write_ts_decl_minimal_tree_pointers (struct output_block *ob, tree expr)
607 if (DECL_NAME (expr)
608 && TREE_CODE (DECL_NAME (expr)) == IDENTIFIER_NODE
609 && IDENTIFIER_ANON_P (DECL_NAME (expr)))
612 stream_write_tree_ref (ob, DECL_NAME (expr));
613 if (TREE_CODE (expr) != TRANSLATION_UNIT_DECL
614 && ! DECL_CONTEXT (expr))
617 stream_write_tree_ref (ob, DECL_CONTEXT (expr));
621 /* Write all pointer fields in the TS_DECL_COMMON structure of EXPR to
622 output block OB. If REF_P is true, write a reference to EXPR's
626 write_ts_decl_common_tree_pointers (struct output_block *ob, tree expr)
628 stream_write_tree_ref (ob, DECL_SIZE (expr));
629 stream_write_tree_ref (ob, DECL_SIZE_UNIT (expr));
634 stream_write_tree_ref (ob, DECL_ATTRIBUTES (expr));
640 tree ao = DECL_ABSTRACT_ORIGIN (expr);
642 && ao == expr)
646 if ((VAR_P (expr) || TREE_CODE (expr) == PARM_DECL)
647 && DECL_HAS_VALUE_EXPR_P (expr))
648 stream_write_tree_ref (ob, DECL_VALUE_EXPR (expr));
650 if (VAR_P (expr)
651 && DECL_HAS_DEBUG_EXPR_P (expr))
652 stream_write_tree_ref (ob, DECL_DEBUG_EXPR (expr));
657 EXPR to output block OB. If REF_P is true, write a reference to EXPR's
666 /* Write all pointer fields in the TS_DECL_WITH_VIS structure of EXPR
667 to output block OB. If REF_P is true, write a reference to EXPR's
671 write_ts_decl_with_vis_tree_pointers (struct output_block *ob, tree expr)
674 if (DECL_ASSEMBLER_NAME_SET_P (expr))
675 stream_write_tree_ref (ob, DECL_ASSEMBLER_NAME (expr));
681 /* Write all pointer fields in the TS_FIELD_DECL structure of EXPR to
682 output block OB. If REF_P is true, write a reference to EXPR's
686 write_ts_field_decl_tree_pointers (struct output_block *ob, tree expr)
688 stream_write_tree_ref (ob, DECL_FIELD_OFFSET (expr));
689 stream_write_tree_ref (ob, DECL_BIT_FIELD_TYPE (expr));
690 stream_write_tree_ref (ob, DECL_BIT_FIELD_REPRESENTATIVE (expr));
691 stream_write_tree_ref (ob, DECL_FIELD_BIT_OFFSET (expr));
695 /* Write all pointer fields in the TS_FUNCTION_DECL structure of EXPR
696 to output block OB. If REF_P is true, write a reference to EXPR's
700 write_ts_function_decl_tree_pointers (struct output_block *ob, tree expr)
703 stream_write_tree_ref (ob, DECL_FUNCTION_PERSONALITY (expr));
706 stream_write_tree_ref (ob, DECL_FUNCTION_SPECIFIC_TARGET (expr));
707 stream_write_tree_ref (ob, DECL_FUNCTION_SPECIFIC_OPTIMIZATION (expr));
711 /* Write all pointer fields in the TS_TYPE_COMMON structure of EXPR to
712 output block OB. If REF_P is true, write a reference to EXPR's
716 write_ts_type_common_tree_pointers (struct output_block *ob, tree expr)
718 stream_write_tree_ref (ob, TYPE_SIZE (expr));
719 stream_write_tree_ref (ob, TYPE_SIZE_UNIT (expr));
720 stream_write_tree_ref (ob, TYPE_ATTRIBUTES (expr));
721 stream_write_tree_ref (ob, TYPE_NAME (expr));
726 stream_write_tree_ref (ob, TYPE_MAIN_VARIANT (expr));
727 stream_write_tree_ref (ob, TYPE_CONTEXT (expr));
735 /* Write all pointer fields in the TS_TYPE_NON_COMMON structure of EXPR
736 to output block OB. If REF_P is true, write a reference to EXPR's
740 write_ts_type_non_common_tree_pointers (struct output_block *ob, tree expr)
742 if (TREE_CODE (expr) == ARRAY_TYPE)
743 stream_write_tree_ref (ob, TYPE_DOMAIN (expr));
744 else if (RECORD_OR_UNION_TYPE_P (expr))
745 streamer_write_chain (ob, TYPE_FIELDS (expr));
746 else if (TREE_CODE (expr) == FUNCTION_TYPE
747 || TREE_CODE (expr) == METHOD_TYPE)
748 stream_write_tree_ref (ob, TYPE_ARG_TYPES (expr));
750 if (!POINTER_TYPE_P (expr))
751 stream_write_tree_ref (ob, TYPE_MIN_VALUE_RAW (expr));
752 stream_write_tree_ref (ob, TYPE_MAX_VALUE_RAW (expr));
756 /* Write all pointer fields in the TS_LIST structure of EXPR to output
757 block OB. If REF_P is true, write a reference to EXPR's pointer
761 write_ts_list_tree_pointers (struct output_block *ob, tree expr)
763 stream_write_tree_ref (ob, TREE_PURPOSE (expr));
764 stream_write_tree_ref (ob, TREE_VALUE (expr));
765 stream_write_tree_ref (ob, TREE_CHAIN (expr));
769 /* Write all pointer fields in the TS_VEC structure of EXPR to output
770 block OB. If REF_P is true, write a reference to EXPR's pointer
774 write_ts_vec_tree_pointers (struct output_block *ob, tree expr)
778 /* Note that the number of slots for EXPR has already been emitted
779 in EXPR's header (see streamer_write_tree_header). */
780 for (i = 0; i < TREE_VEC_LENGTH (expr); i++)
781 stream_write_tree_ref (ob, TREE_VEC_ELT (expr, i));
785 /* Write all pointer fields in the TS_EXP structure of EXPR to output
786 block OB. If REF_P is true, write a reference to EXPR's pointer
790 write_ts_exp_tree_pointers (struct output_block *ob, tree expr)
794 for (i = 0; i < TREE_OPERAND_LENGTH (expr); i++)
795 stream_write_tree_ref (ob, TREE_OPERAND (expr, i));
796 stream_write_tree_ref (ob, TREE_BLOCK (expr));
800 /* Write all pointer fields in the TS_BLOCK structure of EXPR to output
801 block OB. If REF_P is true, write a reference to EXPR's pointer
805 write_ts_block_tree_pointers (struct output_block *ob, tree expr)
807 streamer_write_chain (ob, BLOCK_VARS (expr));
809 stream_write_tree_ref (ob, BLOCK_SUPERCONTEXT (expr));
810 stream_write_tree_ref (ob, BLOCK_ABSTRACT_ORIGIN (expr));
824 /* Write all pointer fields in the TS_BINFO structure of EXPR to output
825 block OB. If REF_P is true, write a reference to EXPR's pointer
829 write_ts_binfo_tree_pointers (struct output_block *ob, tree expr)
835 EXPR's header (see streamer_write_tree_header) because this length
837 FOR_EACH_VEC_ELT (*BINFO_BASE_BINFOS (expr), i, t)
841 stream_write_tree_ref (ob, BINFO_OFFSET (expr));
842 stream_write_tree_ref (ob, BINFO_VTABLE (expr));
849 /* Write all pointer fields in the TS_CONSTRUCTOR structure of EXPR to
850 output block OB. If REF_P is true, write a reference to EXPR's
854 write_ts_constructor_tree_pointers (struct output_block *ob, tree expr)
859 FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (expr), i, index, value)
867 /* Write all pointer fields in the TS_OMP_CLAUSE structure of EXPR
868 to output block OB. If REF_P is true, write a reference to EXPR's
872 write_ts_omp_clause_tree_pointers (struct output_block *ob, tree expr)
875 for (i = 0; i < omp_clause_num_ops[OMP_CLAUSE_CODE (expr)]; i++)
876 stream_write_tree_ref (ob, OMP_CLAUSE_OPERAND (expr, i));
877 switch (OMP_CLAUSE_CODE (expr))
884 gcc_assert (OMP_CLAUSE_REDUCTION_GIMPLE_INIT (expr) == NULL);
885 gcc_assert (OMP_CLAUSE_REDUCTION_GIMPLE_MERGE (expr) == NULL);
890 stream_write_tree_ref (ob, OMP_CLAUSE_CHAIN (expr));
894 /* Write all pointer fields in EXPR to output block OB. If REF_P is true,
895 the leaves of EXPR are emitted as references. */
898 streamer_write_tree_body (struct output_block *ob, tree expr)
904 code = TREE_CODE (expr);
907 write_ts_common_tree_pointers (ob, expr);
910 write_ts_vector_tree_pointers (ob, expr);
913 write_ts_poly_tree_pointers (ob, expr);
916 write_ts_complex_tree_pointers (ob, expr);
919 write_ts_decl_minimal_tree_pointers (ob, expr);
922 write_ts_decl_common_tree_pointers (ob, expr);
925 write_ts_decl_non_common_tree_pointers (ob, expr);
928 write_ts_decl_with_vis_tree_pointers (ob, expr);
931 write_ts_field_decl_tree_pointers (ob, expr);
934 write_ts_function_decl_tree_pointers (ob, expr);
937 write_ts_type_common_tree_pointers (ob, expr);
940 write_ts_type_non_common_tree_pointers (ob, expr);
943 write_ts_list_tree_pointers (ob, expr);
946 write_ts_vec_tree_pointers (ob, expr);
949 write_ts_exp_tree_pointers (ob, expr);
952 write_ts_block_tree_pointers (ob, expr);
955 write_ts_binfo_tree_pointers (ob, expr);
958 write_ts_constructor_tree_pointers (ob, expr);
961 write_ts_omp_clause_tree_pointers (ob, expr);
965 /* Emit header information for tree EXPR to output block OB. The header
967 EXPR on the reading side. IX is the index into the streamer cache
968 where EXPR is stored. */
971 streamer_write_tree_header (struct output_block *ob, tree expr)
979 expr, 4);
985 code = TREE_CODE (expr);
989 EXPR on the reading side (such as the number of slots in
997 expr);
999 write_identifier (ob, ob->main_stream, expr);
1003 bp_pack_value (&bp, VECTOR_CST_LOG2_NPATTERNS (expr), 8);
1004 bp_pack_value (&bp, VECTOR_CST_NELTS_PER_PATTERN (expr), 8);
1008 streamer_write_hwi (ob, TREE_VEC_LENGTH (expr));
1010 streamer_write_uhwi (ob, BINFO_N_BASE_BINFOS (expr));
1011 else if (TREE_CODE (expr) == CALL_EXPR)
1012 streamer_write_uhwi (ob, call_expr_nargs (expr));
1013 else if (TREE_CODE (expr) == OMP_CLAUSE)
1014 streamer_write_uhwi (ob, OMP_CLAUSE_CODE (expr));
1017 gcc_checking_assert (TREE_INT_CST_NUNITS (expr));
1018 streamer_write_uhwi (ob, TREE_INT_CST_NUNITS (expr));
1019 streamer_write_uhwi (ob, TREE_INT_CST_EXT_NUNITS (expr));