aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-08-02arm.c (arm_gen_constant): Use UBFX for some AND operations when available.Richard Earnshaw2-0/+30
* arm.c (arm_gen_constant): Use UBFX for some AND operations when available. From-SVN: r190088
2012-08-02tree-into-ssa.c (struct common_info_d): New struct.Richard Guenther2-102/+109
2012-08-02 Richard Guenther <rguenther@suse.de> * tree-into-ssa.c (struct common_info_d): New struct. (struct var_info_d, struct ssa_name_info): Use it. (get_ssa_name_ann): Adjust. (get_phi_state, set_phi_state): Remove. (get_common_info): New function. (get_current_def, set_current_def): Adjust. (get_def_blocks_for): Take a common info as param. (set_def_block): Call get_common_info once. (set_livein_block): Likewise. (find_def_blocks_for): Adjust. (insert_phi_nodes): Likewise. (register_new_def): Call get_common_info once. (get_reaching_def): Likewise. (rewrite_debug_stmt_uses): Likewise. (rewrite_leave_block): Likewise. (dump_currdefs): Likewise. (debug_var_infos_r): Adjust. (register_new_update_single): Call get_common_info once. (maybe_replace_use_in_debug_stmt): Likewise. (rewrite_update_leave_block): Likewise. (mark_use_interesting): Adjust. (create_new_def_for): Likewise. (update_ssa): Likewise. From-SVN: r190084
2012-08-02tree-ssa-live.c (set_is_used): Return a bool.Michael Matz2-54/+37
* tree-ssa-live.c (set_is_used): Return a bool. (mark_all_vars_used): Don't take data argument. (mark_all_vars_used_1): Adjust calls to above, merge handling of local and global vars. (remove_unused_scope_block_p): Don't take global_unused_vars, merge handling of local and global vars. (remove_unused_locals): Don't allocate/fill/pass global_unused_vars, use is_used_p for local and global vars. From-SVN: r190080
2012-08-02tree-flow.h (make_rename_temp): Remove.Richard Guenther11-42/+53
2012-08-02 Richard Guenther <rguenther@suse.de> * tree-flow.h (make_rename_temp): Remove. * tree-dfa.c (make_rename_temp): Likewise. * cgraphunit.c (thunk_adjust, assemble_thunk): Use create_tmp_reg instead of make_rename_temp. * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk, expand_omp_atomic_pipeline): Likewise. * trans-mem.c (tm_log_emit_save_or_restores, build_tm_load, build_tm_store, expand_call_tm, expand_transaction, ipa_tm_insert_gettmclone_call): Likewise. * tree-complex.c (expand_complex_div_wide): Likewise. * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for): Likewise. * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set, execute_sm): Likewise. * tree-ssa-math-opts.c (insert_reciprocals): Likewise. * value-prof.c (gimple_divmod_fixed_value, gimple_mod_pow2, gimple_mod_subtract): Likewise. From-SVN: r190074
2012-08-02tree-flow.h (set_default_def): Rename to ...Richard Guenther19-132/+139
2012-08-02 Richard Guenther <rguenther@suse.de> * tree-flow.h (set_default_def): Rename to ... (set_ssa_default_def): ... this. Take a struct function argument. (gimple_default_def): Rename to ... (ssa_default_def): ... this. (get_or_create_ssa_default_def): New function. * tree-dfa.c: Likewise. (dump_variable): Adjust. * ipa-prop.c (ipa_analyze_params_uses): Adjust, properly check for used parameters. * ipa-split.c (consider_split): Adjust, avoid repeated default-def lookups. (split_function): Likewise. * lto-streamer-in.c (input_ssa_names): Adjust. * omp-low.c (expand_omp_taskreg): Likewise. * tree-cfg.c (replace_ssa_name): Adjust, no need to push/pop cfun. * tree-complex.c (init_parameter_lattice_values): Adjust. (get_component_ssa_name): Likewise. (update_parameter_components): Likewise. * tree-inline.c (remap_ssa_name): Likewise. (setup_one_parameter): Likewise. (initialize_inlined_parameters): Likewise. (declare_return_variable): Likewise. (expand_call_inline): Likewise. (tree_function_versioning): Likewise. * tree-into-ssa.c (get_default_def_for): Remove. (get_reaching_def): Use get_or_create_ssa_default_def instead. * tree-predcom.c (replace_ref_with): Adjust. * tree-sra.c (get_repl_default_def_ssa_name): Likewise. (is_unused_scalar_param): Likewise. (ptr_parm_has_direct_uses): Likewise. (sra_ipa_reset_debug_stmts): Likewise. * tree-ssa-coalesce.c (create_outofssa_var_map): Adjust. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. * tree-ssa-live.c (verify_live_on_entry): Likewise. * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise, avoid repeated default def lookups. * tree-ssa-sccvn.c (run_scc_vn): Likewise. * tree-tailcall.c (arg_needs_copy_p): Adjust. (tree_optimize_tail_calls_1): Likewise. From-SVN: r190073
2012-08-02re PR tree-optimization/50672 (ice: verify_ssa failed: no immediate_use list)Richard Guenther4-0/+68
2012-08-02 Richard Guenther <rguenther@suse.de> PR tree-optimization/50672 Revert 2012-08-01 Richard Guenther <rguenther@suse.de> * tree-ssa-tail-merge.c (release_last_vdef): Remove. (replace_block_by): Adjust. * g++.dg/torture/pr50672.C: New testcase. From-SVN: r190070
2012-08-02re PR fortran/54147 ([F03] Interface checks for PPCs & deferred TBPs)Janus Weil8-63/+159
2012-08-02 Janus Weil <janus@gcc.gnu.org> PR fortran/54147 * resolve.c (check_proc_interface): New routine for PROCEDURE interface checks. (resolve_procedure_interface,resolve_typebound_procedure, resolve_fl_derived0): Call it. 2012-08-02 Janus Weil <janus@gcc.gnu.org> PR fortran/54147 * gfortran.dg/abstract_type_6.f03: Modified. * gfortran.dg/proc_ptr_comp_3.f90: Modified. * gfortran.dg/proc_ptr_comp_35.f90: New. * gfortran.dg/typebound_proc_9.f03: Modified. * gfortran.dg/typebound_proc_26.f90: New. From-SVN: r190069
2012-08-02tree-dfa.c (referenced_var_lookup): Remove.Richard Guenther59-596/+188
2012-08-02 Richard Guenther <rguenther@suse.de> * tree-dfa.c (referenced_var_lookup): Remove. (find_referenced_vars): Remove. (pass_referenced_vars): Likewise. (make_rename_temp): Do not add referenced vars. (dump_referenced_vars): Remove. (debug_referenced_vars): Likewise. (dump_dfa_stats): Do not dump referenced var stats. (find_vars_r): Remove. (find_referenced_vars_in): Likewise. (referenced_var_check_and_insert): Likewise. (add_referenced_var_1): Likewise. (remove_referenced_var): Likewise. * tree-flow.h (referenced_var_lookup): Likewise. (struct gimple_df): Remove referenced_vars member. (typedef referenced_var_iterator): Remove. (FOR_EACH_REFERENCED_VAR): Likewise. (num_referenced_vars): Likewise. (debug_referenced_vars, dump_referenced_vars): Likewise. (add_referenced_var_1, add_referenced_var): Likewise. (remove_referenced_var): Likewise. (find_referenced_vars_in): Likewise. * tree-flow-inline.h (gimple_referenced_vars): Remove. (first_referenced_var): Likewise. (end_referenced_vars_p): Likewise. (next_referenced_var): Likewise. * cfgexpand.c (update_alias_info_with_stack_vars): Remove assert. * gimple-pretty-print.c (pp_points_to_solution): Dump UIDs unconditionally. * tree-into-ssa.c (dump_decl_set): Likewise. (pass_build_ssa): Do not require PROP_referenced_vars. * tree-ssa.c (target_for_debug_bind): Virtual operands are not suitable, but all register type vars are. (init_tree_ssa): Do not allocate referenced vars. (delete_tree_ssa): Do not free referenced vars. * cgraphunit.c (init_lowered_empty_function): Do not set PROP_referenced_vars. (assemble_thunk): Do not add referenced vars. * gimple-fold.c (canonicalize_constructor_val): Likewise. (gimplify_and_update_call_from_tree): Likewise. * gimple-streamer-in.c (input_bb): Likewise. * passes.c (init_optimization_passes): Do not run pass_referenced_vars. (dump_properties): Do not dump PROP_referenced_vars. * tree-inline.c (remap_decl): Do not add referenced vars. (remap_gimple_op_r): Likewise. (copy_tree_body_r): Likewise. (copy_bb): Likewise. (setup_one_parameter): Likewise. (declare_return_variable): Likewise. (copy_decl_for_dup_finish): Likewise. (copy_arguments_for_versioning): Likewise. (tree_function_versioning): Likewise. * tree-pass.h (PROP_referenced_vars): Remove. (pass_referenced_vars): Likewise. * tree-profile.c (gimple_gen_edge_profiler): Do not add referenced vars. (gimple_gen_interval_profiler): Likewise. (gimple_gen_pow2_profiler): Likewise. (gimple_gen_one_value_profiler): Likewise. (gimple_gen_ic_profiler): Likewise. (gimple_gen_average_profiler): Likewise. (gimple_gen_ior_profiler): Likewise. * tree-ssa-live.c (remove_unused_locals): Do not touch referenced vars. * tree-cfg.c (replace_ssa_name): Do not add referenced vars. (move_stmt_op): Likewise. * tree-ssa-operands.c (create_vop_var): Likewise. * gimple-low.c (record_vars_into): Likewise. * gimplify.c (gimple_regimplify_operands): Likewise. (force_gimple_operand_1): Likewise. * omp-low.c (expand_omp_for_generic): Likewise. (expand_omp_for_static_chunk): Likewise. (expand_omp_atomic_pipeline): Likewise. * graphite-clast-to-gimple.c (graphite_create_new_loop): Likewise. (translate_clast_assignment): Likewise. * graphite-sese-to-poly.c (create_zero_dim_array): Likewise. (handle_scalar_deps_crossing_scop_limits): Likewise. * ipa-prop.c (ipa_modify_formal_parameters): Likewise. * ipa-split.c (split_function): Likewise. * matrix-reorg.c (transform_access_sites): Likewise. * trans-mem.c (tm_log_add): Likewise. (ipa_tm_insert_gettmclone_call): Likewise. * tree-complex.c (create_one_component_var): Likewise. * tree-if-conv.c (ifc_temp_var): Likewise. * tree-parloops.c (take_address_of): Likewise. (initialize_reductions): Likewise. (separate_decls_in_region_name): Likewise. (create_call_for_reduction_1): Likewise. (separate_decls_in_region): Likewise. * tree-predcom.c (predcom_tmp_var): Likewise. (reassociate_to_the_same_stmt): Likewise. * tree-sra.c (build_ref_for_offset): Likewise. (create_access_replacement): Likewise. (get_replaced_param_substitute): Likewise. (sra_ipa_reset_debug_stmts): Likewise. * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise. (rewrite_bittest): Likewise. * tree-ssa-loop-ivopts.c (create_new_iv): Likewise. * tree-ssa-loop-manip.c (create_iv): Likewise. (tree_transform_and_unroll_loop): Likewise. * tree-ssa-math-opts.c (powi_as_mults): Likewise. (build_and_insert_call): Likewise. (gimple_expand_builtin_cabs): Likewise. (execute_optimize_bswap): Likewise. * tree-ssa-phiopt.c (conditional_replacement): Likewise. (abs_replacement): Likewise. (cond_store_replacement): Likewise. (cond_if_else_store_replacement_1): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. * tree-ssa-pre.c (get_representative_for): Likewise. (create_expression_by_pieces): Likewise. (insert_into_preds_of_block): Likewise. * tree-ssa-propagate.c (update_call_from_tree): Likewise. * tree-ssa-reassoc.c (undistribute_ops_list): Likewise. (eliminate_redundant_comparison): Likewise. (rewrite_expr_tree_parallel): Likewise. (get_reassoc_pow_ssa_name): Likewise. * tree-ssa-strlen.c (get_string_length): Likewise. * tree-switch-conversion.c (emit_case_bit_tests): Likewise. (build_arrays): Likewise. * tree-tailcall.c (adjust_return_value_with_ops): Likewise. (create_tailcall_accumulator): Likewise. * tree-vect-data-refs.c (vect_get_new_vect_var): Likewise. (vect_create_addr_base_for_vector_ref): Likewise. (vect_permute_store_chain): Likewise. (vect_permute_load_chain): Likewise. * tree-vect-generic.c (expand_vector_divmod): Likewise. * tree-vect-loop-manip.c (set_prologue_iterations): Likewise. (vect_build_loop_niters): Likewise. (vect_generate_tmps_on_preheader): Likewise. (vect_update_ivs_after_vectorizer): Likewise. (vect_gen_niters_for_prolog_loop): Likewise. (vect_do_peeling_for_alignment): Likewise. (vect_create_cond_for_align_checks): Likewise. * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise. (vect_handle_widen_op_by_const): Likewise. (vect_operation_fits_smaller_type): Likewise. (vect_recog_over_widening_pattern): Likewise. * tree-vect-stmts.c (vect_init_vector): Likewise. * gcc.dg/torture/pta-callused-1.c: Adjust. * gcc.dg/torture/pta-ptrarith-3.c: Likewise. * gcc.dg/torture/ssa-pta-fn-1.c: Likewise. * gcc.dg/tree-ssa/alias-19.c: Likewise. * gcc.dg/tree-ssa/pta-escape-1.c: Likewise. * gcc.dg/tree-ssa/pta-escape-2.c: Likewise. * gcc.dg/tree-ssa/pta-escape-3.c: Likewise. * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise. * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise. From-SVN: r190067
2012-08-02re PR debug/52983 (internal compiler error: in df_uses_record, at ↵Alexandre Oliva2-3/+10
df-scan.c:3243) PR debug/52983 * valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec. From-SVN: r190063
2012-08-02re PR debug/52983 (internal compiler error: in df_uses_record, at ↵Alexandre Oliva2-6/+12
df-scan.c:3243) PR debug/52983 * valtrack.c (cleanup_auto_inc_dec): Implement unconditionally, falling back to copy_rtx on non-autoinc machines. (propagate_for_debug_subst): Always use cleanup_auto_inc_dec. From-SVN: r190062
2012-08-02re PR debug/52983 (internal compiler error: in df_uses_record, at ↵Alexandre Oliva10-517/+624
df-scan.c:3243) PR debug/52983 * valtrack.h, valtrack.c: New. * Makefile.in (VALTRACK_H): New. (OBJS): Add valtrack.o. (valtrack.o): New. (cselib.o, dce.o, df-problems.o, combine.o): Add VALTRACK_H. * combine.c: Include valtrack.h. (make_compound_operation): Publish. (cleanup_auto_inc_dec): Move to valtrack.c. (struct rtx_subst_pair, propagate_for_debug_subst): Likewise. (propagate_for_debug): Likewise. Add this_basic_block parameter. Adjust all callers. * cselib.c: Include valtrack.h. * dce.c: Likewise. * df-problems.c: Likewise. (dead_debug_init, dead_debug_reset_uses): Move to valtrack.c. (dead_debug_finish, dead_debug_add): Likewise. (dead_debug_insert_temp): Likewise. * df.h (struct dead_debug_use): Move to valtrack.h. (struct dead_debug, enum debug_temp_where): Likewise. (dead_debug_init, dead_debug_reset_uses): Move to valtrack.h. (dead_debug_finish, dead_debug_add): Likewise. (dead_debug_insert_temp): Likewise. * rtl.h (make_compound_operation): Declare. From-SVN: r190061
2012-08-02Daily bump.GCC Administrator1-1/+1
From-SVN: r190060
2012-08-01re PR fortran/54033 (gfortran: Passing file as include directory - add ↵Thomas Koenig6-1/+43
diagnostic and ICE with -cpp) 2012-08-01 Thomas König <tkoenig@gcc.gnu.org> PR fortran/54033 * scanner.c (add_path_to_list): Emit warning if an error occurs for an include path, if it is not present or if it is not a directory. Do not add the path in these cases. 2012-08-01 Thomas König <tkoenig@gcc.gnu.org> PR fortran/54033 * gfortran.dg/include_6.f90: New test case. * gfortran.dg/include_7.f90: New test case. * gfortran.dg/include_3.f90: Add dg-warning for missing directory. From-SVN: r190054
2012-08-01mips-cpus.def (34kn): New.Catherine Moore5-41/+58
2012-08-01 Catherine Moore <clm@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/mips/mips-cpus.def (34kn): New. * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Add 34kn. (BASE_DRIVER_SELF_SPECS): Do not imply -mdsp for the 34kn. * config/mips/mips-tables.opt: Regenerate. * doc/invoke.texi (MIPS Options): Document -march=34kn. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r190053
2012-08-01re PR middle-end/34548 (GCC generates too many alignment adds for alloca)Richard Henderson5-37/+39
PR 34548 * function.h (struct rtl_data): Add max_dynamic_stack_alignment. * cfgexpand.c (gimple_expand_cfg): Initialise it. * explow.c (allocate_dynamic_stack_space): Set it. Simplify alignment requirements given the known alignment of dynamic_offset. * function.c (instantiate_virtual_regs): Align dtnamic_offset. From-SVN: r190051
2012-08-01Allow MODE_PARTIAL_INT in expmed costsRichard Henderson3-86/+106
From-SVN: r190050
2012-08-01m32c: Don't use set_optab_handlerRichard Henderson3-22/+27
From-SVN: r190049
2012-08-01tree-flow-inline.h (referenced_var): Remove.Richard Guenther4-118/+123
2012-08-01 Richard Guenther <rguenther@suse.de> * tree-flow-inline.h (referenced_var): Remove. * tree-ssa-coalesce.c (create_outofssa_var_map): Remove duplicate checking code. * tree-sra.c (candidates): New global hashtable. (candidate): New function. (sra_initialize): Initialize candidates. (sra_deinitialize): Free candidates. (disqualify_candidate): Remove candidate from candidates. (maybe_add_sra_candidate): New function. (find_var_candidates): Walk over all local decls and parameters, add candidates to candidates hashtable. (find_param_candidates): Add candidates to candidates hashtable. (analyze_all_variable_accesses): Use candidate instead of referenced_var. From-SVN: r190047
2012-08-01vrp76.c: New test.Tom de Vries2-0/+39
2012-08-01 Tom de Vries <tom@codesourcery.com> * gcc.dg/tree-ssa/vrp76.c: New test. From-SVN: r190044
2012-08-01tree-vrp.c (find_case_label_ranges): New function.Tom de Vries2-6/+107
2012-08-01 Tom de Vries <tom@codesourcery.com> * tree-vrp.c (find_case_label_ranges): New function. (vrp_visit_switch_stmt, simplify_switch_using_ranges): Use find_case_label_ranges instead of find_case_label_range. Handle second range. From-SVN: r190043
2012-08-01tree-complex.c (init_parameter_lattice_values): Don't call var_ann.Michael Matz14-239/+144
* tree-complex.c (init_parameter_lattice_values): Don't call var_ann. * tree-dfa.c (struct dfa_stats_d): Remove num_var_anns member. (dump_dfa_stats): Don't dump stats about var anns. (collect_dfa_stats): Don't collect them. (add_referenced_var_1): Don't set var annotation pointers. (remove_referenced_var): Ditto, and only remove it it's in the hash table. * tree-flow-inline.h (var_ann): Remove. * tree-flow.h (struct var_ann_d, var_ann_t): Remove. * tree-inline.c (remapped_type): Remove. (can_be_nonlocal): Most variable will be considered live here, return false earlier. (remap_decls): Don't call var_ann, all variables will be considered referenced here. (copy_debug_stmt): Ditto, and use is_global_var. * tree-into-ssa.c (rewrite_debug_stmt_uses): Use get_current_def to determine if a variable was referred to, not var_ann. * tree-ssa-live.c (remove_unused_scope_block_p): Don't check var_ann. (remove_unused_locals): Ditto. * tree-ssa.c (delete_tree_ssa): Don't free/clear var ann pointers. * tree-tailcall.c (arg_needs_copy_p): Don't check var_ann. * tree.c (copy_node_stat): Don't clear var ann pointer. * tree.h (tree_result_decl, tree_parm_decl, tree_var_decl): Remove ann member. (DECL_VAR_ANN_PTR): Remove. * tree-flow.h (struct var_ann_d): Rename used member. (set_is_used): Don't declare. * tree-flow-inline.h (clear_is_used): Remove. (set_is_used, is_used_p): Move to ... * tree-ssa-live.c (set_is_used, is_used_p): ... here, and use on the side bitmap. (usedvars): New bitmap. (dump_scope_block): Don't dump unusedness. (remove_unused_locals): Allocate and free usedvars. * tree-nrv.c (tree_nrv): Don't clear used flags here. * tree-flow.h (struct var_ann_d): Remove base_var_processed and base_index members. * tree-ssa-live.h (struct _var_map): Remove basevars member. (VAR_ANN_BASE_INDEX): Remove. * tree-ssa-live.c (var_map_base_init): Use a hash table instead of var annotation to compress index space. Don't deal with above removed members. (var_map_base_fini): Don't free basevars. (init_var_map): Don't clear basevars. From-SVN: r190039
2012-08-01gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change base_name to ↵Bill Schmidt2-38/+59
base_expr. 2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com> * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change base_name to base_expr. (struct cand_chain_d): Likewise. (base_cand_hash): Likewise. (base_cand_eq): Likewise. (record_potential_basis): Likewise. (alloc_cand_and_find_basis): Likewise. (create_mul_ssa_cand): Likewise. (create_mul_imm_cand): Likewise. (create_add_ssa_cand): Likewise. (create_add_imm_cand): Likewise. (slsr_process_cast): Likewise. (slsr_process_copy): Likewise. (dump_candidate): Likewise. (base_cand_dump_callback): Likewise. (unconditional_cands_with_known_stride_p): Likewise. (cand_increment): Likewise. From-SVN: r190038
2012-08-01re PR tree-optimization/46556 (Code size regression in struct access)Bill Schmidt6-47/+404
gcc: PR tree-optimization/46556 * gimple-ssa-strength-reduction.c (enum cand_kind): Add CAND_REF. (base_cand_map): Change to hash table. (base_cand_hash): New function. (base_cand_free): Likewise. (base_cand_eq): Likewise. (lookup_cand): Change base_cand_map to hash table. (find_basis_for_candidate): Likewise. (base_cand_from_table): Exclude CAND_REF. (restructure_reference): New function. (slsr_process_ref): Likewise. (find_candidates_in_block): Call slsr_process_ref. (dump_candidate): Handle CAND_REF. (base_cand_dump_callback): New function. (dump_cand_chains): Change base_cand_map to hash table. (replace_ref): New function. (replace_refs): Likewise. (analyze_candidates_and_replace): Call replace_refs. (execute_strength_reduction): Change base_cand_map to hash table. gcc/testsuite: PR tree-optimization/46556 * testsuite/gcc.dg/tree-ssa/slsr-27.c: New. * testsuite/gcc.dg/tree-ssa/slsr-28.c: New. * testsuite/gcc.dg/tree-ssa/slsr-29.c: New. From-SVN: r190037
2012-08-01i386.c (ix86_address_subreg_operand): Reject stack pointer.Uros Bizjak2-18/+26
* config/i386/i386.c (ix86_address_subreg_operand): Reject stack pointer. (ix86_print_operand_address): Assert that parts.base and parts.index are non-NULL after call to simplify_subreg. From-SVN: r190036
2012-08-01tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.Richard Guenther2-4/+5
2012-08-01 Richard Guenther <rguenther@suse.de> * doc/tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming. From-SVN: r190035
2012-08-01graphite-clast-to-gimple.c (translate_clast_user): Rename virtual operands.Richard Guenther15-67/+56
2012-08-01 Richard Guenther <rguenther@suse.de> * graphite-clast-to-gimple.c (translate_clast_user): Rename virtual operands. * sese.c (graphite_copy_stmts_from_block): Do not rename virtual operands here. * tree-call-cdce.c (tree_call_cdce): Use mark_virtual_operands_for_renaming. * tree-eh.c (sink_clobbers): Simplify. * tree-flow.h (mark_sym_for_renaming): Remove. (mark_virtual_operands_for_renaming): New function. * tree-if-conv.c (tree_if_conversion): Use mark_virtual_operands_for_renaming. * tree-inline.c (update_ssa_across_abnormal_edges): Likewise. * tree-into-ssa.c (mark_sym_for_renaming): Remove. (mark_virtual_operands_for_renaming): New function. * tree-loop-distribution.c (tree_loop_distribution): Use mark_virtual_operands_for_renaming. * tree-ssa-dce.c (mark_virtual_operand_for_renaming): Do not update stmts, use mark_virtual_operands_for_renaming. * tree-ssa-tail-merge.c (release_last_vdef): Remove. (replace_block_by): Adjust. (tail_merge_optimize): Use mark_virtual_operands_for_renaming. * tree-tailcall.c (tree_optimize_tail_calls_1): Use mark_virtual_operands_for_renaming. * tree-vect-slp.c (vect_slp_transform_bb): Likewise. * tree-vectorizer.c (vectorize_loops): Likewise. From-SVN: r190034
2012-08-01tree-flow.h (struct gimple_df): Remove syms_to_rename member, add ↵Richard Guenther17-206/+243
ssa_renaming_needed and rename_vops flags. 2012-08-01 Richard Guenther <rguenther@suse.de> * tree-flow.h (struct gimple_df): Remove syms_to_rename member, add ssa_renaming_needed and rename_vops flags. (SYMS_TO_RENAME): Remove. (symbol_marked_for_renaming): Likewise. (mark_virtual_ops_for_renaming): Likewise. * tree-into-ssa.c (symbols_to_rename_set, symbols_to_rename): New globals. (mark_for_renaming, marked_for_renaming): New functions. (symbol_marked_for_renaming): Remove. (dump_currdefs): Adjust. (maybe_replace_use): Likewise. (maybe_replace_use_in_debug_stmt): Likewise. (maybe_register_def): Likewise. (rewrite_update_phi_arguments): Likewise. (rewrite_update_enter_block): Likewise. (fini_ssa_renamer): Clear update SSA status here ... (delete_update_ssa): ... not here. Free rename set. (prepare_block_for_update): Compute which decls need renaming. (dump_update_ssa): Adjust. (mark_sym_for_renaming): Adjust update SSA status for virtuals. (need_ssa_update_p): Adjust. (insert_updated_phi_nodes_for): Likewise. (update_ssa): Likewise. * tree-ssa-operands.c (finalize_ssa_defs): Adjust update SSA status for virtual and real operands. (finalize_ssa_uses): Likewise. * tree-ssanames.c (init_ssanames): Adjust. * tree-ssa.c (maybe_rewrite_mem_ref_base, maybe_optimize_var, execute_update_addresses_taken): Add bitmap to keep track of which candidates are suitable for rewriting and later renaming by SSA update. * matrix-reorg.c (transform_access_sites): Do not rename all defs. * tree-dfa.c (make_rename_temp): Do not mark real operands for renaming. * cgraphunit.c (assemble_thunk): Likewise. * gimplify.c (gimple_regimplify_operands): Likewise. (force_gimple_operand_1): Likewise. * ipa-prop.c (ipa_modify_formal_parameters): Likewise. * tree-inline.c (declare_return_variable): Likewise. * tree-parloops.c (separate_decls_in_region_stmt): Do not call mark_virtual_ops_for_renaming. (create_stores_for_reduction): Likewise. (create_loads_and_stores_for_name): Likewise. * tree-predcom.c (mark_virtual_ops_for_renaming): Remove. (initialize_root_vars_lm): Do not call mark_virtual_ops_for_renaming. (execute_load_motion): Likewise. (remove_stmt): Likewise. (execute_pred_commoning_chain): Likewise. * tree-sra.c (create_access_replacement): Do not rename real operands. (get_unrenamed_access_replacement): Unify with ... (get_access_replacement): ... this. (get_repl_default_def_ssa_name): Adjust. * tree-ssa-loop-im.c (move_computations_stmt): Manually update virtual SSA form. (rewrite_mem_ref_loc): Do not call mark_virtual_ops_for_renaming. * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise. From-SVN: r190033
2012-08-01Daily bump.GCC Administrator1-1/+1
From-SVN: r190028
2012-07-31s390.c (s390_option_override): Disable DWARF 3/4 extensions for TPF, unless ↵DJ Delorie2-0/+15
specifically selected. * config/s390/s390.c (s390_option_override): Disable DWARF 3/4 extensions for TPF, unless specifically selected. From-SVN: r190023
2012-08-01re PR target/54131 (ICE building 416.gamess, reload_cse_simplify_operands)Alan Modra2-6/+27
PR target/54131 * config/rs6000/rs6000.c (mem_operand_gpr): Don't limit range of lo_sum offsets. Comment. Assert mode at least word size rather than bypassing powerpc64 word offset check. From-SVN: r190022
2012-07-31rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and ↵Bill Schmidt2-12/+84
vec_promote_demote down to more natural values. 2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com> * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and vec_promote_demote down to more natural values. (struct _rs6000_cost_data): New data structure. (rs6000_density_test): New function. (rs6000_init_cost): Change to use rs6000_cost_data. (rs6000_add_stmt_cost): Likewise. (rs6000_finish_cost): Perform density test when vectorizing a loop. From-SVN: r190019
2012-07-31re PR fortran/42418 (PROCEDURE: Rejects interface which is both specific and ↵Janus Weil7-52/+111
generic procedure) 2012-07-31 Janus Weil <janus@gcc.gnu.org> PR fortran/42418 * decl.c (match_procedure_interface): Move some checks to 'resolve_procedure_interface'. Set flavor if appropriate. * expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'. * intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which identify a procedure as being non-intrinsic. * resolve.c (resolve_procedure_interface): Checks moved here from 'match_procedure_interface'. Minor cleanup. (resolve_formal_arglist,resolve_symbol): Cleanup of 'resolve_procedure_interface' (resolve_actual_arglist,is_external_proc): Cleanup of 'gfc_is_intrinsic'. 2012-07-31 Janus Weil <janus@gcc.gnu.org> PR fortran/42418 * gfortran.dg/proc_decl_29.f90: New. From-SVN: r190017
2012-07-31sched-vis.c (print_exp): Handle FMA explicitly.Steven Bosscher2-44/+54
* sched-vis.c (print_exp): Handle FMA explicitly. Simplify handling of RTX_UNARY function-like operations. Print unknown expression RTX classes as pseudo-functions. (print_pattern): Simplify return pattern printing. (dump_insn_slim): Print the value of notes as a pattern for proper printing of CFA notes. From-SVN: r190016
2012-07-31predict.c (tree_estimate_probability_driver): Normalize the loop when ↵Dehao Chen4-1/+27
initializing the loop optimizer. 2012-07-31 Dehao Chen <dehao@google.com> * predict.c (tree_estimate_probability_driver): Normalize the loop when initializing the loop optimizer. From-SVN: r190015
2012-07-31pt.c (check_default_tmpl_args): Change is_primary and is_partial parameters ↵Paolo Carlini5-17/+26
to bool type, adjust. 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (check_default_tmpl_args): Change is_primary and is_partial parameters to bool type, adjust. (push_template_decl_real): Tidy. * parser.c (cp_parser_init_declarator): Adjust. * decl.c (redeclaration_error_message): Likewise. * cp-tree.h (check_default_tmpl_args): Update prototype. From-SVN: r190013
2012-07-31tree-flow.h (struct var_ann_d): Remove need_phi_state and current_def members.Richard Guenther4-142/+162
2012-07-31 Richard Guenther <rguenther@suse.de> * tree-flow.h (struct var_ann_d): Remove need_phi_state and current_def members. * tree-into-ssa.c (struct def_blocks_d): Remove var member. (def_blocks): Remove. (struct var_info_d): New. (var_infos): New hashtable. (struct ssa_name_info): Add def_blocks member. (get_ssa_name_ann): Adjust. (get_var_info): New function. (get_phi_state, set_phi_state, get_current_def, set_current_def, get_def_blocks_for, find_def_blocks_for): Adjust. (insert_phi_nodes_compare_def_blocks): Rename to ... (insert_phi_nodes_compare_var_infos): ... this and adjust. (insert_phi_nodes): Adjust. (dump_tree_ssa, dump_tree_ssa_stats): Adjust. (def_blocks_hash, def_blocks_eq, def_blocks_free): Remove. (debug_def_blocks_r): Rename to ... (debug_var_infos_r): ... this and adjust. (var_info_hash): New function. (var_info_eq): Likewise. (rewrite_blocks): Adjust. (init_ssa_renamer): Likewise. (fini_ssa_renamer): Likewise. (delete_update_ssa): Likewise. (update_ssa): Likewise. * tree-ssanames.c (release_dead_ssa_names): Do not clear current defs. From-SVN: r190012
2012-07-31re PR fortran/54134 ([OOP] ICE overriding derived type bound function with ↵Janus Weil4-0/+47
allocatable character as result) 2012-07-31 Janus Weil <janus@gcc.gnu.org> PR fortran/54134 * dependency.c (gfc_dep_compare_expr): Check if arguments are NULL. 2012-07-31 Janus Weil <janus@gcc.gnu.org> PR fortran/54134 * gfortran.dg/typebound_override_3.f90: New. From-SVN: r190010
2012-07-31stormy16.c (xstormy16_expand_prologue): Add support for reporting stack usage.Nick Clifton4-1/+10
* config/stormy16/stormy16.c (xstormy16_expand_prologue): Add support for reporting stack usage. * gcc.dg/stack-usage-1.c (SIZE): Define for FRV, and for XStormy16. From-SVN: r190009
2012-07-31re PR tree-optimization/53773 (Vectorizer generates non-canonical multiplies)Bill Schmidt5-0/+67
gcc: 2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com> PR tree-optimization/53773 * tree-vectorizer.h (struct _loop_vec_info): Add operands_swapped. (LOOP_VINFO_OPERANDS_SWAPPED): New macro. * tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_OPERANDS_SWAPPED field. (destroy_loop_vec_info): Restore canonical form. (vect_is_slp_reduction): Set LOOP_VINFO_OPERANDS_SWAPPED field. (vect_is_simple_reduction_1): Likewise. gcc/testsuite: 2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com> PR tree-optimization/53773 * testsuite/gcc.dg/vect/pr53773.c: New test. From-SVN: r190007
2012-07-31sched-vis.c (dump_insn_slim): Print print_rtx_head at the start of each new ↵Steven Bosscher3-2/+16
line. * sched-vis.c (dump_insn_slim): Print print_rtx_head at the start of each new line. * final.c (final_scan_insn): If the final dump is requested as slim RTL, dump slim RTL to the assembly file also. From-SVN: r190006
2012-07-31re PR target/53975 ([ia64] Target register of a speculative load moved to a ↵Andrey Belevantsev2-4/+18
branch register prior to the chk.s instruction) PR target/53975 * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment. Revert 2011-08-04 Sergey Grechanik <mouseentity@ispras.ru> * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge only if producer writes to the register given by regno. From-SVN: r190005
2012-07-31frv.c (frv_expand_prologue): Report stack usage.Nick Clifton4-0/+10
* config/frv/frv.c (frv_expand_prologue): Report stack usage. * gcc.dg/stack-usage-1.c (SIZE): Define for FRV. From-SVN: r190004
2012-07-31interface.c (gfc_procedure_use): Return gfc_try instead ofTobias Burnus8-23/+126
2012-07-31 Tobias Burnus <burnus@net-b.de> * interface.c (gfc_procedure_use): Return gfc_try instead of * void. * gfortran.h (gfc_procedure_use): Update prototype. * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable procedures for c_funloc for TS29113. * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer. 2012-07-31 Tobias Burnus <burnus@net-b.de> * gfortran.dg/c_funloc_tests_6.f90: New. * gfortran.dg/c_funloc_tests_7.f90: New. * gfortran.dg/c_funloc_tests_5.f03: Compile with -std=f2003. From-SVN: r190003
2012-07-31* config/frv/frv.c (QUAD): Fix typo.Nick Clifton2-1/+5
From-SVN: r190002
2012-07-31re PR c++/53624 (GCC rejects function local types in template function with ↵Paolo Carlini4-4/+26
default template arguments) /cp 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53624 * pt.c (check_default_tmpl_args): Don't check local types. /testsuite 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53624 * g++.dg/cpp0x/temp_default5.C: New. From-SVN: r190001
2012-07-31re PR pch/53880 (compile time regression when generating precompiled headers ↵Steven Bosscher3-1/+28
for boost) PR pch/53880 * gengtype.c (struct walk_type_data): Add have_this_obj field. (walk_type): For functions that take a this_obj argument and that process fields with a GTY((length)) argument, write the test that write_types_local_process_field will write also at the head of the loop, effectively unswitching the loop. (write_func_for_structure, write_local_func_for_structure): Clear have_this_obj before calling walk_type. (write_local_func_for_structure): Set have_this_obj before walk_type. (write_array): Set have_this_obj for output of local pointer walking functions but not for marker functions. (write_types_local_process_field): Assert have_this_obj is set. * rtl.h (simplify_using_condition): Adjust prototype using bitmap from coretypes.h. From-SVN: r189999
2012-07-31defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.Nathan Froyd13-77/+40
* defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete. * targhooks.c (default_mode_dependent_address_p): Delete code for GO_IF_MODE_DEPENDENT_ADDRESS. * system.h (GO_IF_MODE_DEPENDENT_ADDRESS): Poison. * doc/tm.texi.in (GO_IF_MODE_DEPENDENT_ADDRESS): Delete documention. * doc/tm.texi: Regenerate. * config/alpha.h (GO_IF_MODE_DEPENDENT_ADDRESS): Move code to... * config/alpha.c (alpha_mode_dependent_address_p): ...here. New function. (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. * config/cr16/cr16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete. * config/mep/mep.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete. * config/vax/vax-protos.h (vax_mode_dependent_address_p): Delete. * config/vax/vax.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete. * config/vax/vax.c (vax_mode_dependent_address_p): Make static. Take a const_rtx. (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. From-SVN: r189995
2012-07-31expmed.h (NUM_MODE_VECTOR_INT): Define.Nathan Froyd2-26/+116
* expmed.h (NUM_MODE_VECTOR_INT): Define. (struct expmed_op_cheap, struct expmed_op_costs): New structures. (struct target_expmed): Convert x_mul_highpart_cost and x_mul_widen_cost fields to be indexed by integer modes. Convert x_sdiv_pow2_cheap and x_smod_pow2_cheap fields to be of type struct expmed_op_cheap. Convert other cost fields to be of type struct_expmed_op_costs. (mul_widen_cost_ptr, mul_highpart_cost_ptr): Adjust for new indexing of respective fields. (expmed_op_cheap_ptr): New function. (sdiv_pow2_cheap_ptr, smod_pow2_cheap_ptr): Call it. (expmed_op_cost_ptr): New function. (add_cost_ptr, neg_cost_ptr, shift_cost_ptr, shiftadd_cost_ptr, shiftsub0_cost_ptr, shiftsub1_cost_ptr, mul_cost_ptr, sdiv_cost_ptr, udiv_cost_ptr): Call it. From-SVN: r189994
2012-07-31Daily bump.GCC Administrator1-1/+1
From-SVN: r189993
2012-07-30invoke.texi (MIPS Options): Document -mno-float.Sandra Loosemore3-2/+22
2012-07-30 Sandra Loosemore <sandra@codesourcery.com> Julian Brown <julian@codesourcery.com> gcc/ * doc/invoke.texi (MIPS Options): Document -mno-float. * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know about -mno-float. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r189989