On Sun, May 14, 2023 at 1:32 AM Bernhard Reutner-Fischer via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > From: Bernhard Reutner-Fischer <al...@gcc.gnu.org> > > gcc/ChangeLog:
This piece looks OK to me. > * alias.cc (ref_all_alias_ptr_type_p): Use _P() defines from tree.h. > * attribs.cc (diag_attr_exclusions): Ditto. > (decl_attributes): Ditto. > (build_type_attribute_qual_variant): Ditto. > * builtins.cc (fold_builtin_carg): Ditto. > (fold_builtin_next_arg): Ditto. > (do_mpc_arg2): Ditto. > * cfgexpand.cc (expand_return): Ditto. > * cgraph.h (decl_in_symtab_p): Ditto. > (symtab_node::get_create): Ditto. > * dwarf2out.cc (base_type_die): Ditto. > (implicit_ptr_descriptor): Ditto. > (gen_array_type_die): Ditto. > (gen_type_die_with_usage): Ditto. > (optimize_location_into_implicit_ptr): Ditto. > * expr.cc (do_store_flag): Ditto. > * fold-const.cc (negate_expr_p): Ditto. > (fold_negate_expr_1): Ditto. > (fold_convert_const): Ditto. > (fold_convert_loc): Ditto. > (constant_boolean_node): Ditto. > (fold_binary_op_with_conditional_arg): Ditto. > (build_fold_addr_expr_with_type_loc): Ditto. > (fold_comparison): Ditto. > (fold_checksum_tree): Ditto. > (tree_unary_nonnegative_warnv_p): Ditto. > (integer_valued_real_unary_p): Ditto. > (fold_read_from_constant_string): Ditto. > * gcc-rich-location.cc > (maybe_range_label_for_tree_type_mismatch::get_text): Ditto. > * gimple-expr.cc (useless_type_conversion_p): Ditto. > (is_gimple_reg): Ditto. > (is_gimple_asm_val): Ditto. > (mark_addressable): Ditto. > * gimple-expr.h (is_gimple_variable): Ditto. > (virtual_operand_p): Ditto. > * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): > Ditto. > * gimplify.cc (gimplify_bind_expr): Ditto. > (gimplify_return_expr): Ditto. > (gimple_add_padding_init_for_auto_var): Ditto. > (gimplify_addr_expr): Ditto. > (omp_add_variable): Ditto. > (omp_notice_variable): Ditto. > (omp_get_base_pointer): Ditto. > (omp_strip_components_and_deref): Ditto. > (omp_strip_indirections): Ditto. > (omp_accumulate_sibling_list): Ditto. > (omp_build_struct_sibling_lists): Ditto. > (gimplify_adjust_omp_clauses_1): Ditto. > (gimplify_adjust_omp_clauses): Ditto. > (gimplify_omp_for): Ditto. > (goa_lhs_expr_p): Ditto. > (gimplify_one_sizepos): Ditto. > * graphite-scop-detection.cc > (scop_detection::graphite_can_represent_scev): Ditto. > * ipa-devirt.cc (odr_types_equivalent_p): Ditto. > * ipa-prop.cc (ipa_set_jf_constant): Ditto. > (propagate_controlled_uses): Ditto. > * ipa-sra.cc (type_prevails_p): Ditto. > (scan_expr_access): Ditto. > * optabs-tree.cc (optab_for_tree_code): Ditto. > * toplev.cc (wrapup_global_declaration_1): Ditto. > * trans-mem.cc (transaction_invariant_address_p): Ditto. > * tree-cfg.cc (verify_types_in_gimple_reference): Ditto. > (verify_gimple_comparison): Ditto. > (verify_gimple_assign_binary): Ditto. > (verify_gimple_assign_single): Ditto. > * tree-complex.cc (get_component_ssa_name): Ditto. > * tree-emutls.cc (lower_emutls_2): Ditto. > * tree-inline.cc (copy_tree_body_r): Ditto. > (estimate_move_cost): Ditto. > (copy_decl_for_dup_finish): Ditto. > * tree-nested.cc (convert_nonlocal_omp_clauses): Ditto. > (note_nonlocal_vla_type): Ditto. > (convert_local_omp_clauses): Ditto. > (remap_vla_decls): Ditto. > (fixup_vla_decls): Ditto. > * tree-parloops.cc (loop_has_vector_phi_nodes): Ditto. > * tree-pretty-print.cc (print_declaration): Ditto. > (print_call_name): Ditto. > * tree-sra.cc (compare_access_positions): Ditto. > * tree-ssa-alias.cc (compare_type_sizes): Ditto. > * tree-ssa-ccp.cc (get_default_value): Ditto. > * tree-ssa-coalesce.cc (populate_coalesce_list_for_outofssa): Ditto. > * tree-ssa-dom.cc (reduce_vector_comparison_to_scalar_comparison): > Ditto. > * tree-ssa-forwprop.cc (can_propagate_from): Ditto. > * tree-ssa-propagate.cc (may_propagate_copy): Ditto. > * tree-ssa-sccvn.cc (fully_constant_vn_reference_p): Ditto. > * tree-ssa-sink.cc (statement_sink_location): Ditto. > * tree-ssa-structalias.cc (type_must_have_pointers): Ditto. > * tree-ssa-ter.cc (find_replaceable_in_bb): Ditto. > * tree-ssa-uninit.cc (warn_uninit): Ditto. > * tree-ssa.cc (maybe_rewrite_mem_ref_base): Ditto. > (non_rewritable_mem_ref_base): Ditto. > * tree-streamer-in.cc (lto_input_ts_type_non_common_tree_pointers): > Ditto. > * tree-streamer-out.cc (write_ts_type_non_common_tree_pointers): > Ditto. > * tree-vect-generic.cc (do_binop): Ditto. > (do_cond): Ditto. > * tree-vect-stmts.cc (vect_init_vector): Ditto. > * tree-vector-builder.h (tree_vector_builder::note_representative): > Ditto. > * tree.cc (sign_mask_for): Ditto. > (verify_type_variant): Ditto. > (gimple_canonical_types_compatible_p): Ditto. > (verify_type): Ditto. > * ubsan.cc (get_ubsan_type_info_for_type): Ditto. > * var-tracking.cc (prepare_call_arguments): Ditto. > (vt_add_function_parameters): Ditto. > * varasm.cc (decode_addr_const): Ditto. > --- > gcc/alias.cc | 2 +- > gcc/attribs.cc | 11 +++----- > gcc/builtins.cc | 8 +++--- > gcc/cfgexpand.cc | 2 +- > gcc/cgraph.h | 4 +-- > gcc/dwarf2out.cc | 15 +++++------ > gcc/expr.cc | 2 +- > gcc/fold-const.cc | 46 ++++++++++++++++---------------- > gcc/gcc-rich-location.cc | 2 +- > gcc/gimple-expr.cc | 19 ++++++-------- > gcc/gimple-expr.h | 4 +-- > gcc/gimple-ssa-warn-access.cc | 2 +- > gcc/gimplify.cc | 48 ++++++++++++++++------------------ > gcc/graphite-scop-detection.cc | 4 +-- > gcc/ipa-devirt.cc | 4 +-- > gcc/ipa-prop.cc | 7 +++-- > gcc/ipa-sra.cc | 8 +++--- > gcc/optabs-tree.cc | 12 ++++----- > gcc/toplev.cc | 2 +- > gcc/trans-mem.cc | 2 +- > gcc/tree-cfg.cc | 22 ++++++++-------- > gcc/tree-complex.cc | 2 +- > gcc/tree-emutls.cc | 2 +- > gcc/tree-inline.cc | 8 +++--- > gcc/tree-nested.cc | 16 ++++++------ > gcc/tree-parloops.cc | 2 +- > gcc/tree-pretty-print.cc | 4 +-- > gcc/tree-sra.cc | 4 +-- > gcc/tree-ssa-alias.cc | 4 +-- > gcc/tree-ssa-ccp.cc | 2 +- > gcc/tree-ssa-coalesce.cc | 2 +- > gcc/tree-ssa-dom.cc | 4 +-- > gcc/tree-ssa-forwprop.cc | 3 +-- > gcc/tree-ssa-propagate.cc | 2 +- > gcc/tree-ssa-sccvn.cc | 2 +- > gcc/tree-ssa-sink.cc | 2 +- > gcc/tree-ssa-structalias.cc | 3 +-- > gcc/tree-ssa-ter.cc | 2 +- > gcc/tree-ssa-uninit.cc | 2 +- > gcc/tree-ssa.cc | 4 +-- > gcc/tree-streamer-in.cc | 3 +-- > gcc/tree-streamer-out.cc | 3 +-- > gcc/tree-vect-generic.cc | 8 +++--- > gcc/tree-vect-stmts.cc | 2 +- > gcc/tree-vector-builder.h | 2 +- > gcc/tree.cc | 28 ++++++++++---------- > gcc/ubsan.cc | 2 +- > gcc/var-tracking.cc | 4 +-- > gcc/varasm.cc | 2 +- > 49 files changed, 167 insertions(+), 183 deletions(-) > > diff --git a/gcc/alias.cc b/gcc/alias.cc > index 3672bf277b9..7dc7e06de07 100644 > --- a/gcc/alias.cc > +++ b/gcc/alias.cc > @@ -699,7 +699,7 @@ component_uses_parent_alias_set_from (const_tree t) > static bool > ref_all_alias_ptr_type_p (const_tree t) > { > - return (TREE_CODE (TREE_TYPE (t)) == VOID_TYPE > + return (VOID_TYPE_P (TREE_TYPE (t)) > || TYPE_REF_CAN_ALIAS_ALL (t)); > } > > diff --git a/gcc/attribs.cc b/gcc/attribs.cc > index b1300018d1e..b8cb55b97df 100644 > --- a/gcc/attribs.cc > +++ b/gcc/attribs.cc > @@ -526,7 +526,7 @@ diag_attr_exclusions (tree last_decl, tree node, tree > attrname, > continue; > > if ((TREE_CODE (node) == FIELD_DECL > - || TREE_CODE (node) == VAR_DECL) > + || VAR_P (node)) > && !excl->variable) > continue; > > @@ -783,8 +783,7 @@ decl_attributes (tree *node, tree attributes, int flags, > && TREE_CODE (*anode) != METHOD_TYPE) > { > if (TREE_CODE (*anode) == POINTER_TYPE > - && (TREE_CODE (TREE_TYPE (*anode)) == FUNCTION_TYPE > - || TREE_CODE (TREE_TYPE (*anode)) == METHOD_TYPE)) > + && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (*anode))) > { > /* OK, this is a bit convoluted. We can't just make a copy > of the pointer type and modify its TREE_TYPE, because if > @@ -820,7 +819,7 @@ decl_attributes (tree *node, tree attributes, int flags, > > if (TYPE_P (*anode) > && (flags & (int) ATTR_FLAG_TYPE_IN_PLACE) > - && TYPE_SIZE (*anode) != NULL_TREE) > + && COMPLETE_TYPE_P (*anode)) > { > warning (OPT_Wattributes, "type attributes ignored after type is > already defined"); > continue; > @@ -1278,9 +1277,7 @@ build_type_attribute_qual_variant (tree otype, tree > attribute, int quals) > build_duplicate_type is another solution (as used in > handle_transparent_union_attribute), but that doesn't play well > with the stronger C++ type identity model. */ > - if (TREE_CODE (ttype) == RECORD_TYPE > - || TREE_CODE (ttype) == UNION_TYPE > - || TREE_CODE (ttype) == QUAL_UNION_TYPE > + if (RECORD_OR_UNION_TYPE_P (ttype) > || TREE_CODE (ttype) == ENUMERAL_TYPE) > { > warning (OPT_Wattributes, > diff --git a/gcc/builtins.cc b/gcc/builtins.cc > index c21c4688c58..8400adaf5b4 100644 > --- a/gcc/builtins.cc > +++ b/gcc/builtins.cc > @@ -8937,7 +8937,7 @@ static tree > fold_builtin_carg (location_t loc, tree arg, tree type) > { > if (validate_arg (arg, COMPLEX_TYPE) > - && TREE_CODE (TREE_TYPE (TREE_TYPE (arg))) == REAL_TYPE) > + && SCALAR_FLOAT_TYPE_P (TREE_TYPE (TREE_TYPE (arg)))) > { > tree atan2_fn = mathfn_built_in (type, BUILT_IN_ATAN2); > > @@ -10445,7 +10445,7 @@ fold_builtin_next_arg (tree exp, bool va_start_p) > We must also strip off INDIRECT_EXPR for C++ reference > parameters. */ > while (CONVERT_EXPR_P (arg) > - || TREE_CODE (arg) == INDIRECT_REF) > + || INDIRECT_REF_P (arg)) > arg = TREE_OPERAND (arg, 0); > if (arg != last_parm) > { > @@ -11133,9 +11133,9 @@ do_mpc_arg2 (tree arg0, tree arg1, tree type, int > do_nonfinite, > /* To proceed, MPFR must exactly represent the target floating point > format, which only happens when the target base equals two. */ > if (TREE_CODE (arg0) == COMPLEX_CST && !TREE_OVERFLOW (arg0) > - && TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == REAL_TYPE > + && SCALAR_FLOAT_TYPE_P (TREE_TYPE (TREE_TYPE (arg0))) > && TREE_CODE (arg1) == COMPLEX_CST && !TREE_OVERFLOW (arg1) > - && TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == REAL_TYPE > + && SCALAR_FLOAT_TYPE_P (TREE_TYPE (TREE_TYPE (arg1))) > && REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (TREE_TYPE (arg0))))->b == 2) > { > const REAL_VALUE_TYPE *const re0 = TREE_REAL_CST_PTR (TREE_REALPART > (arg0)); > diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc > index 1a1b26b1c6c..85a93a547c0 100644 > --- a/gcc/cfgexpand.cc > +++ b/gcc/cfgexpand.cc > @@ -3753,7 +3753,7 @@ expand_return (tree retval) > tree retval_rhs; > > /* If function wants no value, give it none. */ > - if (TREE_CODE (TREE_TYPE (TREE_TYPE (current_function_decl))) == VOID_TYPE) > + if (VOID_TYPE_P (TREE_TYPE (TREE_TYPE (current_function_decl)))) > { > expand_normal (retval); > expand_null_return (); > diff --git a/gcc/cgraph.h b/gcc/cgraph.h > index f5f54769eda..cedaaac3a45 100644 > --- a/gcc/cgraph.h > +++ b/gcc/cgraph.h > @@ -2650,7 +2650,7 @@ inline bool > decl_in_symtab_p (const_tree decl) > { > return (TREE_CODE (decl) == FUNCTION_DECL > - || (TREE_CODE (decl) == VAR_DECL > + || (VAR_P (decl) > && (TREE_STATIC (decl) || DECL_EXTERNAL (decl)))); > } > > @@ -3359,7 +3359,7 @@ cgraph_node::optimize_for_size_p (void) > inline symtab_node * > symtab_node::get_create (tree node) > { > - if (TREE_CODE (node) == VAR_DECL) > + if (VAR_P (node)) > return varpool_node::get_create (node); > else > return cgraph_node::get_create (node); > diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc > index 1a0015ce00f..d89ffa66847 100644 > --- a/gcc/dwarf2out.cc > +++ b/gcc/dwarf2out.cc > @@ -13287,7 +13287,7 @@ base_type_die (tree type, bool reverse) > /* Dwarf2 doesn't know anything about complex ints, so use > a user defined type for it. */ > case COMPLEX_TYPE: > - if (TREE_CODE (TREE_TYPE (type)) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (type))) > encoding = DW_ATE_complex_float; > else > encoding = DW_ATE_lo_user; > @@ -17079,7 +17079,7 @@ implicit_ptr_descriptor (rtx rtl, HOST_WIDE_INT > offset) > > if (dwarf_strict && dwarf_version < 5) > return NULL; > - gcc_assert (TREE_CODE (DEBUG_IMPLICIT_PTR_DECL (rtl)) == VAR_DECL > + gcc_assert (VAR_P (DEBUG_IMPLICIT_PTR_DECL (rtl)) > || TREE_CODE (DEBUG_IMPLICIT_PTR_DECL (rtl)) == PARM_DECL > || TREE_CODE (DEBUG_IMPLICIT_PTR_DECL (rtl)) == RESULT_DECL); > ref = lookup_decl_die (DEBUG_IMPLICIT_PTR_DECL (rtl)); > @@ -22499,7 +22499,7 @@ gen_array_type_die (tree type, dw_die_ref context_die) > size = int_size_in_bytes (TREE_TYPE (szdecl)); > if (!DECL_P (szdecl)) > { > - if (TREE_CODE (szdecl) == INDIRECT_REF > + if (INDIRECT_REF_P (szdecl) > && DECL_P (TREE_OPERAND (szdecl, 0))) > { > rszdecl = TREE_OPERAND (szdecl, 0); > @@ -22533,7 +22533,7 @@ gen_array_type_die (tree type, dw_die_ref context_die) > add_name_attribute (array_die, type_tag (type)); > equate_type_number_to_die (type, array_die); > > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > add_AT_flag (array_die, DW_AT_GNU_vector, 1); > > /* For Fortran multidimensional arrays use DW_ORD_col_major ordering. */ > @@ -22554,7 +22554,7 @@ gen_array_type_die (tree type, dw_die_ref context_die) > add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_row_major); > #endif > > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > { > /* For VECTOR_TYPEs we use an array DIE with appropriate bounds. */ > dw_die_ref subrange_die = new_die (DW_TAG_subrange_type, array_die, > NULL); > @@ -26238,8 +26238,7 @@ gen_type_die_with_usage (tree type, dw_die_ref > context_die, > now. (Vectors and arrays are special because the debugging info is in > the > cloned type itself. Similarly function/method types can contain extra > ref-qualification). */ > - if (TREE_CODE (type) == FUNCTION_TYPE > - || TREE_CODE (type) == METHOD_TYPE) > + if (FUNC_OR_METHOD_TYPE_P (type)) > { > /* For function/method types, can't use type_main_variant here, > because that can have different ref-qualifiers for C++, > @@ -30976,7 +30975,7 @@ optimize_location_into_implicit_ptr (dw_die_ref die, > tree decl) > return; > if ((TREE_CODE (TREE_OPERAND (init, 0)) == STRING_CST > && !TREE_ASM_WRITTEN (TREE_OPERAND (init, 0))) > - || (TREE_CODE (TREE_OPERAND (init, 0)) == VAR_DECL > + || (VAR_P (TREE_OPERAND (init, 0)) > && !DECL_EXTERNAL (TREE_OPERAND (init, 0)) > && TREE_OPERAND (init, 0) != decl)) > { > diff --git a/gcc/expr.cc b/gcc/expr.cc > index 758dda9ec68..5ede094e705 100644 > --- a/gcc/expr.cc > +++ b/gcc/expr.cc > @@ -12956,7 +12956,7 @@ do_store_flag (sepops ops, rtx target, machine_mode > mode) > > /* For vector typed comparisons emit code to generate the desired > all-ones or all-zeros mask. */ > - if (TREE_CODE (ops->type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (ops->type)) > { > tree ifexp = build2 (ops->code, ops->type, arg0, arg1); > if (VECTOR_BOOLEAN_TYPE_P (ops->type) > diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc > index db54bfc5662..a73b972ab9a 100644 > --- a/gcc/fold-const.cc > +++ b/gcc/fold-const.cc > @@ -573,7 +573,7 @@ negate_expr_p (tree t) > > case NOP_EXPR: > /* Negate -((double)float) as (double)(-float). */ > - if (TREE_CODE (type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (type)) > { > tree tem = strip_float_extensions (t); > if (tem != t) > @@ -759,7 +759,7 @@ fold_negate_expr_1 (location_t loc, tree t) > > case NOP_EXPR: > /* Convert -((double)float) into (double)(-float). */ > - if (TREE_CODE (type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (type)) > { > tem = strip_float_extensions (t); > if (tem != t && negate_expr_p (tem)) > @@ -2385,7 +2385,7 @@ fold_convert_const (enum tree_code code, tree type, > tree arg1) > else if (TREE_CODE (arg1) == FIXED_CST) > return fold_convert_const_int_from_fixed (type, arg1); > } > - else if (TREE_CODE (type) == REAL_TYPE) > + else if (SCALAR_FLOAT_TYPE_P (type)) > { > if (TREE_CODE (arg1) == INTEGER_CST) > { > @@ -2407,7 +2407,7 @@ fold_convert_const (enum tree_code code, tree type, > tree arg1) > else if (TREE_CODE (arg1) == FIXED_CST) > return fold_convert_const_real_from_fixed (type, arg1); > } > - else if (TREE_CODE (type) == FIXED_POINT_TYPE) > + else if (FIXED_POINT_TYPE_P (type)) > { > if (TREE_CODE (arg1) == FIXED_CST) > return fold_convert_const_fixed_from_fixed (type, arg1); > @@ -2416,7 +2416,7 @@ fold_convert_const (enum tree_code code, tree type, > tree arg1) > else if (TREE_CODE (arg1) == REAL_CST) > return fold_convert_const_fixed_from_real (type, arg1); > } > - else if (TREE_CODE (type) == VECTOR_TYPE) > + else if (VECTOR_TYPE_P (type)) > { > if (TREE_CODE (arg1) == VECTOR_CST > && known_eq (TYPE_VECTOR_SUBPARTS (type), VECTOR_CST_NELTS (arg1))) > @@ -2545,7 +2545,7 @@ fold_convert_loc (location_t loc, tree type, tree arg) > return fold_convert_loc (loc, type, > fold_build1_loc (loc, REALPART_EXPR, > TREE_TYPE (orig), arg)); > - gcc_assert (TREE_CODE (orig) == VECTOR_TYPE > + gcc_assert (VECTOR_TYPE_P (orig) > && tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig))); > return fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, arg); > > @@ -2658,7 +2658,7 @@ fold_convert_loc (location_t loc, tree type, tree arg) > return build_zero_vector (type); > gcc_assert (tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig))); > gcc_assert (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig) > - || TREE_CODE (orig) == VECTOR_TYPE); > + || VECTOR_TYPE_P (orig)); > return fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, arg); > > case VOID_TYPE: > @@ -7184,7 +7184,7 @@ constant_boolean_node (bool value, tree type) > return value ? integer_one_node : integer_zero_node; > else if (type == boolean_type_node) > return value ? boolean_true_node : boolean_false_node; > - else if (TREE_CODE (type) == VECTOR_TYPE) > + else if (VECTOR_TYPE_P (type)) > return build_vector_from_val (type, > build_int_cst (TREE_TYPE (type), > value ? -1 : 0)); > @@ -7237,7 +7237,7 @@ fold_binary_op_with_conditional_arg (location_t loc, > rhs = false_value; > } > else if (!(TREE_CODE (type) != VECTOR_TYPE > - && TREE_CODE (TREE_TYPE (cond)) == VECTOR_TYPE)) > + && VECTOR_TYPE_P (TREE_TYPE (cond)))) > { > tree testtype = TREE_TYPE (cond); > test = cond; > @@ -7248,7 +7248,7 @@ fold_binary_op_with_conditional_arg (location_t loc, > /* Detect the case of mixing vector and scalar types - bail out. */ > return NULL_TREE; > > - if (TREE_CODE (TREE_TYPE (test)) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (test))) > cond_code = VEC_COND_EXPR; > > /* This transformation is only worthwhile if we don't have to wrap ARG > @@ -9289,7 +9289,7 @@ build_fold_addr_expr_with_type_loc (location_t loc, > tree t, tree ptrtype) > if (TREE_CODE (t) == WITH_SIZE_EXPR) > t = TREE_OPERAND (t, 0); > > - if (TREE_CODE (t) == INDIRECT_REF) > + if (INDIRECT_REF_P (t)) > { > t = TREE_OPERAND (t, 0); > > @@ -10137,7 +10137,7 @@ fold_comparison (location_t loc, enum tree_code code, > tree type, > = get_inner_reference (TREE_OPERAND (arg0, 0), > &bitsize, &bitpos0, &offset0, &mode, > &unsignedp, &reversep, &volatilep); > - if (TREE_CODE (base0) == INDIRECT_REF) > + if (INDIRECT_REF_P (base0)) > base0 = TREE_OPERAND (base0, 0); > else > indirect_base0 = true; > @@ -10152,7 +10152,7 @@ fold_comparison (location_t loc, enum tree_code code, > tree type, > = get_inner_reference (TREE_OPERAND (base0, 0), > &bitsize, &bitpos0, &offset0, &mode, > &unsignedp, &reversep, &volatilep); > - if (TREE_CODE (base0) == INDIRECT_REF) > + if (INDIRECT_REF_P (base0)) > base0 = TREE_OPERAND (base0, 0); > else > indirect_base0 = true; > @@ -10180,7 +10180,7 @@ fold_comparison (location_t loc, enum tree_code code, > tree type, > = get_inner_reference (TREE_OPERAND (arg1, 0), > &bitsize, &bitpos1, &offset1, &mode, > &unsignedp, &reversep, &volatilep); > - if (TREE_CODE (base1) == INDIRECT_REF) > + if (INDIRECT_REF_P (base1)) > base1 = TREE_OPERAND (base1, 0); > else > indirect_base1 = true; > @@ -10195,7 +10195,7 @@ fold_comparison (location_t loc, enum tree_code code, > tree type, > = get_inner_reference (TREE_OPERAND (base1, 0), > &bitsize, &bitpos1, &offset1, &mode, > &unsignedp, &reversep, &volatilep); > - if (TREE_CODE (base1) == INDIRECT_REF) > + if (INDIRECT_REF_P (base1)) > base1 = TREE_OPERAND (base1, 0); > else > indirect_base1 = true; > @@ -13763,9 +13763,7 @@ fold_checksum_tree (const_tree expr, struct md5_ctx > *ctx, > fold_checksum_tree (TYPE_MAX_VALUE (expr), ctx, ht); > } > fold_checksum_tree (TYPE_MAIN_VARIANT (expr), ctx, ht); > - if (TREE_CODE (expr) == RECORD_TYPE > - || TREE_CODE (expr) == UNION_TYPE > - || TREE_CODE (expr) == QUAL_UNION_TYPE) > + if (RECORD_OR_UNION_TYPE_P (expr)) > fold_checksum_tree (TYPE_BINFO (expr), ctx, ht); > fold_checksum_tree (TYPE_CONTEXT (expr), ctx, ht); > break; > @@ -14665,9 +14663,9 @@ tree_unary_nonnegative_warnv_p (enum tree_code code, > tree type, tree op0, > tree inner_type = TREE_TYPE (op0); > tree outer_type = type; > > - if (TREE_CODE (outer_type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (outer_type)) > { > - if (TREE_CODE (inner_type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (inner_type)) > return RECURSE (op0); > if (INTEGRAL_TYPE_P (inner_type)) > { > @@ -14678,7 +14676,7 @@ tree_unary_nonnegative_warnv_p (enum tree_code code, > tree type, tree op0, > } > else if (INTEGRAL_TYPE_P (outer_type)) > { > - if (TREE_CODE (inner_type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (inner_type)) > return RECURSE (op0); > if (INTEGRAL_TYPE_P (inner_type)) > return TYPE_PRECISION (inner_type) < TYPE_PRECISION (outer_type) > @@ -15442,7 +15440,7 @@ integer_valued_real_unary_p (tree_code code, tree > op0, int depth) > tree type = TREE_TYPE (op0); > if (TREE_CODE (type) == INTEGER_TYPE) > return true; > - if (TREE_CODE (type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (type)) > return RECURSE (op0); > break; > } > @@ -15673,7 +15671,7 @@ fold_unary_to_constant (enum tree_code code, tree > type, tree op0) > tree > fold_read_from_constant_string (tree exp) > { > - if ((TREE_CODE (exp) == INDIRECT_REF > + if ((INDIRECT_REF_P (exp) > || TREE_CODE (exp) == ARRAY_REF) > && TREE_CODE (TREE_TYPE (exp)) == INTEGER_TYPE) > { > @@ -15682,7 +15680,7 @@ fold_read_from_constant_string (tree exp) > tree string; > location_t loc = EXPR_LOCATION (exp); > > - if (TREE_CODE (exp) == INDIRECT_REF) > + if (INDIRECT_REF_P (exp)) > string = string_constant (exp1, &index, NULL, NULL); > else > { > diff --git a/gcc/gcc-rich-location.cc b/gcc/gcc-rich-location.cc > index d02a5144cc6..edecf07f81e 100644 > --- a/gcc/gcc-rich-location.cc > +++ b/gcc/gcc-rich-location.cc > @@ -200,7 +200,7 @@ maybe_range_label_for_tree_type_mismatch::get_text > (unsigned range_idx) const > tree expr_type = TREE_TYPE (m_expr); > > tree other_type = NULL_TREE; > - if (m_other_expr && EXPR_P (m_other_expr)) > + if (CAN_HAVE_LOCATION_P (m_other_expr)) > other_type = TREE_TYPE (m_other_expr); > > range_label_for_type_mismatch inner (expr_type, other_type); > diff --git a/gcc/gimple-expr.cc b/gcc/gimple-expr.cc > index 83dc340a35d..f15cc0ba715 100644 > --- a/gcc/gimple-expr.cc > +++ b/gcc/gimple-expr.cc > @@ -76,10 +76,8 @@ useless_type_conversion_p (tree outer_type, tree > inner_type) > != TYPE_ADDR_SPACE (TREE_TYPE (inner_type))) > return false; > /* Do not lose casts to function pointer types. */ > - if ((TREE_CODE (TREE_TYPE (outer_type)) == FUNCTION_TYPE > - || TREE_CODE (TREE_TYPE (outer_type)) == METHOD_TYPE) > - && !(TREE_CODE (TREE_TYPE (inner_type)) == FUNCTION_TYPE > - || TREE_CODE (TREE_TYPE (inner_type)) == METHOD_TYPE)) > + if (FUNC_OR_METHOD_TYPE_P (TREE_TYPE (outer_type)) > + && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (inner_type))) > return false; > } > > @@ -147,8 +145,8 @@ useless_type_conversion_p (tree outer_type, tree > inner_type) > TREE_TYPE (inner_type)); > > /* Recurse for vector types with the same number of subparts. */ > - else if (TREE_CODE (inner_type) == VECTOR_TYPE > - && TREE_CODE (outer_type) == VECTOR_TYPE) > + else if (VECTOR_TYPE_P (inner_type) > + && VECTOR_TYPE_P (outer_type)) > return (known_eq (TYPE_VECTOR_SUBPARTS (inner_type), > TYPE_VECTOR_SUBPARTS (outer_type)) > && useless_type_conversion_p (TREE_TYPE (outer_type), > @@ -223,8 +221,7 @@ useless_type_conversion_p (tree outer_type, tree > inner_type) > TREE_TYPE (inner_type)); > } > > - else if ((TREE_CODE (inner_type) == FUNCTION_TYPE > - || TREE_CODE (inner_type) == METHOD_TYPE) > + else if (FUNC_OR_METHOD_TYPE_P (inner_type) > && TREE_CODE (inner_type) == TREE_CODE (outer_type)) > { > tree outer_parm, inner_parm; > @@ -819,7 +816,7 @@ is_gimple_reg (tree t) > it seems safest to not do too much optimization with these at the > tree level at all. We'll have to rely on the rtl optimizers to > clean this up, as there we've got all the appropriate bits exposed. */ > - if (TREE_CODE (t) == VAR_DECL && DECL_HARD_REGISTER (t)) > + if (VAR_P (t) && DECL_HARD_REGISTER (t)) > return false; > > /* Variables can be marked as having partial definitions, avoid > @@ -847,7 +844,7 @@ is_gimple_val (tree t) > bool > is_gimple_asm_val (tree t) > { > - if (TREE_CODE (t) == VAR_DECL && DECL_HARD_REGISTER (t)) > + if (VAR_P (t) && DECL_HARD_REGISTER (t)) > return true; > > return is_gimple_val (t); > @@ -955,7 +952,7 @@ mark_addressable (tree x) > mark_addressable_1 (x); > > /* Also mark the artificial SSA_NAME that points to the partition of X. */ > - if (TREE_CODE (x) == VAR_DECL > + if (VAR_P (x) > && !DECL_EXTERNAL (x) > && !TREE_STATIC (x) > && cfun->gimple_df != NULL > diff --git a/gcc/gimple-expr.h b/gcc/gimple-expr.h > index e89f7e20fc8..39f4b2ff4e8 100644 > --- a/gcc/gimple-expr.h > +++ b/gcc/gimple-expr.h > @@ -81,7 +81,7 @@ is_gimple_reg_type (tree type) > inline bool > is_gimple_variable (tree t) > { > - return (TREE_CODE (t) == VAR_DECL > + return (VAR_P (t) > || TREE_CODE (t) == PARM_DECL > || TREE_CODE (t) == RESULT_DECL > || TREE_CODE (t) == SSA_NAME); > @@ -108,7 +108,7 @@ virtual_operand_p (tree op) > if (TREE_CODE (op) == SSA_NAME) > return SSA_NAME_IS_VIRTUAL_OPERAND (op); > > - if (TREE_CODE (op) == VAR_DECL) > + if (VAR_P (op)) > return VAR_DECL_IS_VIRTUAL_OPERAND (op); > > return false; > diff --git a/gcc/gimple-ssa-warn-access.cc b/gcc/gimple-ssa-warn-access.cc > index 33bc4a84a7e..ac07a6f9b95 100644 > --- a/gcc/gimple-ssa-warn-access.cc > +++ b/gcc/gimple-ssa-warn-access.cc > @@ -4584,7 +4584,7 @@ pass_waccess::check_dangling_stores (basic_block bb, > if (TREE_CODE (lhs_ref.ref) == PARM_DECL > && (lhs_ref.deref - DECL_BY_REFERENCE (lhs_ref.ref)) > 0) > /* Assignment through a (real) pointer/reference parameter. */; > - else if (TREE_CODE (lhs_ref.ref) == VAR_DECL > + else if (VAR_P (lhs_ref.ref) > && !auto_var_p (lhs_ref.ref)) > /* Assignment to/through a non-local variable. */; > else > diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc > index 3740a8979af..8bfd1372f81 100644 > --- a/gcc/gimplify.cc > +++ b/gcc/gimplify.cc > @@ -1491,7 +1491,7 @@ gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p) > if (DECL_HAS_VALUE_EXPR_P (key)) > { > key = DECL_VALUE_EXPR (key); > - if (TREE_CODE (key) == INDIRECT_REF) > + if (INDIRECT_REF_P (key)) > key = TREE_OPERAND (key, 0); > } > tree *c = oacc_declare_returns->get (key); > @@ -1625,7 +1625,7 @@ gimplify_return_expr (tree stmt, gimple_seq *pre_p) > result_decl = TREE_OPERAND (ret_expr, 0); > > /* See through a return by reference. */ > - if (TREE_CODE (result_decl) == INDIRECT_REF) > + if (INDIRECT_REF_P (result_decl)) > result_decl = TREE_OPERAND (result_decl, 0); > > gcc_assert ((TREE_CODE (ret_expr) == MODIFY_EXPR > @@ -1812,7 +1812,7 @@ gimple_add_padding_init_for_auto_var (tree decl, bool > is_vla, > /* The temporary address variable for this vla should be > created in gimplify_vla_decl. */ > gcc_assert (DECL_HAS_VALUE_EXPR_P (decl)); > - gcc_assert (TREE_CODE (DECL_VALUE_EXPR (decl)) == INDIRECT_REF); > + gcc_assert (INDIRECT_REF_P (DECL_VALUE_EXPR (decl))); > addr_of_decl = TREE_OPERAND (DECL_VALUE_EXPR (decl), 0); > } > else > @@ -6590,7 +6590,7 @@ gimplify_addr_expr (tree *expr_p, gimple_seq *pre_p, > gimple_seq *post_p) > > /* For various reasons, the gimplification of the expression > may have made a new INDIRECT_REF. */ > - if (TREE_CODE (op0) == INDIRECT_REF > + if (INDIRECT_REF_P (op0) > || (TREE_CODE (op0) == MEM_REF > && integer_zerop (TREE_OPERAND (op0, 1)))) > goto do_indirect_ref; > @@ -7400,7 +7400,7 @@ omp_add_variable (struct gimplify_omp_ctx *ctx, tree > decl, unsigned int flags) > nflags = GOVD_FIRSTPRIVATE; > nflags |= flags & GOVD_SEEN; > t = DECL_VALUE_EXPR (decl); > - gcc_assert (TREE_CODE (t) == INDIRECT_REF); > + gcc_assert (INDIRECT_REF_P (t)); > t = TREE_OPERAND (t, 0); > gcc_assert (DECL_P (t)); > omp_add_variable (ctx, t, nflags); > @@ -8033,7 +8033,7 @@ omp_notice_variable (struct gimplify_omp_ctx *ctx, tree > decl, bool in_code) > { > splay_tree_node n2; > tree t = DECL_VALUE_EXPR (decl); > - gcc_assert (TREE_CODE (t) == INDIRECT_REF); > + gcc_assert (INDIRECT_REF_P (t)); > t = TREE_OPERAND (t, 0); > gcc_assert (DECL_P (t)); > n2 = splay_tree_lookup (ctx->variables, (splay_tree_key) t); > @@ -9026,7 +9026,7 @@ omp_get_base_pointer (tree expr) > || TREE_CODE (expr) == COMPONENT_REF) > expr = TREE_OPERAND (expr, 0); > > - if (TREE_CODE (expr) == INDIRECT_REF > + if (INDIRECT_REF_P (expr) > || (TREE_CODE (expr) == MEM_REF > && integer_zerop (TREE_OPERAND (expr, 1)))) > { > @@ -9050,7 +9050,7 @@ static tree > omp_strip_components_and_deref (tree expr) > { > while (TREE_CODE (expr) == COMPONENT_REF > - || TREE_CODE (expr) == INDIRECT_REF > + || INDIRECT_REF_P (expr) > || (TREE_CODE (expr) == MEM_REF > && integer_zerop (TREE_OPERAND (expr, 1))) > || TREE_CODE (expr) == POINTER_PLUS_EXPR > @@ -9068,7 +9068,7 @@ omp_strip_components_and_deref (tree expr) > static tree > omp_strip_indirections (tree expr) > { > - while (TREE_CODE (expr) == INDIRECT_REF > + while (INDIRECT_REF_P (expr) > || (TREE_CODE (expr) == MEM_REF > && integer_zerop (TREE_OPERAND (expr, 1)))) > expr = TREE_OPERAND (expr, 0); > @@ -10283,7 +10283,7 @@ omp_accumulate_sibling_list (enum omp_region_type > region_type, > while (TREE_CODE (ocd) == ARRAY_REF) > ocd = TREE_OPERAND (ocd, 0); > > - if (TREE_CODE (ocd) == INDIRECT_REF) > + if (INDIRECT_REF_P (ocd)) > ocd = TREE_OPERAND (ocd, 0); > > tree base = extract_base_bit_offset (ocd, &cbitpos, &coffset); > @@ -10375,11 +10375,10 @@ omp_accumulate_sibling_list (enum omp_region_type > region_type, > tree c2 = build_omp_clause (OMP_CLAUSE_LOCATION (grp_end), > OMP_CLAUSE_MAP); > bool base_ref > - = (TREE_CODE (base) == INDIRECT_REF > + = (INDIRECT_REF_P (base) > && ((TREE_CODE (TREE_TYPE (TREE_OPERAND (base, 0))) > == REFERENCE_TYPE) > - || ((TREE_CODE (TREE_OPERAND (base, 0)) > - == INDIRECT_REF) > + || (INDIRECT_REF_P (TREE_OPERAND (base, 0)) > && (TREE_CODE (TREE_TYPE (TREE_OPERAND > (TREE_OPERAND (base, 0), > 0))) > == REFERENCE_TYPE)))); > @@ -10441,7 +10440,7 @@ omp_accumulate_sibling_list (enum omp_region_type > region_type, > || TREE_CODE (TREE_TYPE (sc_decl)) != ARRAY_TYPE) > break; > } > - else if (TREE_CODE (sc_decl) == INDIRECT_REF > + else if (INDIRECT_REF_P (sc_decl) > && TREE_CODE (TREE_OPERAND (sc_decl, 0)) == COMPONENT_REF > && (TREE_CODE (TREE_TYPE (TREE_OPERAND (sc_decl, 0))) > == REFERENCE_TYPE)) > @@ -10611,7 +10610,7 @@ omp_build_struct_sibling_lists (enum tree_code code, > decl = d; > } > if (d == decl > - && TREE_CODE (decl) == INDIRECT_REF > + && INDIRECT_REF_P (decl) > && TREE_CODE (TREE_OPERAND (decl, 0)) == COMPONENT_REF > && (TREE_CODE (TREE_TYPE (TREE_OPERAND (decl, 0))) > == REFERENCE_TYPE) > @@ -12462,7 +12461,7 @@ gimplify_adjust_omp_clauses_1 (splay_tree_node n, > void *data) > && TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST) > { > tree decl2 = DECL_VALUE_EXPR (decl); > - gcc_assert (TREE_CODE (decl2) == INDIRECT_REF); > + gcc_assert (INDIRECT_REF_P (decl2)); > decl2 = TREE_OPERAND (decl2, 0); > gcc_assert (DECL_P (decl2)); > tree mem = build_simple_mem_ref (decl2); > @@ -12751,7 +12750,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, > gimple_seq body, tree *list_p, > > case OMP_CLAUSE_HAS_DEVICE_ADDR: > decl = OMP_CLAUSE_DECL (c); > - while (TREE_CODE (decl) == INDIRECT_REF > + while (INDIRECT_REF_P (decl) > || TREE_CODE (decl) == ARRAY_REF) > decl = TREE_OPERAND (decl, 0); > n = splay_tree_lookup (ctx->variables, (splay_tree_key) decl); > @@ -12826,7 +12825,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, > gimple_seq body, tree *list_p, > if ((ctx->region_type & ORT_TARGET) != 0 > && OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_FIRSTPRIVATE_POINTER) > { > - if (TREE_CODE (decl) == INDIRECT_REF > + if (INDIRECT_REF_P (decl) > && TREE_CODE (TREE_OPERAND (decl, 0)) == COMPONENT_REF > && (TREE_CODE (TREE_TYPE (TREE_OPERAND (decl, 0))) > == REFERENCE_TYPE)) > @@ -12880,7 +12879,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, > gimple_seq body, tree *list_p, > gcc_assert (OMP_CLAUSE_MAP_KIND (c) != > GOMP_MAP_FORCE_DEVICEPTR); > > tree decl2 = DECL_VALUE_EXPR (decl); > - gcc_assert (TREE_CODE (decl2) == INDIRECT_REF); > + gcc_assert (INDIRECT_REF_P (decl2)); > decl2 = TREE_OPERAND (decl2, 0); > gcc_assert (DECL_P (decl2)); > tree mem = build_simple_mem_ref (decl2); > @@ -12931,7 +12930,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, > gimple_seq body, tree *list_p, > && TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST) > { > tree decl2 = DECL_VALUE_EXPR (decl); > - gcc_assert (TREE_CODE (decl2) == INDIRECT_REF); > + gcc_assert (INDIRECT_REF_P (decl2)); > decl2 = TREE_OPERAND (decl2, 0); > gcc_assert (DECL_P (decl2)); > tree mem = build_simple_mem_ref (decl2); > @@ -13852,8 +13851,7 @@ gimplify_omp_for (tree *expr_p, gimple_seq *pre_p) > { > has_decl_expr = BITMAP_ALLOC (NULL); > if (TREE_CODE (OMP_FOR_PRE_BODY (for_stmt)) == DECL_EXPR > - && TREE_CODE (DECL_EXPR_DECL (OMP_FOR_PRE_BODY (for_stmt))) > - == VAR_DECL) > + && VAR_P (DECL_EXPR_DECL (OMP_FOR_PRE_BODY (for_stmt)))) > { > t = OMP_FOR_PRE_BODY (for_stmt); > bitmap_set_bit (has_decl_expr, DECL_UID (DECL_EXPR_DECL (t))); > @@ -13866,7 +13864,7 @@ gimplify_omp_for (tree *expr_p, gimple_seq *pre_p) > { > t = tsi_stmt (si); > if (TREE_CODE (t) == DECL_EXPR > - && TREE_CODE (DECL_EXPR_DECL (t)) == VAR_DECL) > + && VAR_P (DECL_EXPR_DECL (t))) > bitmap_set_bit (has_decl_expr, DECL_UID (DECL_EXPR_DECL (t))); > } > } > @@ -15663,7 +15661,7 @@ goa_lhs_expr_p (tree expr, tree addr) > STRIP_TYPE_NOPS but includes the main variant lookup. */ > STRIP_USELESS_TYPE_CONVERSION (expr); > > - if (TREE_CODE (expr) == INDIRECT_REF) > + if (INDIRECT_REF_P (expr)) > { > expr = TREE_OPERAND (expr, 0); > while (expr != addr > @@ -17591,7 +17589,7 @@ gimplify_one_sizepos (tree *expr_p, gimple_seq > *stmt_p) > if this type is from outside the function. It's OK to have that here. > */ > if (expr == NULL_TREE > || is_gimple_constant (expr) > - || TREE_CODE (expr) == VAR_DECL > + || VAR_P (expr) > || CONTAINS_PLACEHOLDER_P (expr)) > return; > > diff --git a/gcc/graphite-scop-detection.cc b/gcc/graphite-scop-detection.cc > index 48b3d62c2cf..e111203523d 100644 > --- a/gcc/graphite-scop-detection.cc > +++ b/gcc/graphite-scop-detection.cc > @@ -980,8 +980,8 @@ scop_detection::graphite_can_represent_scev (sese_l scop, > tree scev) > && graphite_can_represent_scev (scop, TREE_OPERAND (scev, 1)); > > case MULT_EXPR: > - return !CONVERT_EXPR_CODE_P (TREE_CODE (TREE_OPERAND (scev, 0))) > - && !CONVERT_EXPR_CODE_P (TREE_CODE (TREE_OPERAND (scev, 1))) > + return !CONVERT_EXPR_P (TREE_OPERAND (scev, 0)) > + && !CONVERT_EXPR_P (TREE_OPERAND (scev, 1)) > && !(chrec_contains_symbols (TREE_OPERAND (scev, 0)) > && chrec_contains_symbols (TREE_OPERAND (scev, 1))) > && graphite_can_represent_init (scev) > diff --git a/gcc/ipa-devirt.cc b/gcc/ipa-devirt.cc > index 819860258d1..2c61a497cee 100644 > --- a/gcc/ipa-devirt.cc > +++ b/gcc/ipa-devirt.cc > @@ -1252,7 +1252,7 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, > bool *warned, > if (INTEGRAL_TYPE_P (t1) > || SCALAR_FLOAT_TYPE_P (t1) > || FIXED_POINT_TYPE_P (t1) > - || TREE_CODE (t1) == VECTOR_TYPE > + || VECTOR_TYPE_P (t1) > || TREE_CODE (t1) == COMPLEX_TYPE > || TREE_CODE (t1) == OFFSET_TYPE > || POINTER_TYPE_P (t1)) > @@ -1310,7 +1310,7 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, > bool *warned, > } > } > > - if ((TREE_CODE (t1) == VECTOR_TYPE || TREE_CODE (t1) == COMPLEX_TYPE) > + if ((VECTOR_TYPE_P (t1) || TREE_CODE (t1) == COMPLEX_TYPE) > && !odr_subtypes_equivalent_p (TREE_TYPE (t1), TREE_TYPE (t2), > visited, loc1, loc2)) > { > diff --git a/gcc/ipa-prop.cc b/gcc/ipa-prop.cc > index 0f3cb3dd9f9..77a91da5a5a 100644 > --- a/gcc/ipa-prop.cc > +++ b/gcc/ipa-prop.cc > @@ -546,7 +546,7 @@ ipa_set_jf_constant (struct ipa_jump_func *jfunc, tree > constant, > > if (TREE_CODE (constant) == ADDR_EXPR > && (TREE_CODE (TREE_OPERAND (constant, 0)) == FUNCTION_DECL > - || (TREE_CODE (TREE_OPERAND (constant, 0)) == VAR_DECL > + || (VAR_P (TREE_OPERAND (constant, 0)) > && TREE_STATIC (TREE_OPERAND (constant, 0))))) > { > struct ipa_cst_ref_desc *rdesc; > @@ -4188,7 +4188,7 @@ propagate_controlled_uses (struct cgraph_edge *cs) > if (rdesc->refcount != IPA_UNDESCRIBED_USE > && ipa_get_param_load_dereferenced (old_root_info, i) > && TREE_CODE (cst) == ADDR_EXPR > - && TREE_CODE (TREE_OPERAND (cst, 0)) == VAR_DECL) > + && VAR_P (TREE_OPERAND (cst, 0))) > { > symtab_node *n = symtab_node::get (TREE_OPERAND (cst, 0)); > new_root->create_reference (n, IPA_REF_LOAD, NULL); > @@ -4202,8 +4202,7 @@ propagate_controlled_uses (struct cgraph_edge *cs) > gcc_checking_assert (TREE_CODE (cst) == ADDR_EXPR > && ((TREE_CODE (TREE_OPERAND (cst, 0)) > == FUNCTION_DECL) > - || (TREE_CODE (TREE_OPERAND (cst, 0)) > - == VAR_DECL))); > + || VAR_P (TREE_OPERAND (cst, 0)))); > > symtab_node *n = symtab_node::get (TREE_OPERAND (cst, 0)); > if (n) > diff --git a/gcc/ipa-sra.cc b/gcc/ipa-sra.cc > index 7b8260bc9e1..7230522526f 100644 > --- a/gcc/ipa-sra.cc > +++ b/gcc/ipa-sra.cc > @@ -1664,10 +1664,10 @@ type_prevails_p (tree old_type, tree new_type) > if (TREE_CODE (old_type) != COMPLEX_TYPE > && TREE_CODE (old_type) != VECTOR_TYPE > && (TREE_CODE (new_type) == COMPLEX_TYPE > - || TREE_CODE (new_type) == VECTOR_TYPE)) > + || VECTOR_TYPE_P (new_type))) > return true; > if ((TREE_CODE (old_type) == COMPLEX_TYPE > - || TREE_CODE (old_type) == VECTOR_TYPE) > + || VECTOR_TYPE_P (old_type)) > && TREE_CODE (new_type) != COMPLEX_TYPE > && TREE_CODE (new_type) != VECTOR_TYPE) > return false; > @@ -1754,7 +1754,7 @@ scan_expr_access (tree expr, gimple *stmt, > isra_scan_context ctx, > if (ctx == ISRA_CTX_ARG) > return; > tree t = get_base_address (TREE_OPERAND (expr, 0)); > - if (TREE_CODE (t) == VAR_DECL && !TREE_STATIC (t)) > + if (VAR_P (t) && !TREE_STATIC (t)) > loaded_decls->add (t); > return; > } > @@ -1780,7 +1780,7 @@ scan_expr_access (tree expr, gimple *stmt, > isra_scan_context ctx, > return; > deref = true; > } > - else if (TREE_CODE (base) == VAR_DECL > + else if (VAR_P (base) > && !TREE_STATIC (base) > && (ctx == ISRA_CTX_ARG > || ctx == ISRA_CTX_LOAD)) > diff --git a/gcc/optabs-tree.cc b/gcc/optabs-tree.cc > index 8010046c6a8..cd7b45fd455 100644 > --- a/gcc/optabs-tree.cc > +++ b/gcc/optabs-tree.cc > @@ -63,7 +63,7 @@ optab_for_tree_code (enum tree_code code, const_tree type, > expansion has code to adjust TRUNC_MOD_EXPR into the desired other > modes, but for vector modes it does not. The adjustment code > should be instead emitted in tree-vect-patterns.cc. */ > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > return unknown_optab; > /* FALLTHRU */ > case TRUNC_MOD_EXPR: > @@ -77,7 +77,7 @@ optab_for_tree_code (enum tree_code code, const_tree type, > into the desired other modes, but for vector modes it does not. > The adjustment code should be instead emitted in > tree-vect-patterns.cc. */ > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > return unknown_optab; > /* FALLTHRU */ > case RDIV_EXPR: > @@ -88,7 +88,7 @@ optab_for_tree_code (enum tree_code code, const_tree type, > return TYPE_UNSIGNED (type) ? udiv_optab : sdiv_optab; > > case LSHIFT_EXPR: > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > { > if (subtype == optab_vector) > return TYPE_SATURATING (type) ? unknown_optab : vashl_optab; > @@ -100,7 +100,7 @@ optab_for_tree_code (enum tree_code code, const_tree type, > return ashl_optab; > > case RSHIFT_EXPR: > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > { > if (subtype == optab_vector) > return TYPE_UNSIGNED (type) ? vlshr_optab : vashr_optab; > @@ -110,7 +110,7 @@ optab_for_tree_code (enum tree_code code, const_tree type, > return TYPE_UNSIGNED (type) ? lshr_optab : ashr_optab; > > case LROTATE_EXPR: > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > { > if (subtype == optab_vector) > return vrotl_optab; > @@ -120,7 +120,7 @@ optab_for_tree_code (enum tree_code code, const_tree type, > return rotl_optab; > > case RROTATE_EXPR: > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > { > if (subtype == optab_vector) > return vrotr_optab; > diff --git a/gcc/toplev.cc b/gcc/toplev.cc > index d53b5e78ae3..8aec9a2de10 100644 > --- a/gcc/toplev.cc > +++ b/gcc/toplev.cc > @@ -323,7 +323,7 @@ wrapup_global_declaration_1 (tree decl) > { > /* We're not deferring this any longer. Assignment is conditional to > avoid needlessly dirtying PCH pages. */ > - if (CODE_CONTAINS_STRUCT (TREE_CODE (decl), TS_DECL_WITH_VIS) > + if (HAS_DECL_ASSEMBLER_NAME_P (decl) > && DECL_DEFER_OUTPUT (decl) != 0) > DECL_DEFER_OUTPUT (decl) = 0; > > diff --git a/gcc/trans-mem.cc b/gcc/trans-mem.cc > index 4b129663e0d..d036e4333db 100644 > --- a/gcc/trans-mem.cc > +++ b/gcc/trans-mem.cc > @@ -1062,7 +1062,7 @@ tm_log_delete (void) > static bool > transaction_invariant_address_p (const_tree mem, basic_block > region_entry_block) > { > - if ((TREE_CODE (mem) == INDIRECT_REF || TREE_CODE (mem) == MEM_REF) > + if ((INDIRECT_REF_P (mem) || TREE_CODE (mem) == MEM_REF) > && TREE_CODE (TREE_OPERAND (mem, 0)) == SSA_NAME) > { > basic_block def_bb; > diff --git a/gcc/tree-cfg.cc b/gcc/tree-cfg.cc > index 0aeebb67fac..a1a607666dc 100644 > --- a/gcc/tree-cfg.cc > +++ b/gcc/tree-cfg.cc > @@ -3328,7 +3328,7 @@ verify_types_in_gimple_reference (tree expr, bool > require_lvalue) > return true; > } > } > - else if (TREE_CODE (expr) == INDIRECT_REF) > + else if (INDIRECT_REF_P (expr)) > { > error ("%qs in gimple IL", code_name); > debug_generic_stmt (expr); > @@ -3615,8 +3615,8 @@ verify_gimple_comparison (tree type, tree op0, tree > op1, enum tree_code code) > && (TREE_CODE (type) == BOOLEAN_TYPE > || TYPE_PRECISION (type) == 1)) > { > - if ((TREE_CODE (op0_type) == VECTOR_TYPE > - || TREE_CODE (op1_type) == VECTOR_TYPE) > + if ((VECTOR_TYPE_P (op0_type) > + || VECTOR_TYPE_P (op1_type)) > && code != EQ_EXPR && code != NE_EXPR > && !VECTOR_BOOLEAN_TYPE_P (op0_type) > && !VECTOR_INTEGER_TYPE_P (op0_type)) > @@ -3630,7 +3630,7 @@ verify_gimple_comparison (tree type, tree op0, tree > op1, enum tree_code code) > } > /* Or a boolean vector type with the same element count > as the comparison operand types. */ > - else if (TREE_CODE (type) == VECTOR_TYPE > + else if (VECTOR_TYPE_P (type) > && TREE_CODE (TREE_TYPE (type)) == BOOLEAN_TYPE) > { > if (TREE_CODE (op0_type) != VECTOR_TYPE > @@ -3963,13 +3963,13 @@ verify_gimple_assign_binary (gassign *stmt) > types and integer vector types. */ > if ((!INTEGRAL_TYPE_P (rhs1_type) > && !FIXED_POINT_TYPE_P (rhs1_type) > - && !(TREE_CODE (rhs1_type) == VECTOR_TYPE > + && ! (VECTOR_TYPE_P (rhs1_type) > && INTEGRAL_TYPE_P (TREE_TYPE (rhs1_type)))) > || (!INTEGRAL_TYPE_P (rhs2_type) > /* Vector shifts of vectors are also ok. */ > - && !(TREE_CODE (rhs1_type) == VECTOR_TYPE > + && ! (VECTOR_TYPE_P (rhs1_type) > && INTEGRAL_TYPE_P (TREE_TYPE (rhs1_type)) > - && TREE_CODE (rhs2_type) == VECTOR_TYPE > + && VECTOR_TYPE_P (rhs2_type) > && INTEGRAL_TYPE_P (TREE_TYPE (rhs2_type)))) > || !useless_type_conversion_p (lhs_type, rhs1_type)) > { > @@ -4029,7 +4029,7 @@ verify_gimple_assign_binary (gassign *stmt) > tree lhs_etype = lhs_type; > tree rhs1_etype = rhs1_type; > tree rhs2_etype = rhs2_type; > - if (TREE_CODE (lhs_type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (lhs_type)) > { > if (TREE_CODE (rhs1_type) != VECTOR_TYPE > || TREE_CODE (rhs2_type) != VECTOR_TYPE) > @@ -4709,7 +4709,7 @@ verify_gimple_assign_single (gassign *stmt) > return res; > > case CONSTRUCTOR: > - if (TREE_CODE (rhs1_type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (rhs1_type)) > { > unsigned int i; > tree elt_i, elt_v, elt_t = NULL_TREE; > @@ -4729,7 +4729,7 @@ verify_gimple_assign_single (gassign *stmt) > if (elt_t == NULL_TREE) > { > elt_t = TREE_TYPE (elt_v); > - if (TREE_CODE (elt_t) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (elt_t)) > { > tree elt_t = TREE_TYPE (elt_v); > if (!useless_type_conversion_p (TREE_TYPE (rhs1_type), > @@ -4774,7 +4774,7 @@ verify_gimple_assign_single (gassign *stmt) > return true; > } > if (elt_i != NULL_TREE > - && (TREE_CODE (elt_t) == VECTOR_TYPE > + && (VECTOR_TYPE_P (elt_t) > || TREE_CODE (elt_i) != INTEGER_CST > || compare_tree_int (elt_i, i) != 0)) > { > diff --git a/gcc/tree-complex.cc b/gcc/tree-complex.cc > index ef40511f67d..688fe13989c 100644 > --- a/gcc/tree-complex.cc > +++ b/gcc/tree-complex.cc > @@ -526,7 +526,7 @@ get_component_ssa_name (tree ssa_name, bool imag_p) > SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ret) > = SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ssa_name); > if (SSA_NAME_IS_DEFAULT_DEF (ssa_name) > - && TREE_CODE (SSA_NAME_VAR (ssa_name)) == VAR_DECL) > + && VAR_P (SSA_NAME_VAR (ssa_name))) > { > SSA_NAME_DEF_STMT (ret) = SSA_NAME_DEF_STMT (ssa_name); > set_ssa_default_def (cfun, SSA_NAME_VAR (ret), ret); > diff --git a/gcc/tree-emutls.cc b/gcc/tree-emutls.cc > index eb3ac9bd2da..5dca5a82913 100644 > --- a/gcc/tree-emutls.cc > +++ b/gcc/tree-emutls.cc > @@ -439,7 +439,7 @@ static tree > lower_emutls_2 (tree *ptr, int *walk_subtrees, void *) > { > tree t = *ptr; > - if (TREE_CODE (t) == VAR_DECL) > + if (VAR_P (t)) > return DECL_THREAD_LOCAL_P (t) ? t : NULL_TREE; > else if (!EXPR_P (t)) > *walk_subtrees = 0; > diff --git a/gcc/tree-inline.cc b/gcc/tree-inline.cc > index 63a19f8d1d8..47e2f58ba6c 100644 > --- a/gcc/tree-inline.cc > +++ b/gcc/tree-inline.cc > @@ -1307,7 +1307,7 @@ copy_tree_body_r (tree *tp, int *walk_subtrees, void > *data) > } > } > } > - else if (TREE_CODE (*tp) == INDIRECT_REF) > + else if (INDIRECT_REF_P (*tp)) > { > /* Get rid of *& from inline substitutions that can happen when a > pointer argument is an ADDR_EXPR. */ > @@ -1429,7 +1429,7 @@ copy_tree_body_r (tree *tp, int *walk_subtrees, void > *data) > > /* Handle the case where we substituted an INDIRECT_REF > into the operand of the ADDR_EXPR. */ > - if (TREE_CODE (TREE_OPERAND (*tp, 0)) == INDIRECT_REF > + if (INDIRECT_REF_P (TREE_OPERAND (*tp, 0)) > && !id->do_not_fold) > { > tree t = TREE_OPERAND (TREE_OPERAND (*tp, 0), 0); > @@ -4170,7 +4170,7 @@ estimate_move_cost (tree type, bool ARG_UNUSED > (speed_p)) > > gcc_assert (!VOID_TYPE_P (type)); > > - if (TREE_CODE (type) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (type)) > { > scalar_mode inner = SCALAR_TYPE_MODE (TREE_TYPE (type)); > machine_mode simd = targetm.vectorize.preferred_simd_mode (inner); > @@ -5918,7 +5918,7 @@ copy_decl_for_dup_finish (copy_body_data *id, tree > decl, tree copy) > DECL_ABSTRACT_ORIGIN (copy) = DECL_ORIGIN (decl); > > /* The new variable/label has no RTL, yet. */ > - if (CODE_CONTAINS_STRUCT (TREE_CODE (copy), TS_DECL_WRTL) > + if (HAS_RTL_P (copy) > && !TREE_STATIC (copy) && !DECL_EXTERNAL (copy)) > SET_DECL_RTL (copy, 0); > /* For vector typed decls make sure to update DECL_MODE according > diff --git a/gcc/tree-nested.cc b/gcc/tree-nested.cc > index 1418e1f7f56..ae7d1f1f6a8 100644 > --- a/gcc/tree-nested.cc > +++ b/gcc/tree-nested.cc > @@ -1311,7 +1311,7 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct > walk_stmt_info *wi) > pdecl = &TREE_OPERAND (OMP_CLAUSE_DECL (clause), 0); > if (TREE_CODE (*pdecl) == POINTER_PLUS_EXPR) > pdecl = &TREE_OPERAND (*pdecl, 0); > - if (TREE_CODE (*pdecl) == INDIRECT_REF > + if (INDIRECT_REF_P (*pdecl) > || TREE_CODE (*pdecl) == ADDR_EXPR) > pdecl = &TREE_OPERAND (*pdecl, 0); > } > @@ -1614,7 +1614,7 @@ note_nonlocal_vla_type (struct nesting_info *info, tree > type) > type = DECL_ORIGINAL_TYPE (TYPE_NAME (type)); > > while (POINTER_TYPE_P (type) > - || TREE_CODE (type) == VECTOR_TYPE > + || VECTOR_TYPE_P (type) > || TREE_CODE (type) == FUNCTION_TYPE > || TREE_CODE (type) == METHOD_TYPE) > type = TREE_TYPE (type); > @@ -2097,7 +2097,7 @@ convert_local_omp_clauses (tree *pclauses, struct > walk_stmt_info *wi) > pdecl = &TREE_OPERAND (OMP_CLAUSE_DECL (clause), 0); > if (TREE_CODE (*pdecl) == POINTER_PLUS_EXPR) > pdecl = &TREE_OPERAND (*pdecl, 0); > - if (TREE_CODE (*pdecl) == INDIRECT_REF > + if (INDIRECT_REF_P (*pdecl) > || TREE_CODE (*pdecl) == ADDR_EXPR) > pdecl = &TREE_OPERAND (*pdecl, 0); > } > @@ -3234,8 +3234,8 @@ remap_vla_decls (tree block, struct nesting_info *root) > val = DECL_VALUE_EXPR (var); > type = TREE_TYPE (var); > > - if (!(TREE_CODE (val) == INDIRECT_REF > - && TREE_CODE (TREE_OPERAND (val, 0)) == VAR_DECL > + if (! (INDIRECT_REF_P (val) > + && VAR_P (TREE_OPERAND (val, 0)) > && variably_modified_type_p (type, NULL))) > continue; > > @@ -3261,8 +3261,8 @@ remap_vla_decls (tree block, struct nesting_info *root) > val = DECL_VALUE_EXPR (var); > type = TREE_TYPE (var); > > - if (!(TREE_CODE (val) == INDIRECT_REF > - && TREE_CODE (TREE_OPERAND (val, 0)) == VAR_DECL > + if (! (INDIRECT_REF_P (val) > + && VAR_P (TREE_OPERAND (val, 0)) > && variably_modified_type_p (type, NULL))) > continue; > > @@ -3323,7 +3323,7 @@ fixup_vla_decls (tree block) > { > tree val = DECL_VALUE_EXPR (var); > > - if (!(TREE_CODE (val) == INDIRECT_REF > + if (! (INDIRECT_REF_P (val) > && VAR_P (TREE_OPERAND (val, 0)) > && DECL_HAS_VALUE_EXPR_P (TREE_OPERAND (val, 0)))) > continue; > diff --git a/gcc/tree-parloops.cc b/gcc/tree-parloops.cc > index 0abec54905d..e495bbd6527 100644 > --- a/gcc/tree-parloops.cc > +++ b/gcc/tree-parloops.cc > @@ -3195,7 +3195,7 @@ loop_has_vector_phi_nodes (class loop *loop > ATTRIBUTE_UNUSED) > > for (i = 0; i < loop->num_nodes; i++) > for (gsi = gsi_start_phis (bbs[i]); !gsi_end_p (gsi); gsi_next (&gsi)) > - if (TREE_CODE (TREE_TYPE (PHI_RESULT (gsi.phi ()))) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (PHI_RESULT (gsi.phi ())))) > goto end; > > res = false; > diff --git a/gcc/tree-pretty-print.cc b/gcc/tree-pretty-print.cc > index 7947f9647a1..3d1c983154f 100644 > --- a/gcc/tree-pretty-print.cc > +++ b/gcc/tree-pretty-print.cc > @@ -3962,7 +3962,7 @@ print_declaration (pretty_printer *pp, tree t, int spc, > dump_flags_t flags) > if (TREE_CODE (t) == TYPE_DECL) > pp_string (pp, "typedef "); > > - if (CODE_CONTAINS_STRUCT (TREE_CODE (t), TS_DECL_WRTL) && DECL_REGISTER > (t)) > + if (HAS_RTL_P (t) && DECL_REGISTER (t)) > pp_string (pp, "register "); > > if (TREE_PUBLIC (t) && DECL_EXTERNAL (t)) > @@ -4484,7 +4484,7 @@ print_call_name (pretty_printer *pp, tree node, > dump_flags_t flags) > break; > > case ARRAY_REF: > - if (TREE_CODE (TREE_OPERAND (op0, 0)) == VAR_DECL) > + if (VAR_P (TREE_OPERAND (op0, 0))) > dump_function_name (pp, TREE_OPERAND (op0, 0), flags); > else > dump_generic_node (pp, op0, 0, flags, false); > diff --git a/gcc/tree-sra.cc b/gcc/tree-sra.cc > index ad0c738645d..56a8ba26135 100644 > --- a/gcc/tree-sra.cc > +++ b/gcc/tree-sra.cc > @@ -1465,10 +1465,10 @@ compare_access_positions (const void *a, const void > *b) > else if (TREE_CODE (f1->type) != COMPLEX_TYPE > && TREE_CODE (f1->type) != VECTOR_TYPE > && (TREE_CODE (f2->type) == COMPLEX_TYPE > - || TREE_CODE (f2->type) == VECTOR_TYPE)) > + || VECTOR_TYPE_P (f2->type))) > return 1; > else if ((TREE_CODE (f1->type) == COMPLEX_TYPE > - || TREE_CODE (f1->type) == VECTOR_TYPE) > + || VECTOR_TYPE_P (f1->type)) > && TREE_CODE (f2->type) != COMPLEX_TYPE > && TREE_CODE (f2->type) != VECTOR_TYPE) > return -1; > diff --git a/gcc/tree-ssa-alias.cc b/gcc/tree-ssa-alias.cc > index e0693e146bf..79ed956e300 100644 > --- a/gcc/tree-ssa-alias.cc > +++ b/gcc/tree-ssa-alias.cc > @@ -945,10 +945,10 @@ compare_type_sizes (tree type1, tree type2) > /* Be conservative for arrays and vectors. We want to support partial > overlap on int[3] and int[3] as tested in gcc.dg/torture/alias-2.c. */ > while (TREE_CODE (type1) == ARRAY_TYPE > - || TREE_CODE (type1) == VECTOR_TYPE) > + || VECTOR_TYPE_P (type1)) > type1 = TREE_TYPE (type1); > while (TREE_CODE (type2) == ARRAY_TYPE > - || TREE_CODE (type2) == VECTOR_TYPE) > + || VECTOR_TYPE_P (type2)) > type2 = TREE_TYPE (type2); > return compare_sizes (TYPE_SIZE (type1), TYPE_SIZE (type2)); > } > diff --git a/gcc/tree-ssa-ccp.cc b/gcc/tree-ssa-ccp.cc > index 2e552b330b7..6fb371c2629 100644 > --- a/gcc/tree-ssa-ccp.cc > +++ b/gcc/tree-ssa-ccp.cc > @@ -289,7 +289,7 @@ get_default_value (tree var) > consider it VARYING. */ > if (!virtual_operand_p (var) > && SSA_NAME_VAR (var) > - && TREE_CODE (SSA_NAME_VAR (var)) == VAR_DECL) > + && VAR_P (SSA_NAME_VAR (var))) > val.lattice_val = UNDEFINED; > else > { > diff --git a/gcc/tree-ssa-coalesce.cc b/gcc/tree-ssa-coalesce.cc > index 6e8c39076ca..e9de9d4d14a 100644 > --- a/gcc/tree-ssa-coalesce.cc > +++ b/gcc/tree-ssa-coalesce.cc > @@ -1298,7 +1298,7 @@ populate_coalesce_list_for_outofssa (coalesce_list *cl, > bitmap used_in_copy) > originally with optimizations and only the link > performed at -O0, so we can't actually require it. */ > const int cost > - = (TREE_CODE (SSA_NAME_VAR (a)) == VAR_DECL || in_lto_p) > + = (VAR_P (SSA_NAME_VAR (a)) || in_lto_p) > ? MUST_COALESCE_COST - 1 : MUST_COALESCE_COST; > add_coalesce (cl, SSA_NAME_VERSION (a), > SSA_NAME_VERSION (*slot), cost); > diff --git a/gcc/tree-ssa-dom.cc b/gcc/tree-ssa-dom.cc > index ab31d2e7ee9..9f534b5a190 100644 > --- a/gcc/tree-ssa-dom.cc > +++ b/gcc/tree-ssa-dom.cc > @@ -2162,8 +2162,8 @@ reduce_vector_comparison_to_scalar_comparison (gimple > *stmt) > /* We may have a vector comparison where both arms are uniform > vectors. If so, we can simplify the vector comparison down > to a scalar comparison. */ > - if (TREE_CODE (TREE_TYPE (lhs)) == VECTOR_TYPE > - && TREE_CODE (TREE_TYPE (rhs)) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (lhs)) > + && VECTOR_TYPE_P (TREE_TYPE (rhs))) > { > /* If either operand is an SSA_NAME, then look back to its > defining statement to try and get at a suitable source. */ > diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc > index 9dc67b5309c..80601236bc2 100644 > --- a/gcc/tree-ssa-forwprop.cc > +++ b/gcc/tree-ssa-forwprop.cc > @@ -291,8 +291,7 @@ can_propagate_from (gimple *def_stmt) > if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt))) > { > tree rhs = gimple_assign_rhs1 (def_stmt); > - if (POINTER_TYPE_P (TREE_TYPE (rhs)) > - && TREE_CODE (TREE_TYPE (TREE_TYPE (rhs))) == FUNCTION_TYPE) > + if (FUNCTION_POINTER_TYPE_P (TREE_TYPE (rhs))) > return false; > } > > diff --git a/gcc/tree-ssa-propagate.cc b/gcc/tree-ssa-propagate.cc > index 5573d360699..174d19890f9 100644 > --- a/gcc/tree-ssa-propagate.cc > +++ b/gcc/tree-ssa-propagate.cc > @@ -1020,7 +1020,7 @@ may_propagate_copy (tree dest, tree orig, bool > dest_not_phi_arg_p) > && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (orig) > && SSA_NAME_IS_DEFAULT_DEF (orig) > && (SSA_NAME_VAR (orig) == NULL_TREE > - || TREE_CODE (SSA_NAME_VAR (orig)) == VAR_DECL)) > + || VAR_P (SSA_NAME_VAR (orig)))) > ; > /* Otherwise if ORIG just flows in from an abnormal edge then the copy > cannot > be propagated. */ > diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc > index 94d6163e6ae..27c84e78fcf 100644 > --- a/gcc/tree-ssa-sccvn.cc > +++ b/gcc/tree-ssa-sccvn.cc > @@ -1575,7 +1575,7 @@ fully_constant_vn_reference_p (vn_reference_t ref) > ctor = base->op0; > else if (base->opcode == MEM_REF > && base[1].opcode == ADDR_EXPR > - && (TREE_CODE (TREE_OPERAND (base[1].op0, 0)) == VAR_DECL > + && (VAR_P (TREE_OPERAND (base[1].op0, 0)) > || TREE_CODE (TREE_OPERAND (base[1].op0, 0)) == CONST_DECL > || TREE_CODE (TREE_OPERAND (base[1].op0, 0)) == > STRING_CST)) > { > diff --git a/gcc/tree-ssa-sink.cc b/gcc/tree-ssa-sink.cc > index 87b1d40c174..b1ba7a2ad6c 100644 > --- a/gcc/tree-ssa-sink.cc > +++ b/gcc/tree-ssa-sink.cc > @@ -382,7 +382,7 @@ statement_sink_location (gimple *stmt, basic_block frombb, > { > /* Do not sink loads from hard registers. */ > if (gimple_assign_single_p (stmt) > - && TREE_CODE (gimple_assign_rhs1 (stmt)) == VAR_DECL > + && VAR_P (gimple_assign_rhs1 (stmt)) > && DECL_HARD_REGISTER (gimple_assign_rhs1 (stmt))) > return false; > > diff --git a/gcc/tree-ssa-structalias.cc b/gcc/tree-ssa-structalias.cc > index 56021c59cb9..546dab5035e 100644 > --- a/gcc/tree-ssa-structalias.cc > +++ b/gcc/tree-ssa-structalias.cc > @@ -5831,8 +5831,7 @@ type_must_have_pointers (tree type) > > /* A function or method can have pointers as arguments, so track > those separately. */ > - if (TREE_CODE (type) == FUNCTION_TYPE > - || TREE_CODE (type) == METHOD_TYPE) > + if (FUNC_OR_METHOD_TYPE_P (type)) > return true; > > return false; > diff --git a/gcc/tree-ssa-ter.cc b/gcc/tree-ssa-ter.cc > index cab54a37663..68e9e1a936a 100644 > --- a/gcc/tree-ssa-ter.cc > +++ b/gcc/tree-ssa-ter.cc > @@ -693,7 +693,7 @@ find_replaceable_in_bb (temp_expr_table *tab, basic_block > bb) > /* Increment counter if this statement sets a local > register variable. */ > if (gimple_assign_single_p (stmt) > - && (TREE_CODE (gimple_assign_lhs (stmt)) == VAR_DECL > + && (VAR_P (gimple_assign_lhs (stmt)) > && DECL_HARD_REGISTER (gimple_assign_lhs (stmt)))) > cur_reg_vars_cnt++; > > diff --git a/gcc/tree-ssa-uninit.cc b/gcc/tree-ssa-uninit.cc > index 9f720ae1f4f..f42f76cd5c6 100644 > --- a/gcc/tree-ssa-uninit.cc > +++ b/gcc/tree-ssa-uninit.cc > @@ -232,7 +232,7 @@ warn_uninit (opt_code opt, tree t, tree var, gimple > *context, > > if (is_gimple_assign (context)) > { > - if (TREE_CODE (gimple_assign_lhs (context)) == VAR_DECL) > + if (VAR_P (gimple_assign_lhs (context))) > lhs_var = gimple_assign_lhs (context); > else if (TREE_CODE (gimple_assign_lhs (context)) == SSA_NAME) > lhs_var = SSA_NAME_VAR (gimple_assign_lhs (context)); > diff --git a/gcc/tree-ssa.cc b/gcc/tree-ssa.cc > index 70828355c2b..607b37e7cf9 100644 > --- a/gcc/tree-ssa.cc > +++ b/gcc/tree-ssa.cc > @@ -1507,7 +1507,7 @@ maybe_rewrite_mem_ref_base (tree *tp, bitmap > suitable_for_renaming) > && is_gimple_reg_type (TREE_TYPE (*tp)) > && ! VOID_TYPE_P (TREE_TYPE (*tp))) > { > - if (TREE_CODE (TREE_TYPE (sym)) == VECTOR_TYPE > + if (VECTOR_TYPE_P (TREE_TYPE (sym)) > && useless_type_conversion_p (TREE_TYPE (*tp), > TREE_TYPE (TREE_TYPE (sym))) > && multiple_p (mem_ref_offset (*tp), > @@ -1608,7 +1608,7 @@ non_rewritable_mem_ref_base (tree ref) > || VOID_TYPE_P (TREE_TYPE (base)) > || TREE_THIS_VOLATILE (decl) != TREE_THIS_VOLATILE (base)) > return decl; > - if ((TREE_CODE (TREE_TYPE (decl)) == VECTOR_TYPE > + if ((VECTOR_TYPE_P (TREE_TYPE (decl)) > || TREE_CODE (TREE_TYPE (decl)) == COMPLEX_TYPE) > && useless_type_conversion_p (TREE_TYPE (base), > TREE_TYPE (TREE_TYPE (decl))) > diff --git a/gcc/tree-streamer-in.cc b/gcc/tree-streamer-in.cc > index bf4bd5c3dd3..c803800862c 100644 > --- a/gcc/tree-streamer-in.cc > +++ b/gcc/tree-streamer-in.cc > @@ -848,8 +848,7 @@ lto_input_ts_type_non_common_tree_pointers (class > lto_input_block *ib, > TYPE_DOMAIN (expr) = stream_read_tree_ref (ib, data_in); > else if (RECORD_OR_UNION_TYPE_P (expr)) > TYPE_FIELDS (expr) = streamer_read_chain (ib, data_in); > - else if (TREE_CODE (expr) == FUNCTION_TYPE > - || TREE_CODE (expr) == METHOD_TYPE) > + else if (FUNC_OR_METHOD_TYPE_P (expr)) > TYPE_ARG_TYPES (expr) = stream_read_tree_ref (ib, data_in); > > if (!POINTER_TYPE_P (expr)) > diff --git a/gcc/tree-streamer-out.cc b/gcc/tree-streamer-out.cc > index 81e6fcb5af0..5751f77273b 100644 > --- a/gcc/tree-streamer-out.cc > +++ b/gcc/tree-streamer-out.cc > @@ -739,8 +739,7 @@ write_ts_type_non_common_tree_pointers (struct > output_block *ob, tree expr) > stream_write_tree_ref (ob, TYPE_DOMAIN (expr)); > else if (RECORD_OR_UNION_TYPE_P (expr)) > streamer_write_chain (ob, TYPE_FIELDS (expr)); > - else if (TREE_CODE (expr) == FUNCTION_TYPE > - || TREE_CODE (expr) == METHOD_TYPE) > + else if (FUNC_OR_METHOD_TYPE_P (expr)) > stream_write_tree_ref (ob, TYPE_ARG_TYPES (expr)); > > if (!POINTER_TYPE_P (expr)) > diff --git a/gcc/tree-vect-generic.cc b/gcc/tree-vect-generic.cc > index 59115b2e162..fa3809f0d24 100644 > --- a/gcc/tree-vect-generic.cc > +++ b/gcc/tree-vect-generic.cc > @@ -173,9 +173,9 @@ do_binop (gimple_stmt_iterator *gsi, tree inner_type, > tree a, tree b, > tree bitpos, tree bitsize, enum tree_code code, > tree type ATTRIBUTE_UNUSED) > { > - if (TREE_CODE (TREE_TYPE (a)) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (a))) > a = tree_vec_extract (gsi, inner_type, a, bitsize, bitpos); > - if (TREE_CODE (TREE_TYPE (b)) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (b))) > b = tree_vec_extract (gsi, inner_type, b, bitsize, bitpos); > return gimplify_build2 (gsi, code, inner_type, a, b); > } > @@ -1733,9 +1733,9 @@ do_cond (gimple_stmt_iterator *gsi, tree inner_type, > tree a, tree b, > tree bitpos, tree bitsize, enum tree_code code, > tree type ATTRIBUTE_UNUSED) > { > - if (TREE_CODE (TREE_TYPE (a)) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (a))) > a = tree_vec_extract (gsi, inner_type, a, bitsize, bitpos); > - if (TREE_CODE (TREE_TYPE (b)) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (TREE_TYPE (b))) > b = tree_vec_extract (gsi, inner_type, b, bitsize, bitpos); > tree cond = gimple_assign_rhs1 (gsi_stmt (*gsi)); > return gimplify_build3 (gsi, code, inner_type, unshare_expr (cond), a, b); > diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc > index 61a2da4ecee..e7c94741f71 100644 > --- a/gcc/tree-vect-stmts.cc > +++ b/gcc/tree-vect-stmts.cc > @@ -1412,7 +1412,7 @@ vect_init_vector (vec_info *vinfo, stmt_vec_info > stmt_info, tree val, tree type, > /* We abuse this function to push sth to a SSA name with initial 'val'. */ > if (! useless_type_conversion_p (type, TREE_TYPE (val))) > { > - gcc_assert (TREE_CODE (type) == VECTOR_TYPE); > + gcc_assert (VECTOR_TYPE_P (type)); > if (! types_compatible_p (TREE_TYPE (type), TREE_TYPE (val))) > { > /* Scalar boolean value should be transformed into > diff --git a/gcc/tree-vector-builder.h b/gcc/tree-vector-builder.h > index 2af6d75dc94..b9167678424 100644 > --- a/gcc/tree-vector-builder.h > +++ b/gcc/tree-vector-builder.h > @@ -134,7 +134,7 @@ tree_vector_builder::can_elide_p (const_tree elt) const > inline void > tree_vector_builder::note_representative (tree *elt1_ptr, tree elt2) > { > - if (CONSTANT_CLASS_P (elt2) && TREE_OVERFLOW (elt2)) > + if (TREE_OVERFLOW_P (elt2)) > { > gcc_assert (operand_equal_p (*elt1_ptr, elt2, 0)); > if (!TREE_OVERFLOW (elt2)) > diff --git a/gcc/tree.cc b/gcc/tree.cc > index 7e6de288886..8e144bc090e 100644 > --- a/gcc/tree.cc > +++ b/gcc/tree.cc > @@ -2719,7 +2719,7 @@ sign_mask_for (tree type) > return NULL_TREE; > > auto mask = wi::set_bit_in_zero (bits - 1, bits); > - if (TREE_CODE (inttype) == VECTOR_TYPE) > + if (VECTOR_TYPE_P (inttype)) > { > tree elt = wide_int_to_tree (TREE_TYPE (inttype), mask); > return build_vector_from_val (inttype, elt); > @@ -4959,7 +4959,7 @@ do { tree _node = (NODE); \ > address is constant too. If it's a decl, its address is constant if the > decl is static. Everything else is not constant and, furthermore, > taking the address of a volatile variable is not volatile. */ > - if (TREE_CODE (node) == INDIRECT_REF > + if (INDIRECT_REF_P (node) > || TREE_CODE (node) == MEM_REF) > UPDATE_FLAGS (TREE_OPERAND (node, 0)); > else if (CONSTANT_CLASS_P (node)) > @@ -13462,8 +13462,8 @@ verify_type_variant (const_tree t, tree tv) > if ((TREE_CODE (t) == ENUMERAL_TYPE && COMPLETE_TYPE_P (t)) > || TREE_CODE (t) == INTEGER_TYPE > || TREE_CODE (t) == BOOLEAN_TYPE > - || TREE_CODE (t) == REAL_TYPE > - || TREE_CODE (t) == FIXED_POINT_TYPE) > + || SCALAR_FLOAT_TYPE_P (t) > + || FIXED_POINT_TYPE_P (t)) > { > verify_variant_match (TYPE_MAX_VALUE); > verify_variant_match (TYPE_MIN_VALUE); > @@ -13543,7 +13543,7 @@ verify_type_variant (const_tree t, tree tv) > return false; > } > } > - else if ((TREE_CODE (t) == FUNCTION_TYPE || TREE_CODE (t) == METHOD_TYPE)) > + else if (FUNC_OR_METHOD_TYPE_P (t)) > verify_variant_match (TYPE_ARG_TYPES); > /* For C++ the qualified variant of array type is really an array type > of qualified TREE_TYPE. > @@ -13684,7 +13684,7 @@ gimple_canonical_types_compatible_p (const_tree t1, > const_tree t2, > /* Qualifiers do not matter for canonical type comparison purposes. */ > > /* Void types and nullptr types are always the same. */ > - if (TREE_CODE (t1) == VOID_TYPE > + if (VOID_TYPE_P (t1) > || TREE_CODE (t1) == NULLPTR_TYPE) > return true; > > @@ -13696,7 +13696,7 @@ gimple_canonical_types_compatible_p (const_tree t1, > const_tree t2, > if (INTEGRAL_TYPE_P (t1) > || SCALAR_FLOAT_TYPE_P (t1) > || FIXED_POINT_TYPE_P (t1) > - || TREE_CODE (t1) == VECTOR_TYPE > + || VECTOR_TYPE_P (t1) > || TREE_CODE (t1) == COMPLEX_TYPE > || TREE_CODE (t1) == OFFSET_TYPE > || POINTER_TYPE_P (t1)) > @@ -13726,7 +13726,7 @@ gimple_canonical_types_compatible_p (const_tree t1, > const_tree t2, > } > > /* Tail-recurse to components. */ > - if (TREE_CODE (t1) == VECTOR_TYPE > + if (VECTOR_TYPE_P (t1) > || TREE_CODE (t1) == COMPLEX_TYPE) > return gimple_canonical_types_compatible_p (TREE_TYPE (t1), > TREE_TYPE (t2), > @@ -14043,8 +14043,8 @@ verify_type (const_tree t) > error_found = true; > } > } > - else if (INTEGRAL_TYPE_P (t) || TREE_CODE (t) == REAL_TYPE > - || TREE_CODE (t) == FIXED_POINT_TYPE) > + else if (INTEGRAL_TYPE_P (t) || SCALAR_FLOAT_TYPE_P (t) > + || FIXED_POINT_TYPE_P (t)) > { > /* FIXME: The following check should pass: > useless_type_conversion_p (const_cast <tree> (t), > @@ -14070,7 +14070,7 @@ verify_type (const_tree t) > error_found = true; > } > } > - else if (TREE_CODE (t) == FUNCTION_TYPE || TREE_CODE (t) == METHOD_TYPE) > + else if (FUNC_OR_METHOD_TYPE_P (t)) > { > if (TYPE_METHOD_BASETYPE (t) > && TREE_CODE (TYPE_METHOD_BASETYPE (t)) != RECORD_TYPE > @@ -14092,8 +14092,8 @@ verify_type (const_tree t) > error_found = true; > } > } > - else if (INTEGRAL_TYPE_P (t) || TREE_CODE (t) == REAL_TYPE > - || TREE_CODE (t) == FIXED_POINT_TYPE) > + else if (INTEGRAL_TYPE_P (t) || SCALAR_FLOAT_TYPE_P (t) > + || FIXED_POINT_TYPE_P (t)) > { > /* FIXME: The following check should pass: > useless_type_conversion_p (const_cast <tree> (t), > @@ -14235,7 +14235,7 @@ verify_type (const_tree t) > } > } > } > - else if (TREE_CODE (t) == FUNCTION_TYPE || TREE_CODE (t) == METHOD_TYPE) > + else if (FUNC_OR_METHOD_TYPE_P (t)) > for (tree l = TYPE_ARG_TYPES (t); l; l = TREE_CHAIN (l)) > { > /* C++ FE uses TREE_PURPOSE to store initial values. */ > diff --git a/gcc/ubsan.cc b/gcc/ubsan.cc > index e6ffea3ff8b..cfae13d7cde 100644 > --- a/gcc/ubsan.cc > +++ b/gcc/ubsan.cc > @@ -328,7 +328,7 @@ ubsan_source_location (location_t loc) > static unsigned short > get_ubsan_type_info_for_type (tree type) > { > - if (TREE_CODE (type) == REAL_TYPE) > + if (SCALAR_FLOAT_TYPE_P (type)) > return tree_to_uhwi (TYPE_SIZE (type)); > else if (INTEGRAL_TYPE_P (type)) > { > diff --git a/gcc/var-tracking.cc b/gcc/var-tracking.cc > index fae0c73e02f..b0c3714a808 100644 > --- a/gcc/var-tracking.cc > +++ b/gcc/var-tracking.cc > @@ -6290,7 +6290,7 @@ prepare_call_arguments (basic_block bb, rtx_insn *insn) > type = TREE_TYPE (fndecl); > if (fndecl && TREE_CODE (fndecl) != FUNCTION_DECL) > { > - if (TREE_CODE (fndecl) == INDIRECT_REF > + if (INDIRECT_REF_P (fndecl) > && TREE_CODE (TREE_OPERAND (fndecl, 0)) == OBJ_TYPE_REF) > obj_type_ref = TREE_OPERAND (fndecl, 0); > fndecl = NULL_TREE; > @@ -9968,7 +9968,7 @@ vt_add_function_parameters (void) > { > tree vexpr = DECL_VALUE_EXPR (DECL_RESULT (current_function_decl)); > > - if (TREE_CODE (vexpr) == INDIRECT_REF) > + if (INDIRECT_REF_P (vexpr)) > vexpr = TREE_OPERAND (vexpr, 0); > > if (TREE_CODE (vexpr) == PARM_DECL > diff --git a/gcc/varasm.cc b/gcc/varasm.cc > index cd0cd88321c..2e1dee46c9f 100644 > --- a/gcc/varasm.cc > +++ b/gcc/varasm.cc > @@ -3014,7 +3014,7 @@ decode_addr_const (tree exp, class addr_const *value) > offset += mem_ref_offset (target).force_shwi (); > target = TREE_OPERAND (TREE_OPERAND (target, 0), 0); > } > - else if (TREE_CODE (target) == INDIRECT_REF > + else if (INDIRECT_REF_P (target) > && TREE_CODE (TREE_OPERAND (target, 0)) == NOP_EXPR > && TREE_CODE (TREE_OPERAND (TREE_OPERAND (target, 0), 0)) > == ADDR_EXPR) > -- > 2.30.2 >