From patchwork Fri Apr 29 11:59:38 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 93418 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 288D31007D7 for ; Fri, 29 Apr 2011 21:59:59 +1000 (EST) Received: (qmail 16298 invoked by alias); 29 Apr 2011 11:59:57 -0000 Received: (qmail 16287 invoked by uid 22791); 29 Apr 2011 11:59:55 -0000 X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL, BAYES_00, TW_TM, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 29 Apr 2011 11:59:40 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.221.2]) by mx2.suse.de (Postfix) with ESMTP id 35A984844E for ; Fri, 29 Apr 2011 13:59:39 +0200 (CEST) Date: Fri, 29 Apr 2011 13:59:38 +0200 (CEST) From: Richard Guenther To: gcc-patches@gcc.gnu.org Subject: [PATCH][1/n] Fix build_int_cst callers with NULL type Message-ID: User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org First batch, obvious in tail of grep. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2011-04-29 Richard Guenther * tree-nested.c (get_trampoline_type): Use size_int. (get_nl_goto_field): Likewise. * tree-eh.c (lower_try_finally_switch): Use integer_type_node for all indexes. (lower_eh_constructs_2): Likewise. (lower_resx): Likewise. (lower_eh_dispatch): Likewise. * tree-mudflap.c (mf_build_string): Use size_int. (mudflap_register_call): Use integer_type_node for the flag. (mudflap_enqueue_constant): Use size_int. * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR instead of rebuilding it. Index: gcc/tree-nested.c =================================================================== --- gcc/tree-nested.c (revision 173151) +++ gcc/tree-nested.c (working copy) @@ -486,7 +486,7 @@ get_trampoline_type (struct nesting_info align = STACK_BOUNDARY; } - t = build_index_type (build_int_cst (NULL_TREE, size - 1)); + t = build_index_type (size_int (size - 1)); t = build_array_type (char_type_node, t); t = build_decl (DECL_SOURCE_LOCATION (info->context), FIELD_DECL, get_identifier ("__data"), t); @@ -561,7 +561,7 @@ get_nl_goto_field (struct nesting_info * size = size + 1; type = build_array_type - (type, build_index_type (build_int_cst (NULL_TREE, size))); + (type, build_index_type (size_int (size))); field = make_node (FIELD_DECL); DECL_NAME (field) = get_identifier ("__nl_goto_buf"); Index: gcc/tree-eh.c =================================================================== --- gcc/tree-eh.c (revision 173151) +++ gcc/tree-eh.c (working copy) @@ -1336,11 +1336,12 @@ lower_try_finally_switch (struct leh_sta if (tf->may_fallthru) { x = gimple_build_assign (finally_tmp, - build_int_cst (NULL, fallthru_index)); + build_int_cst (integer_type_node, + fallthru_index)); gimple_seq_add_stmt (&tf->top_p_seq, x); last_case = build3 (CASE_LABEL_EXPR, void_type_node, - build_int_cst (NULL, fallthru_index), + build_int_cst (integer_type_node, fallthru_index), NULL, create_artificial_label (tf_loc)); VEC_quick_push (tree, case_label_vec, last_case); last_case_index++; @@ -1358,14 +1359,14 @@ lower_try_finally_switch (struct leh_sta emit_post_landing_pad (&eh_seq, tf->region); x = gimple_build_assign (finally_tmp, - build_int_cst (NULL, eh_index)); + build_int_cst (integer_type_node, eh_index)); gimple_seq_add_stmt (&eh_seq, x); x = gimple_build_goto (finally_label); gimple_seq_add_stmt (&eh_seq, x); last_case = build3 (CASE_LABEL_EXPR, void_type_node, - build_int_cst (NULL, eh_index), + build_int_cst (integer_type_node, eh_index), NULL, create_artificial_label (tf_loc)); VEC_quick_push (tree, case_label_vec, last_case); last_case_index++; @@ -1397,7 +1398,8 @@ lower_try_finally_switch (struct leh_sta if (q->index < 0) { x = gimple_build_assign (finally_tmp, - build_int_cst (NULL, return_index)); + build_int_cst (integer_type_node, + return_index)); gimple_seq_add_stmt (&mod, x); do_return_redirection (q, finally_label, mod, &return_val); switch_id = return_index; @@ -1405,7 +1407,7 @@ lower_try_finally_switch (struct leh_sta else { x = gimple_build_assign (finally_tmp, - build_int_cst (NULL, q->index)); + build_int_cst (integer_type_node, q->index)); gimple_seq_add_stmt (&mod, x); do_goto_redirection (q, finally_label, mod, tf); switch_id = q->index; @@ -1418,7 +1420,7 @@ lower_try_finally_switch (struct leh_sta tree case_lab; void **slot; case_lab = build3 (CASE_LABEL_EXPR, void_type_node, - build_int_cst (NULL, switch_id), + build_int_cst (integer_type_node, switch_id), NULL, create_artificial_label (tf_loc)); /* We store the cont_stmt in the pointer map, so that we can recover it in the loop below. */ @@ -1863,7 +1865,8 @@ lower_eh_constructs_2 (struct leh_state this zero argument with the current catch region number. */ if (state->ehp_region) { - tree nr = build_int_cst (NULL, state->ehp_region->index); + tree nr = build_int_cst (integer_type_node, + state->ehp_region->index); gimple_call_set_arg (stmt, 0, nr); } else @@ -2952,10 +2955,10 @@ lower_resx (basic_block bb, gimple stmt, else { edge_iterator ei; - tree dst_nr = build_int_cst (NULL, dst_r->index); + tree dst_nr = build_int_cst (integer_type_node, dst_r->index); fn = implicit_built_in_decls[BUILT_IN_EH_COPY_VALUES]; - src_nr = build_int_cst (NULL, src_r->index); + src_nr = build_int_cst (integer_type_node, src_r->index); x = gimple_build_call (fn, 2, dst_nr, src_nr); gsi_insert_before (&gsi, x, GSI_SAME_STMT); @@ -2996,7 +2999,7 @@ lower_resx (basic_block bb, gimple stmt, else { fn = implicit_built_in_decls[BUILT_IN_EH_POINTER]; - src_nr = build_int_cst (NULL, src_r->index); + src_nr = build_int_cst (integer_type_node, src_r->index); x = gimple_build_call (fn, 1, src_nr); var = create_tmp_var (ptr_type_node, NULL); var = make_ssa_name (var, x); @@ -3170,7 +3173,8 @@ lower_eh_dispatch (basic_block src, gimp else { fn = implicit_built_in_decls[BUILT_IN_EH_FILTER]; - x = gimple_build_call (fn, 1, build_int_cst (NULL, region_nr)); + x = gimple_build_call (fn, 1, build_int_cst (integer_type_node, + region_nr)); filter = create_tmp_var (TREE_TYPE (TREE_TYPE (fn)), NULL); filter = make_ssa_name (filter, x); gimple_call_set_lhs (x, filter); @@ -3196,7 +3200,8 @@ lower_eh_dispatch (basic_block src, gimp edge f_e = FALLTHRU_EDGE (src); fn = implicit_built_in_decls[BUILT_IN_EH_FILTER]; - x = gimple_build_call (fn, 1, build_int_cst (NULL, region_nr)); + x = gimple_build_call (fn, 1, build_int_cst (integer_type_node, + region_nr)); filter = create_tmp_var (TREE_TYPE (TREE_TYPE (fn)), NULL); filter = make_ssa_name (filter, x); gimple_call_set_lhs (x, filter); Index: gcc/tree-mudflap.c =================================================================== --- gcc/tree-mudflap.c (revision 173151) +++ gcc/tree-mudflap.c (working copy) @@ -81,7 +81,7 @@ mf_build_string (const char *string) tree result = mf_mark (build_string (len + 1, string)); TREE_TYPE (result) = build_array_type - (char_type_node, build_index_type (build_int_cst (NULL_TREE, len))); + (char_type_node, build_index_type (size_int (len))); TREE_CONSTANT (result) = 1; TREE_READONLY (result) = 1; TREE_STATIC (result) = 1; @@ -1251,7 +1251,7 @@ mudflap_register_call (tree obj, tree ob arg, convert (size_type_node, object_size), /* __MF_TYPE_STATIC */ - build_int_cst (NULL_TREE, 4), + build_int_cst (integer_type_node, 4), varname); append_to_statement_list (call_stmt, &enqueued_call_stmt_chain); @@ -1284,7 +1284,7 @@ mudflap_enqueue_constant (tree obj) return; if (TREE_CODE (obj) == STRING_CST) - object_size = build_int_cst (NULL_TREE, TREE_STRING_LENGTH (obj)); + object_size = size_int (TREE_STRING_LENGTH (obj)); else object_size = size_in_bytes (TREE_TYPE (obj)); Index: gcc/tree-chrec.c =================================================================== --- gcc/tree-chrec.c (revision 173151) +++ gcc/tree-chrec.c (working copy) @@ -843,8 +843,7 @@ reset_evolution_in_loop (unsigned loop_n tree right = reset_evolution_in_loop (loop_num, CHREC_RIGHT (chrec), new_evol); return build3 (POLYNOMIAL_CHREC, TREE_TYPE (left), - build_int_cst (NULL_TREE, CHREC_VARIABLE (chrec)), - left, right); + CHREC_VAR (chrec), left, right); } while (TREE_CODE (chrec) == POLYNOMIAL_CHREC