aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-09-07error.c (show_locus): Handle mapped locations.Per Bothner10-16/+133
2004-09-07 Per Bothner <per@bothner.com> Paul Brook <paul@codesourcery.com> * error.c (show_locus): Handle mapped locations. * f95-lang.c (gfc_be_parse_file): Initialize mapped locations. * gfortran.h: Include input.h. (struct gfc_linebuf): Use source_location. * scanner.c (get_file): Initialize linemap. (preprocessor_line): Pass extra argument to get_file. (load_file): Ditto. Setup linemap. (gfc_new_file): Handle mapped locations. * trans-common.c (build_field, build_equiv_decl, build_common_decl): Set decl source locations. (gfc_trans_common): Set blank common block location. * trans-decl.c (gfc_set_decl_location): New function. (gfc_get_label_decl, gfc_get_symbol_decl): Use it. (trans_function_start): Move call to gfc_set_backend_locus.. (build_function_decl): ... to here. (build_entry_thunks): Set and restore the backend locus. (gfc_generate_constructors): Remove excess arguments to init_function_start. (gfc_generate_block_data): Add comments. Set the decl locus. * trans-io.c (set_error_locus): Handle mapped locations. * trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto. (gfc_trans_code): Use SET_EXPR_LOCATION. (gfc_generate_code): Override the location of the new symbol. * trans.h (gfc_set_decl_location): Add prototype. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r87142
2004-09-07builtins.c (fold_builtin_strchr): Use build_int_cst, not fold_convert.Nathan Sidwell8-37/+40
* builtins.c (fold_builtin_strchr): Use build_int_cst, not fold_convert. (fold_builtin_strpbrk): Likewise. * expr.c (array_ref_low_bound): Likewise. * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1, interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise. * tree-sra.c (generate_element_zero): Likewise. * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step, add_old_iv_candidates, add_iv_candidates): Likewise. * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise. From-SVN: r87141
2004-09-07c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.Nathan Sidwell15-594/+553
* c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. * c-common.c (c_type_hash, c_common_nodes_and_builtins, c_expand_expr, boolean_increment, nonnull_check_p, check_function_arguments_recurse, fold_offsetof_1): Likewise. * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros, builtin_define_type_max): Likewise. * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level, implicit_decl_warning, builtin_function, build_compound_literal, complete_array_type, grokdeclarator, get_parm_info, start_function, store_parm_decls_oldstyle, c_write_global_declarations): Likewise. * c-format.c (get_constant, decode_format_attr, maybe_read_dollar_number, get_flag_spec, check_format_arg, check_format_types, format_type_warning, find_char_info_specifier_index, init_dynamic_asm_fprintf_info, init_dynamic_diag_info, handle_format_attribute): Likewise. * c-gimplify.c (push_context, pop_context, finish_bc_block): * c-lex.c (c_lex_with_flags, lex_string): Likewise. * c-objc-common.c (c_tree_printer): Likewise. * c-pch.c (pch_init): Likewise. * c-pragma.c (maybe_apply_pragma_weak): Likewise. * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise. * c-typeck.c (c_incomplete_type_error, composite_type, common_pointer_type, common_type, same_translation_unit_p, tagged_types_tu_compatible_p, finish_init, pop_init_level, set_designator, set_nonincremental_init_from_string, process_init_element, c_finish_if_stmt): Likewise. * caller-save.c (init_caller_save, save_call_clobbered_regs, insert_restore, insert_save, insert_one_insn): Likewise. * calls.c (emit_call_1, compute_argument_block_size, precompute_arguments, expand_call, emit_library_call_value_1, store_one_arg): Likewise. From-SVN: r87140
2004-09-07configure.ac (enable-checking): Add release option.Nathan Sidwell4-94/+107
* configure.ac (enable-checking): Add release option. Reorganize to avoid repetition. * configure: Rebuilt. * doc/install.texi (enable-checking): Amend documentation. From-SVN: r87139
2004-09-07Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r87135.2
2004-09-06re PR bootstrap/17313 (fixinc.sh isn't parallel build safe)H.J. Lu2-1/+7
2004-09-06 H.J. Lu <hongjiu.lu@intel.com> PR bootstrap/17313 * Makefile.in (specs.ready): Depend on cc1$(exeext). From-SVN: r87133
2004-09-06Another MIPS vector cleanup patch, fix bad type attribute for FP zero moves.James E Wilson2-16/+20
* config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit, movdf_hardfloat_32bit): Split fG into two alternatives. (movv2sf_hardfloat_64bit): Split fYG into two alternatives. From-SVN: r87132
2004-09-06re PR other/16633 (C tests don't use the newly built libgcc.so.1)H.J. Lu2-0/+63
2004-09-06 H.J. Lu <hongjiu.lu@intel.com> PR c/16633: * lib/gcc-dg.exp: Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH, LD_LIBRARY64_PATH and DYLD_LIBRARY_PATH. From-SVN: r87131
2004-09-06ifc-20040816-1.c: Use -ftree-vectorize.Devang Patel3-2/+7
2004-09-06 Devang Patel <dpatel@apple.com> * gcc.dg/tree-ssa/ifc-20040816-1.c: Use -ftree-vectorize. * gcc.dg/tree-ssa/ifc-20040816-2.c: Use -ftree-vectorize. From-SVN: r87130
2004-09-06* semantics.c (expand_body): Assert that we are not nested.Daniel Jacobowitz2-1/+10
From-SVN: r87126
2004-09-06Fix ppc-darwin bootstrap failure.James E Wilson2-1/+5
* emit-rtl.c (try_split): Check INSN_P before may_trap_p call. From-SVN: r87125
2004-09-06final.c (output_in_slot): Delete.Eric Botcazou3-18/+16
* final.c (output_in_slot): Delete. (final_scan_insn): Revert 2004-09-03 change. (output_asm_insn): Likewise. * config/sparc/sparc.c (output_return): Likewise. (output_sibcall): Likewise. From-SVN: r87124
2004-09-06loop.c (loop_dump_aux): Do not print RTL when not available.Jan Hubicka3-22/+57
* loop.c (loop_dump_aux): Do not print RTL when not available. * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use frontend specific type nodes. (produce_memory_decl_rtl): Break out from ... (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly. (get_computation_at): Avoid random tree sharing. (tree_ssa_iv_optimize): Verify tree sharing; dump loops. From-SVN: r87123
2004-09-06Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove unnecessary ↵Zack Weinberg2-15/+18
commands. * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove unnecessary commands. From-SVN: r87122
2004-09-06decl.c (build_enumerator): Use add_double and int_fits_type_p instead of ↵Zack Weinberg5-76/+103
cp_build_binary_op... cp: * decl.c (build_enumerator): Use add_double and int_fits_type_p instead of cp_build_binary_op, to avoid creating short-lived trees. * parser.c (cp_parse_type_specifier <RID_ENUM>): Use two-token lookahead instead of backtracking. Move some code to avoid a conditional branch. (cp_parser_enum_specifier): Avoid duplication of effort with caller. Use cp_lexer_next_token_is/cp_lexer_next_token_is_not as appropriate. (cp_parser_enumerator_list, cp_parser_enumerator_definition): Use cp_lexer_next_token_is/cp_lexer_next_token_is_not as appropriate. testsuite: * g++.old-deja/g++.other/enum2.C: Move dg-error markers to reflect changed line numbering of diagnostics. From-SVN: r87121
2004-09-06Put ChangeLog entry in the right place.Paul Brook1-5/+0
From-SVN: r87120
2004-09-06[multiple changes]Paul Brook3-0/+13
2004-09-06 Steven G. Kargl <kargls@comcast.net> * io/write.c (output_float): Typo in comment. Remove debugging printf. Fix format for FP of form 1e10. 2004-09-06 Paul Brook <paul@codesourcery.com> * gfortran.dg/edit_real_1.f90: Add new test. From-SVN: r87119
2004-09-06Makefile.in (rtl.o): Remove -DGENERATOR_FILE.Mohan Embar2-2/+7
* Makefile.in (rtl.o): Remove -DGENERATOR_FILE. (bitmap.o): Likewise. From-SVN: r87118
2004-09-06restore missing changelog entryNathan Sidwell1-0/+27
2004-08-30 Nathan Sidwell <nathan@codesourcery.com> * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset, record_set, rtx_equal_for_memref_p, init_alias_analysis): Use gcc_assert and gcc_unreachable instead of abort. * alloc-pool.c (abort, fancy_abort): Remove. (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use gcc_assert or gcc_unreachable. * attribs.c (init_attributes, decl_attributes): Likewise. * bb-reorder.c (FREE, find_traces_1_round, copy_bb, mark_bb_for_unlikely_executed_section, add_labels_and_missing_jumps, fix_crossing_conditional_branches, fix_crossing_unconditional_branches): Likewise. * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit, bitmap_operation): Likewise. * bt-load.c (insn_sets_btr_p, augment_live_range, move_btr_def): Likewise. * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size, apply_result_size, expand_builtin_apply, expand_builtin_mathfn, expand_builtin_mathfn_2, expand_builtin_mathfn_3, builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy, expand_builtin_memcmp, expand_builtin_args_info, std_gimplify_va_arg_expr, expand_builtin_unop, expand_builtin_fputs, expand_builtin_profile_func, expand_builtin_fork_or_exec, fold_builtin_bitop, fold_builtin_classify, fold_builtin_fputs): Likewise. From-SVN: r87114
2004-09-06Unify the management of RTL and tree-level dump files.Paolo Bonzini44-505/+771
2004-09-06 Paolo Bonzini <bonzini@gnu.org> Unify the management of RTL and tree-level dump files. * cfgexpand.c (tree_expand_cfg): Fix incorrect comment. Don't print function name to the dump file, the pass manager would do this for us. Add code from the top of rest_of_compilation, up to the initial RTL dump. * passes.c (rest_of_handle_jump): Call fixup_tail_calls and close the DFI_sibling dump file. (rest_of_compilation): Don't do that here. Remove code up to the initial RTL dump. (init_optimization_passes): Remove. (pass_rest_of_compilation): Change pass name to NULL. * toplev.c (lang_dependent_init): Do not use an empty dump file prefix. Do not call init_optimization_passes. * toplev.h (init_optimization_passes): Remove. * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file, finish_graph_dump_file): Remove SUFFIX parameter. * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file, finish_graph_dump_file): Likewise. * tree-pass.h (struct tree_opt_pass): Add `letter' field. * cfgexpand.c (pass_expand): Adjust. * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust. * passes.c (pass_rest_of_compilation): Adjust. * predict.c (pass_profile): Adjust. * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust. * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts, pass_split_crit_edges, pass_warn_function_return): Adjust. * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust. * tree-dfa.c (pass_referenced_vars): Adjust. * tree-eh.c (pass_lower_eh): Adjust. * tree-if-conv.c (pass_build_ssa): Adjust. * tree-into-ssa.c (pass_build_ssa): Adjust. * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust. * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust. * tree-nrv.c (pass_nrv): Adjust. * tree-optimize.c (pass_gimple, pass_all_optimizations, pass_cleanup_cfg_post_optimizing, pass_free_datastructures, pass_init_datastructures): Adjust. * tree-outof-ssa.c (pass_del_ssa): Adjust. * tree-profile.c (pass_tree_profile): Adjust. * tree-sra.c (pass_sra): Adjust. * tree-ssa-alias.c (pass_may_alias): Adjust. * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust. * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust. * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust. * tree-ssa-dom.c (pass_dominator): Adjust. * tree-ssa-dse.c (pass_dse): Adjust. * tree-ssa-forwprop.c (pass_forwprop): Adjust. * tree-ssa-if-conv.c (pass_if_conversion): Adjust. * tree-ssa-loop-ch.c (pass_ch): Adjust. * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim, pass_loop_done, pass_complete_unroll, pass_iv_canon, pass_iv_optimize, pass_vectorize): Adjust. * tree-ssa-phiopt.c (pass_phiopt): Adjust. * tree-ssa-pre.c (pass_pre, pass_fre): Adjust. * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized, pass_late_warn_uninnitialized): Adjust. * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust. * Makefile.in (tree-dump.o): Add new dependencies. * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all. * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize): Likewise. * toplev.c (dump_file_name): New. * tree-dump.c (dump_enable_all): Add LETTER parameter. (struct dump_file_info): Add NUM and LETTER fields. (dump_files): Adjust and add RTL dump files. (dump_register): Add NUM and LETTER fields. (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New. (dump_begin): Use get_dump_file_name. (dump_switch_p_1): Adjust call to dump_enable_all. * tree-dump.h (dump_register): Adjust prototype. * tree-optimize.c (register_one_dump_file): Take dump file index. Support flags for RTL dumps. (register_dump_files): Fill in NUM field of struct dump_file_info. Track properties both when the gate is executed and when it is not. (execute_todo): Dump RTL. Add PROPERTIES parameter. (execute_one_pass): Pass properties to execute_todo. Handle VCG dumps of RTL. * tree-pass.h (dump_file_name): New. * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p): New. * Makefile.in (passes.o): Add new dependencies. * passes.c (struct dump_file_info, enum dump_file_index, dump_file_tbl, init_optimization_passes): Remove. (open_dump_file, close_dump_file): Use tree-dumping infrastructure. (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use dump_enabled_p. (finish_optimization_passes): Update finish_graph_dump_file loop. (enable_rtl_dump_file): Remove. * tree-dump.c (dump_files): Adjust and add RTL dump files. (enable_rtl_dump_file): Add here. * tree.h (enum tree_dump_index): Add RTL dump file indices. * doc/invoke.texi (Debugging options): Document new RTL debugging options. Update. From-SVN: r87113
2004-09-06Daily bump.GCC Administrator1-1/+1
From-SVN: r87108
2004-09-05c-common.c, [...]: Fix comment formatting.Kazu Hirata29-74/+85
* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c, gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c, stor-layout.c, target.h, tree-cfg.c, tree-chrec.c, tree-if-conv.c, tree-inline.c, tree-into-ssa.c, tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c, tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c, tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h, vec.h: Fix comment formatting. From-SVN: r87105
2004-09-05c-common.c, [...]: Fix comment typos.Kazu Hirata30-44/+56
* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h, et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h, hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c, tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c, tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-niter.c, tree-ssa-operands.c, tree-ssa-operands.h, tree-ssa-propagate.c, tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c, vec.c, vec.h: Fix comment typos. Follow spelling conventions. From-SVN: r87104
2004-09-05tree-if-conv.c (gate_tree_if_conversion): Enable only if the vectorizer is ↵Diego Novillo2-1/+6
enabled. * tree-if-conv.c (gate_tree_if_conversion): Enable only if the vectorizer is enabled. From-SVN: r87103
2004-09-05Remove extra whitespace.Andreas Jaeger1-6/+6
From-SVN: r87102
2004-09-05* tree-if-conv.c: Spell check comments and clean up whitespace.Andreas Jaeger2-84/+87
From-SVN: r87101
2004-09-05tree-ssa-loop-ivopts.c: New file.Zdenek Dvorak31-27/+5000
* tree-ssa-loop-ivopts.c: New file. * Makefile.in (tree-ssa-loop-ivopts.c): Add. * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost, target_pres_cost, target_spill_cost): Declare. * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost, spill_cost): Renamed to ... (target_avail_regs, target_res_regs, target_small_cost, target_pres_cost, target_spill_cost): ... and exported. (init_set_costs, global_cost_for_size): Work with renamed variables. * common.opt (flag_ivopts): New flag. * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle REF_ORIGINAL. * gimplify.c (struct gimplify_ctx): Add into_ssa field. (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support generating SSA form. (force_gimple_operand): New function. * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar. * tree-cfg.c (stmt_bsi): New function. * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, PARAM_IV_MAX_CONSIDERED_USES): New. * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge, bsi_insert_on_edge_immediate_loop. standard_iv_increment_position, ip_end_pos, ip_normal_pos, force_gimple_operand): Declare. * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names. * tree-nested.c (build_addr): Export. * tree-optimize.c (init_tree_optimization_passes): Add pass_iv_optimize. * tree-pass.h (pass_iv_optimize): Declare. * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and IMAGPART_EXPR. * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable as a phi node argument. (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop, ip_end_pos, ip_normal_pos, standard_iv_increment_position): New functions. * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export. * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts, pass_iv_optimize): New pass. * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL. * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL. * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions. * tree.h (REF_ORIGINAL): New macro. (build_int_cst_type, unsigned_type_for, zero_p, cst_and_fits_in_hwi, build_addr): Declare. * doc/invoke.texi (-fivopts): Document. (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, PARAM_IV_MAX_CONSIDERED_USES): Document. * doc/passes.texi: Document induction variable optimizations pass. * gcc.dg/tree-ssa/loop-2.c: New test. * gcc.dg/tree-ssa/loop-3.c: New test. * gcc.dg/tree-ssa/loop-4.c: New test. * gcc.dg/tree-ssa/loop-5.c: New test. From-SVN: r87100
2004-09-05builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.Kaveh R. Ghazi7-27/+136
* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New. * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1. * c-common.c (c_common_attribute_table): Accept parameters to sentinel attribute. (check_function_sentinel, handle_sentinel_attribute): Likewise. * doc/extend.texi: Update accordingly. testsuite: * gcc.dg/format/sentinel-1.c: Update for parameter option. From-SVN: r87098
2004-09-05Fix ChangeLogKaveh Ghazi1-1/+3
From-SVN: r87097
2004-09-05builtin-attrs.def (ATTR_SENTINEL, [...]): New.Kaveh Ghazi7-5/+131
gcc: * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST): New. * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel' attribute. * c-common.c (handle_sentinel_attribute, check_function_sentinel): New functions. (c_common_attribute_table): Add `sentinel' attribute. (check_function_arguments): Handle `sentinel' attribute. * doc/extend.texi: Document `sentinel' attribute. gcc/testsuite: * gcc.dg/format/sentinel-1.c: New test. include: * ansidecl.h (ATTRIBUTE_SENTINEL): Define. * libiberty.h (concat, reconcat, concat_length, concat_copy, concat_copy2): Use ATTRIBUTE_SENTINEL. From-SVN: r87096
2004-09-05Daily bump.GCC Administrator1-1/+1
From-SVN: r87094
2004-09-04revert: fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.Richard Kenner2-39/+54
Revert: * fold-const.c (operand_equal_p): Remove code to allow null ARG0/1. Define locals macros OP_SAME and OP_SAME_WITH_NULL and use throughout. From-SVN: r87089
2004-09-04* gimplify.c (internal_get_tmp_var): Remove unused var CLASS.Richard Kenner2-3/+2
From-SVN: r87088
2004-09-04configure: Regenerated.H.J. Lu2-5/+11
2004-09-04 H.J. Lu <hongjiu.lu@intel.com> * configure: Regenerated. From-SVN: r87087
2004-09-04Fix some too-long lines and move a comment.Richard Kenner1-5/+10
From-SVN: r87086
2004-09-04decl.c (grok_declarator): Remove a redundant semicolon.Kriang Lerdsuwanakij3-10/+14
* decl.c (grok_declarator): Remove a redundant semicolon. * parser.c (cp_parser_decl_specifier_seq, cp_parser_type_specifier): Correct comments describing function parameters. From-SVN: r87085
2004-09-04Trivial reformatting.Richard Kenner1-2/+1
From-SVN: r87084
2004-09-04* tree.c (save_expr): No longer TREE_READONLY.Richard Kenner2-1/+2
From-SVN: r87083
2004-09-04fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.Richard Kenner2-54/+41
* fold-const.c (operand_equal_p): Remove code to allow null ARG0/1. Define locals macros OP_SAME and OP_SAME_WITH_NULL and use throughout. From-SVN: r87082
2004-09-04passes.c (rest_of_clean_state): Fix merge conflict made during commiting the ↵Jan Hubicka2-1/+6
patch. * passes.c (rest_of_clean_state): Fix merge conflict made during commiting the patch. From-SVN: r87081
2004-09-04* passes.c (rest_of_clean_state): Decompose the instruction stream.Jan Hubicka2-0/+16
From-SVN: r87080
2004-09-04md.texi (shift patterns): New anchor.Richard Sandiford10-126/+494
* doc/md.texi (shift patterns): New anchor. Add reference to TARGET_SHIFT_TRUNCATION_MASK. * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document. * target.h (shift_truncation_mask): New target hook. * targhook.h (default_shift_truncation_mask): Declare. * targhook.c (default_shift_truncation_mask): Define. * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define. (TARGET_INITIALIZER): Include it. * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise reject all out-of-range values. Fix sign-extension code for modes whose width is smaller than HOST_BITS_PER_WIDE_INT. * optabs.c (simplify_expand_binop, force_expand_binop): New functions. (expand_superword_shift, expand_subword_shift): Likewise. (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise. (expand_binop): Use them to implement double-word shifts. * config/arm/arm.c (arm_shift_truncation_mask): New function. (TARGET_SHIFT_TRUNCATION_MASK): Define. From-SVN: r87079
2004-09-04tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.Jan Hubicka2-79/+150
* tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object. (mix): New macro copied from hashtab.c (iterative_hash_hashval_t, iterative_hash_pointer, iterative_hash_host_wide_int): New functions based on hashtab.c implementation. From-SVN: r87078
2004-09-04mips.md (mask): New mode attribute.Richard Sandiford2-153/+54
* config/mips/mips.md (mask): New mode attribute. (zero_extendsidi2): Add memory alternative. (*zero_extendsidi2_mem): Delete. (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use memory_operand in the TARGET_MIPS16 check. (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns. Redefine using :GPR and :SHORT. (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check. From-SVN: r87077
2004-09-04builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L} using rint_optab.Uros Bizjak12-37/+619
2004-09-04 Uros Bizjak <uros@kss-loka.si> * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L} using rint_optab. (expand_builtin): Expand BUILT_IN_RINT{,F,L} using expand_builtin_mathfn. * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use btrunc?f patterns for btrunc_optab. Implement rint_optab using rint?f patterns. * optabs.c (init_optabs): Initialize rint_optab. * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc. Add new OTI_rint. (btrunc_optab): Rename macro from trunc_optab. (rint_optab): Define corresponding macro. * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM. * config/i386/i386-protos.h (emit_i387_cw_initialization): Change prototype. Add new int parameter. * config/i386/i386.c (emit_i387_cw_initialization): Handle new rounding modes. * config/i386/i386.h (enum fp_cw_mode): Delete. (MODE_NEEDED): Handle new rounding modes. (EMIT_MODE_SET): Change condition to handle new rounding modes. * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to represent different rounding modes of frndint insn. (type): Add frndint type. (i387, length, memory): Handle this type. (i387_cw): New attribute definition. (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory, *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory, *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory): Add "i387_cw" attribute defined to "trunc". (x86_fnstcw_1): Remove comment. (*frndintxf2): Rename insn definition to frndintxf2. Move insn definition near rint?f2 expanders. (rintdf2, rintsf2, rintxf2): New expanders to implement rint, rintf and rintl built-ins as inline x87 intrinsics. (frndintxf2_floor): New pattern to implement floor rounding mode with frndint x87 instruction. (floordf2, floorsf2, floorxf2): New expanders to implement floor, floorf and floorl built-ins as inline x87 intrinsics. (frndintxf2_ceil): New pattern to implement ceil rounding mode with frndint x87 instruction. (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil, ceilf and ceill built-ins as inline x87 intrinsics. (frndintxf2_trunc): New pattern to implement trunc rounding mode with frndint x87 instruction. (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc, truncf and truncl built-ins as inline x87 intrinsics. (frndintxf2_mask_pm): New pattern to implement rounding mode with exceptions with frndint x87 instruction. (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to implement nearbyint, nearbyintf and nearbyintl built-ins as inline x87 intrinsics. * testsuite/gcc.dg/builtins-46.c: New. From-SVN: r87076
2004-09-04mips.md (SHORT): New mode macro.Richard Sandiford2-180/+62
* config/mips/mips.md (SHORT): New mode macro. (size): New mode attribute. (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if !ISA_HAS_SEB_SEH. (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous *extend[qh]isi2_hw patterns and extending them to di. (extendqihi2): Implement as define_insn_and_split that produces extendqisi2 after reload. From-SVN: r87075
2004-09-03Tree level if-conversion for vectorizer.Devang Patel15-14/+1299
* Makefile.in (OBJS-common): Add tree-if-conv.o (tree-if-conv.o): New rule. * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag. (get_loop_body_in_bfs_order): New. * cfgloop.h (get_loop_body_in_bfs_order): New. * tree-flow.h (enum move_pos): Move here from .. * tree-ssa-loop-im.c (enum move_pos): here. (movement_possibility): Make externally visible. * tree-optimize.c (init_tree_optimization_passes): New entry for if conversion pass. * tree-pass.h (pass_if_conversion): New. * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR. * tree-if-conv.c: New file. * doc/passes.texi: Document tree if-conversion pass. * doc/tree-ssa.texi: Same. testsuite: * gcc.dg/tree-ssa/ifc-20040816-1.c: New test. * gcc.dg/tree-ssa/ifc-20040816-2.c: New test. From-SVN: r87073
2004-09-04Daily bump.GCC Administrator1-1/+1
From-SVN: r87069
2004-09-03re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1)H.J. Lu20-185/+754
2004-09-03 H.J. Lu <hongjiu.lu@intel.com> PR target/14925: Makefile.in (LIB2ADDEHSTATIC): New. (LIB2ADDEHSHARED): New. (LIBUNWIND): New. (LIBUNWINDDEP): New. (SHLIBUNWIND_LINK): New. (SHLIBUNWIND_INSTALL): New. (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND, LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL. (clean): Remove libunwind* (stage1-start): Remove and copy stage1/libunwind*. (stage2-start): Remove and copy stage2/libunwind*. (stage3-start): Remove and copy stage3/libunwind*. (stage4-start): Remove and copy stage4/libunwind*. (stageprofile-start): Remove and copy stageprofile/libunwind*. (stagefeedback-start): Remove and copy stagefeedback/libunwind*. * config.gcc (ia64*-*-linux*): Always add t-libunwind to tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to tmake_file if --with-system-libunwind isn't used. * config/ia64/t-glibc-libunwind: New file. * config/t-libunwind-elf: Likewise. * unwind-compat.c: Likewise. * unwind-compat.h: Likewise. * unwind-dw2-fde-compat.c: Likewise. * config/ia64/t-glibc (LIB2ADDEH): Updated. * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS. * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define aliases if needed. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2.c: Likewise. * config/t-libunwind (LIB2ADDEH): Updated. (LIB2ADDEHSTATIC): New. (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS. (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER. * configure.ac: Change --enable-libunwind-exceptions to --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS. * configure: Regenerated. * config.in: Updated. * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or above and mention --with-system-libunwind. (ia64-*-hpux*): Mention --enable-libunwind-exceptions is removed in gcc 3.4.3 and later. * gcc.c (init_spec): Add -lunwind to -lgcc_s if USE_LIBUNWIND_EXCEPTIONS is defined. * mklibgcc.in: Support libunwind. From-SVN: r87066
2004-09-03i386.c (x86_branch_hints): Remove m_PENT4 and m_NOCONA.H.J. Lu2-1/+10
2004-09-03 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and m_NOCONA. From-SVN: r87065