+2004-10-26 James E Wilson <wilson@specifixinc.com>
+
+ PR target/18010
+ * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
+
+2004-10-26 Zack Weinberg <zack@codesourcery.com>
+
+ * dbxout.c: Include obstack.h.
+ (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
+ default definition.
+ (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
+ Default-define here.
+ (DBX_CONTIN_LENGTH): Move definition with others.
+ (DBX_FINISH_STABS): New target macro.
+ (current_sym_code, current_sym_value, current_sym_addr)
+ (current_sym_nchars, CHARS, dbxout_continue)
+ (print_int_cst_octal, print_octal, print_wide_int)
+ (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
+ (stabstr_ob, stabstr_last_contin_point): New variables.
+ (NUMBER_FMT_LOOP): New improper macro.
+ (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
+ (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
+ (dbxout_stab_value_internal_label_diff, dbxout_stabd)
+ (dbxout_begin_stabn, dbxout_begin_stabn_sline)
+ (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
+ (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
+ (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
+ (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
+ New functions and/or proper function-like macros.
+ (CONTIN): Use stabstr_continue, unconditionally.
+ (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
+ (dbxout_init): Initialize stabstr_ob. Check
+ NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
+ if it was used. Use the new interfaces.
+ (dbxout_source_file): Remove file argument; always write to
+ asm_out_file. Use the new interfaces.
+ (dbxout_type_method_1): Remove second argument which is always
+ DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
+ (dbxout_type_methods): Remove write-only variables. Use the
+ new interfaces.
+ (dbxout_parms): Refactor to remove code duplicated in each of
+ several successive if-else-if blocks. Use the new interfaces.
+ (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
+ (dbxout_source_line, dbxout_finish, dbxout_type_index)
+ (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
+ (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
+ (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
+ (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
+ Use the new interfaces.
+ * Makefile.in (dbxout.o): Update dependencies.
+
+ * defaults.h: Don't define ASM_STABD_OP.
+ * output.h: Prototype new dbxout_* interfaces.
+ * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
+ * varasm.c: Don't define ASM_STABS_OP.
+ (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
+ Use the new dbxout.c interfaces. Call sorry if neither
+ DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
+
+ * xcoffout.h: Don't define ASM_STABS_OP.
+ (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
+ (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
+ (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
+ (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
+ do { ... } while (0) idiom.
+
+ * config/alpha/alpha.c (num_source_filenames): Export.
+ * config/alpha/alpha.h (num_source_filenames): Declare.
+ (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+ (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
+ * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+ Always use .debugsym. Update commentary.
+ * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+ (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
+ * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
+ Use new interfaces.
+ * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
+ (macho_branch_islands): Use new interfaces.
+
+ * doc/tm.texi: Update.
+
+2004-10-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * expr.c (emit_group_store): Do not treat floats as BLKmode.
+ (emit_group_load): Same.
+
+2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-parse.in (datadef): Use pedwarn rather than error and warning
+ for diagnostic in case of no declaration specifiers.
+
+2004-10-26 Richard Sandiford <rsandifo@redhat.com>
+
+ PR bootstrap/15747
+ * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
+ reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
+ can be used to work around this.
+
+2004-10-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
+ doubles.
+
+2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (expand_case): Update a comment.
+
+2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (expand_case): Put an assertion that index_expr is
+ never INTEGER_CST. Don't special case for constant
+ index_expr.
+
+2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR 18162
+ * c-parse.in (designator): Finish with a semi-colon.
+
+2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
+ into rotlsi3.
+
+2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
+ a default case only.
+
+2004-10-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
+ e500 doubles.
+ (spe_build_register_parallel): New.
+ (rs6000_spe_function_arg): Handle e500 doubles.
+ (function_arg): Same.
+ (spe_func_has_64bit_regs_p): Same.
+ (rs6000_function_value): Same.
+ (rs6000_libcall_value): Same.
+ (legitimate_lo_sum_address_p): Return false for e500 doubles.
+
+ * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
+ doubles.
+ (DATA_ALIGNMENT): Same.
+ (CANNOT_CHANGE_MODE_CLASS): Same.
+
+2004-10-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * expr.c (emit_group_load): Handle floats.
+ (emit_group_store): Same.
+
+2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-lex.c (get_nonpadding_token): Remove.
+ (c_lex_with_flags): Push timevar and eat padding here. Improve
+ stray token diagnostic.
+ (lex_string): Replace logic with switch statement, eat padding
+ token here.
+
+2004-10-26 Geoffrey Keating <geoffk@apple.com>
+
+ PR 18149
+ * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
+
+2004-10-25 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
+ to 'non-weak'.
+ (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
+ (ASM_MAKE_LABEL_LINKONCE): Delete.
+ (ASM_WEAKEN_DECL): New.
+ (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
+ (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (TEXT_SECTION_ASM_OP): Add a tab.
+ (DATA_SECTION_ASM_OP): Likewise.
+ (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
+ data_section on every section change.
+ (EXTRA_SECTIONS): Add a bunch of new extra sections.
+ (EXTRA_SECTION_FUNCTIONS): Likewise.
+ (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
+ (JCR_SECTION_NAME): Define.
+ (TARGET_SECTION_TYPE_FLAGS): Don't define.
+ * config/darwin.c (darwin_encode_section_info): A symbol is defined
+ in this file if it is not weak.
+ (textcoal_section): Delete.
+ (datacoal_section): Delete.
+ (darwin_make_decl_one_only): Delete.
+ (machopic_select_section): Handle functions.
+ (darwin_asm_named_section): Add a tab.
+ (darwin_section_type_flags): Delete.
+ (darwin_unique_section): Delete contents.
+ (darwin_emit_unwind_label): Add a tab. Make decls weak if
+ DECL_WEAK is set.
+ * config/darwin-protos.h (darwin_section_type_flags): Delete.
+ (darwin_make_decl_one_only): Delete.
+ (text_coal_section): New.
+ (text_unlikely_section): New.
+ (text_unlikely_coal_section): New.
+ (const_coal_section): New.
+ (data_coal_section): New.
+ (const_data_coal_section): New.
+ * varasm.c (function_section): Honour
+ USE_SELECT_SECTION_FOR_FUNCTIONS.
+ * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
+ TARGET_USES_WEAK_UNWIND_INFO is in effect.
+ * dbxout.c (dbxout_source_file): Don't change sections while
+ a function is being output.
+
+2004-10-25 David Ayers <d.ayers@inode.at>
+
+ * c-common.h: Remove RID_ID.
+ * c-parse.in: Remove OBJECTNAME and references to RID_ID.
+ (typespec_reserved_attr): Add rule for TYPENAME
+ non_empty_protocolrefs.
+ (yylexname): Remove special handling of RID_ID.
+
+2004-10-25 James E Wilson <wilson@specifixinc.com>
+
+ * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
+
+2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR c/16667
+ * c-parse.in (array_designator): New.
+ (designator): Use it.
+ (initelt): Only permit array_designator without '=', not ".foo".
+
+2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
+ * gcc/Makefile.in: removed ggc for cgraphunit.
+ * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
+ * gcc/cgraph.h: removed static var analysis data structures and calls.
+ * gcc/cgraphunit.c:
+ cgraph_mark_local_and_external_functions:changed name to
+ cgraph_mark_local_functions
+ (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
+ cgraph_reset_static_var_maps,get_global_static_vars_info,
+ get_global_statics_not_read,get_global_statics_not_written,searchc,
+ cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
+ check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
+ scan_for_static_refs,cgraph_characterize_statics_local,
+ clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
+ removed.
+ (cgraph_optimize,init_cgraph): removed calls to static vars analysis
+ * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
+ analysis
+ * gcc/tree-flow.h static_vars_info: removed
+ * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
+ removed calls to static vars analysis.
+ get_call_expr_operands: removed callee variable.
+
+2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfg.c (unchecked_make_edge, redirect_edge_succ,
+ redirect_edge_pred): Use VEC_safe_push instead of
+ VEC_safe_insert.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+
+2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgloopmanip.c (loopify): Take two more arguments true_edge
+ and false_edge.
+ * cfgloop.h: Adjust the corresponding prototype.
+ * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
+ * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
+
+2004-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
+ DECL_INCOMING_RTL is NULL.
+
+2004-10-25 Steven Bosscher <stevenb@suse.de>
+
+ * timevar.def (TV_FIND_REFERENCED_VARS): New.
+ * tree-dfa.c (pass_referenced_var): Use it.
+
+2004-10-25 Roger Sayle <roger@eyesopen.com>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * cse.c: Change encoding of quantity numbers to avoid undefined
+ pointer arithmetic on qty_table.
+ (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
+ (get_cse_reg_info): Initialize reg_qty to a unique negative value.
+ (new_basic_block): Assign "real" quantity numbers from zero.
+ (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
+ REG_QTY to its unique negative value.
+ (merge_equiv_classes): Calculate need_rehash if quantity is valid.
+ (cse_main): Don't include max_reg when determining max_qty.
+ (cse_basic_block): Avoid subtracting a large offset from qty_table,
+ which causes undefined C99 behaviour. Only allocate needed memory.
+
+2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (expand_case): Remove an obsolete comment.
+
+2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/17407
+ * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
+ layout_type as it is already done by build_array_type.
+ * tree.c (build_array_type): Layout the type even
+
+2004-10-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
+
+2004-10-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
+ with wider-than-32-bit HOST_WIDE_INTs.
+
+2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * config/mips/mips.c(mips_output_filename): Remove unused
+ array ltext_label_name
+
+2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
+
+ * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
+
+2004-10-25 Ben Elliston <bje@au.ibm.com>
+
+ * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
+
+2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * predict.c (predict_loops): Call scev_finalize instead of
+ scev_reset.
+
+2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
+ config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
+ config/sh/ushmedia.h, config/sparc/elf.h,
+ config/sparc/sp64-elf.h: Update copyright.
+
+2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (expand_case): Handle the default label outside of
+ the for loop. Remove code to handle a missing default label.
+
+2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * dbxout.c (dbxout_function_decl): Don't use
+ DBX_OUTPUT_FUNCTION_END.
+ * system.h: Poison DBX_OUTPUT_FUNCTION_END.
+ * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
+
+2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/17967
+ * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
+
+2004-10-23 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-dom.c (record_equality): Use loop depth to determine
+ which way to record the equality as well.
+ (loop_depth_of_name): New function.
+
+2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR middle-end/17793
+ * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
+ through the operand if it is a useless type conversion.
+
+2004-10-23 Ben Elliston <bje@au.ibm.com>
+
+ * cfg.c (remove_edge): Use VEC_unordered_remove.
+ (redirect_edge_succ): Likewise.
+ (redirect_edge_pred): Likewise.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
+ beyond its end.
+
+2004-10-22 Eric Christopher <echristo@redhat.com>
+
+ * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
+ saves.
+
+2004-10-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/spe.md (spe_extendsfdf2): New.
+ (movdf_e500_double): New.
+ (spe_truncdfsf2): New.
+ (spe_absdf2): New.
+ (spe_nabsdf2): New.
+ (spe_negdf2): New.
+ (sub_adddf3): New.
+ (spe_subdf3): New.
+ (spe_muldf3): New.
+ (spe_floatsidf2): New.
+ (spe_floatunssidf2): New.
+ (fix_truncdfsi2): New.
+ (spe_fixuns_truncdfsi2): New.
+
+ * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
+ (fpr_truncdfsf2): New.
+ (negdf2): Change to expander.
+ (fpr_negdf2): New.
+ (fpr_nabsdf2): Name pattern.
+ (adddf3): Change to expander.
+ (fpr_adddf3): Nem.
+ (subdf3): Change to expander.
+ (fpr_subdf3): New.
+ (muldf3): Change to expander.
+ (fpr_muldf3): New.
+ (divdf3): Change to expander.
+ (fpr_divdf3): New.
+ (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
+ (cmpdf): Allow for TARGET_E500_DOUBLE.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-semantics.c (re_push_stmt_list): Remove.
+ * c-common.h: Remove the corresponding prototype.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (asm_op_is_mem_input): Remove.
+ * tree.h: Remove the corresponding prototype.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-gimple.c (is_gimple_constructor_elt): Remove.
+ * tree-gimple.h: Remove the corresponding prototype.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * varasm.c (get_pool_mode_for_function, get_pool_offset):
+ Remove.
+ * rtl.h: Remove the corresponding prototypes.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
+ edge information when we commit ourselves to threading a
+ particular jump.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
+ into worklist instead of their indexes.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
+ final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
+ lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
+ pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
+ tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
+ tree-scalar-evolution.c, tree-ssa-dom.c,
+ tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+ tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
+ tree-vectorizer.c, vec.h: Fix comment formatting.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
+ libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
+
+2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/ptx4.h, config/mcore/mcore-pe.h,
+ config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
+
+2004-10-22 Peter Barada <peter@the-baradas.com>
+
+ * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
+ * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
+ renaming of non-live registers in interrupt functions.
+ * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
+
+2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
+ Use integer for loop counter.
+ (num_ending_zeros): New function.
+ (number_of_iterations_cond): Use num_ending_zeros.
+
+2004-10-21 Aldy Hernandez <aldyh@redhat.com>
+
+ * config.gcc: Add support for --enable-e500_double.
+
+ * config/rs6000/e500-double.h: New file.
+
+ * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
+ TARGET_E500_DOUBLE.
+
+ * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
+ TARGET_E500_DOUBLE.
+
+ * config/rs6000/linuxspe.h: Same.
+
+ * doc/invoke.texi (Option Summary): Document new options for
+ mfloat-gprs.
+ (RS/6000 and PowerPC Options): Same.
+
+ * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
+ function.
+ (rs6000_override_options): Use it. Use
+ SUB3TARGET_OVERRIDE_OPTIONS.
+ Add 8548 to processor_target_table.
+ (rs6000_legitimate_address): Handle e500 doubles.
+ (rs6000_legitimize_address): Same.
+ (rs6000_legitimize_reload_address): Same.
+ (rs6000_hard_regno_nregs): Same.
+ (spe_func_has_64bit_regs_p): Same.
+ (emit_frame_save): Same.
+ (gen_frame_mem_offset): Same.
+ (rs6000_dwarf_register_span): Same.
+ (rs6000_generate_compare): Same.
+ (easy_fp_constant): Same.
+ (legitimate_offset_address_p): Same.
+
+ * config/rs6000/spe.md: (cmdfeq_gpr): New.
+ (tstdfeq_gpr): New.
+ (cmpdfgt_gpr): New.
+ (tstdfgt_gpr): New.
+ (tstdfgt_gpr): New.
+ (cmpdflt_gpr): New.
+ (tstdflt_gpr): New.
+ Add new constants.
+
+2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
+
+2004-10-21 Zack Weinberg <zack@codesourcery.com>
+
+ * dbxout.c: Remove unnecessary #undefs.
+ (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
+ (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
+ definition into use sites.
+ (cwd): Make local to dbxout_init.
+ (dbxout_init): Restructure cwd-using logic for clarity. Use
+ IS_DIR_SEPARATOR.
+ * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
+ STABS_GCC_MARKER folded in here.
+ * system.h: Poison now-unused macros.
+ * doc/tm.texi: Remove documentation of now-unused macros.
+
+2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/17538
+ * c-opts.c (push_command_line_include): Use the current file
+ name instead of the main one.
+
+2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR objc/17923
+ * tree.c (staticp): A CONST_DECL has static storage if either
+ TREE_STATIC or DECL_EXTERNAL is set.
+ * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
+ have null names.
+
+2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (store_expr): Remove dont_store_target.
+
+2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (thread_jumps): Speed up by using a worklist.
+
+2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (thread_jumps): Move a part of it to ...
+ (thread_jumps_from_bb): ... here.
+
+2004-10-21 David Edelsohn <edelsohn@gnu.org>
+
+ * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
+ * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
+
+2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (store_expr): Clean up by renaming want_value to
+ call_param_p.
+
+2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
+ fixup pc here.
+
+2004-10-21 Aldy Hernandez <aldyh@redhat.com>
+
+ PR 18004.
+ * expmed.c (store_bit_field): Pass original 'value' before
+ recursing.
+
+2004-10-21 Nicolas Pitre <nico@cam.org>
+
+ * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
+ * config/arm/ieee754-df.S: Ditto.
+
+2004-10-20 Zack Weinberg <zack@codesourcery.com>
+
+ * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
+ (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
+ Default to 0.
+ (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
+ When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
+ an internal label and an N_SLINE .stabn whose value is the
+ difference between that label and the function entry label.
+ (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
+ but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
+ label and an N_SO stab with an empty string referring to it.
+ (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
+ of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
+ (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
+ (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
+ macro is never defined.
+ * sdbout.c (sdbout_source_line_counter): Delete.
+ (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
+ (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
+ only two arguments.
+ * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
+
+ * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
+ * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
+ definitions (identical to default).
+ * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
+ * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
+ Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
+ DBX_OUTPUT_MAIN_SOURCE_FILE_END.
+ * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
+ * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
+ Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
+ * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
+ * config/alpha/alpha.c: Move declaration of num_source_filenames up.
+ (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
+ (sym_lineno): Delete.
+ (alpha_output_filename): Do not emit N_SOL stabs here. Remove
+ now-unused variable.
+ (alpha_output_lineno): Delete.
+ * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
+ * config/mips/mips.c (mips_output_filename): Don't use
+ ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
+ (mips_output_lineno): Delete.
+ (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
+ * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
+ SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
+ * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
+ * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
+ * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
+ * config/mmix/mmix.h: Likewise.
+ * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
+ * config/mmix/mmix-protos.h: Don't prototype it.
+ * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
+ no need to #undef ASM_OUTPUT_SOURCE_LINE.
+ * config/arm/aout.h: Remove RISCiX-specific definition of
+ DBX_OUTPUT_MAIN_SOURCE_FILENAME.
+ * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
+ ASM_OUTPUT_SOURCE_LINE.
+ * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
+ DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
+ * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
+
+ * doc/tm.texi: Update.
+
+2004-10-20 Richard Henderson <rth@redhat.com>
+
+ * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
+
+2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.ac: Revert my previous patch.
+ * configure: Regenerate.
+
+2004-10-20 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/rs6000.c
+ (rs6000_va_start): Use build_va_arg_indirect_ref.
+ (rs6000_gimplify_va_arg): Likewise.
+
+2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/15575
+ * configure.ac: Declare AM_LANGINFO_CODESET.
+ * aclocal.m4: Define AM_LANGINFO_CODESET.
+ * configure, config.in: Rebuilt.
+
+2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (store_expr): Remove code that is run when
+ want_value & 1 is nonzero.
+
+2004-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
+ from function pointer to void *.
+
+2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/18032
+ * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
+ the frame pointer adjustment when exception handling is enabled.
+
+2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stor-layout.c: Fix a comment typo.
+
+2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (store_field): Remove two arguments value_mode and
+ unsignedp.
+ (expand_assignment, store_constructor_field,
+ expand_expr_real_1): Adjust calls to store_field.
+
+2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
+
+ * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
+
+ PR target/17317
+ * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
+ REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
+ base and index register for loads.
+
+ * config/arc/t-arc: Fix multilib handling.
+
+2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
+ don't inspect BLOCK_FOR_INSN for barriers.
+ * emit-rtl.c (emit_barrier_before): Revert last change.
+ (emit_barrier_after, emit_barrier): Ditto.
+
+ * doc/extend.texi (Extended Asm): Warn and provide example
+ solution for using a call-clobbered asm register.
+ (Local Reg Vars): Similar. Cross-reference example.
+
+2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-cfg.c (group_case_labels): Look at the second to last
+ case statement for combing with the default case.
+
+2004-10-19 Richard Hendeson <rth@redhat.com>
+
+ PR 17962
+ * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
+
+2004-10-19 Richard Hendeson <rth@redhat.com>
+
+ * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
+ succeeds, only expand the result.
+
+2004-10-19 Richard Hendeson <rth@redhat.com>
+
+ PR middle-end/17885
+ * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
+ of INDIRECT_REF.
+
+2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
+ loop with goto.
+
+2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (expand_assignment): Remove the last argument.
+ Change the return type to void.
+ * expr.h: Update the prototype of expand_assignment.
+ * function.c (assign_parm_setup_reg): Update a call to
+ expand_assignment.
+ * stmt.c (expand_asm_expr): Likewise.
+
+2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
+ unnecessary assignments to temp. Return const0_rtx.
+
+2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh5_schedule_saves): Fix typo.
+
+2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.ac (powerpc-*-darwin*): Require assembler to support
+ .machine directive.
+ * configure: Regenerate.
+
+2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reload1.c (ior_hard_reg_set): Remove.
+ (finish_spills): Use IOR_HARD_REG_SET instead of
+ ior_hard_reg_set.
+
+2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
+ the currently visited word to right.
+
+2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR middle-end/18045
+ * expmed.c (expand_smod_pow2): Handle modes whose size
+ is greater than that of HOST_WIDE_INT.
+
2004-10-18 Ziemowit Laski <zlaski@apple.com>
* c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
- Roger Sayle <roger@eyesopen.com>
+ Roger Sayle <roger@eyesopen.com>
PR middle-end/17813
* dojump.c (discard_pending_stack_adjust): New function.
2004-10-18 Richard Henderson <rth@redhat.com>
- * c-common.c (handle_mode_attribute): Allow scalar->vector
+ * c-common.c (handle_mode_attribute): Allow scalar->vector
type changes yet.
2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
* params.def: Add parameter to restrict the number of expansions.
* params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
the number of expansions.
- * common.opt: (fvariable-expansion-in-unroller): New flag.
+ * common.opt: (fvariable-expansion-in-unroller): New flag.
* doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
Revert:
2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
- * c-typeck.c (default_function_array_conversion): Always create
- &a[0] for array types.
- (build_unary_op): Do not fold &a[x] into a + x.
+ * c-typeck.c (default_function_array_conversion): Always create
+ &a[0] for array types.
+ (build_unary_op): Do not fold &a[x] into a + x.
2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
* tree.h (struct pointer_set_t): Declare as opaque type.
(tree_walk): Last argument is pointer_set_t* now.
* tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
- (walk_type_fields):
+ (walk_type_fields):
(walk_tree): Convert from htab_t to pointer_set_t for keeping
track of which nodes have already been visited.
(walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
(tree-inline.o): Depends on pointer-set.h
(tree-dfa.o): Likewise
(cgraphunit.o): Likewise
-
+
2004-10-14 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/darwin.h (ASM_SPEC): Delete.
PR 17635
* tree-if-conv.c (process_phi_nodes): Process latch block.
(combine_blocks): Process latch block and update loop structure.
-
+
2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
* tree-vectorizer.c (vect_generate_tmps_on_preheader):
(tree_duplicate_loop_to_edge_cfg):
(add_loop_guard):
(vect_analyze_loop_with_symbolic_num_of_iters):
- (verify_loop_for_duplication):
+ (verify_loop_for_duplication):
(vect_gen_niters_for_prolog_loop):
(vect_update_niters_after_peeling):
(vect_update_inits_of_dr):
(vect_build_loop_niters):
(vect_do_peeling_for_alignment): New functions.
(vect_transform_loop): Add unknown and known but indivisible loop
- bound support; add peeling for unalignment support.
+ bound support; add peeling for unalignment support.
(vect_analyze_loop_form): Support symbolic number of iterations.
(vect_transform_loop_bound): New input parameter.
(vect_get_loop_niters): Change input parameter type.
(vectorize_loops): Add rewrite_into_loop_closed_ssa.
(vect_analyze_data_refs_alignment): Allowed one unaligned
store.
- * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
+ * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
to use tree.
(LOOP_VINFO_INT_NITERS): New macro.
(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2004-10-13 Richard Henderson <rth@redhat.com>
- PR c/17384
- * c-common.c (handle_mode_attribute): Disallow mode changes that
- alter the CODE of the top-level type.
-
- * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
- integer from internal limits macros.
- * config/i386/mm3dnow.h (__v2sf): Fix base type.
+ PR c/17384
+ * c-common.c (handle_mode_attribute): Disallow mode changes that
+ alter the CODE of the top-level type.
+
+ * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
+ integer from internal limits macros.
+ * config/i386/mm3dnow.h (__v2sf): Fix base type.
2004-10-13 Richard Henderson <rth@redhat.com>
-
- PR debug/13841
- * function.c (instantiate_decl): Recurse for CONCAT.
+
+ PR debug/13841
+ * function.c (instantiate_decl): Recurse for CONCAT.
2004-10-13 David Edelsohn <edelsohn@gnu.org>
* Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
* cfgloop.c (initialize_loops_parallel_p): New.
- (flow_loops_find): Initialize the parallel_p field to true for all
+ (flow_loops_find): Initialize the parallel_p field to true for all
the loops.
* tree-ssa-loop-niter.c: Include "tree-data-ref.h".
- (estimate_numbers_of_iterations_loop): Infers the loop bounds from
+ (estimate_numbers_of_iterations_loop): Infers the loop bounds from
the size of the data accessed in the loop.
- (struct nb_iter_bound): Moved...
+ (struct nb_iter_bound): Moved...
* cfgloop.h (struct nb_iter_bound): ... here.
(estimated_nb_iterations, parallel_p): New fields in struct loop.
(record_estimate): Declare extern here.
* tree-chrec.c: Fix comments.
(nb_vars_in_chrec): New function.
* tree-chrec.h (nb_vars_in_chrec): Declared here.
- * tree-data-ref.c: Don't include lambda.h, that is already included
+ * tree-data-ref.c: Don't include lambda.h, that is already included
in tree-data-ref.h.
(tree_fold_divides_p): Don't check for integer_onep.
(tree_fold_bezout): Removed.
(gcd): New static duplicated function.
(int_divides_p, dump_subscript): New.
(dump_data_dependence_relation): Use dump_subscript.
- (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
+ (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
estimate_niter_from_size_of_data): New.
- (analyze_array_indexes, analyze_array): Call
- estimate_niter_from_size_of_data during the detection of array
- references. Pass in a pointer to the statement that contains the
+ (analyze_array_indexes, analyze_array): Call
+ estimate_niter_from_size_of_data during the detection of array
+ references. Pass in a pointer to the statement that contains the
array reference.
(all_chrecs_equal_p): New.
(compute_distance_vector): Renamed compute_subscript_distance.
Deal with multivariate conflict functions.
- (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
+ (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
(non_affine_dependence_relation): New.
- (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
- analyze_siv_subscript, analyze_miv_subscript,
- analyze_overlapping_iterations, subscript_dependence_tester):
+ (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
+ analyze_siv_subscript, analyze_miv_subscript,
+ analyze_overlapping_iterations, subscript_dependence_tester):
Initialize and return last_conflicts function.
(initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
compute_overlap_steps_for_affine_1_2): New.
(analyze_siv_subscript_affine_cst): Removed.
- (analyze_subscript_affine_affine): Disprove dependences based on the
- iteration domains. Solve the univariate dependence case as before,
+ (analyze_subscript_affine_affine): Disprove dependences based on the
+ iteration domains. Solve the univariate dependence case as before,
but use lambda_matrix_right_hermite instead of tree_fold_bezout.
Implement the multivariate case of 2 versus 1 variables.
- (build_classic_dist_vector, build_classic_dir_vector): Implement some
+ (build_classic_dist_vector, build_classic_dir_vector): Implement some
unhandled cases.
- (find_data_references_in_loop): Compute and initialize
+ (find_data_references_in_loop): Compute and initialize
loop->estimated_nb_iterations and loop->parallel_p.
(analyze_all_data_dependences): Modify the debug dump order.
* tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
- (SUB_LAST_CONFLICT, subscript->last_conflict,
+ (SUB_LAST_CONFLICT, subscript->last_conflict,
data_dependence_relation->affine_p, data_dependence_relation->size_vect,
DDR_AFFINE_P, DDR_SIZE_VECT): New.
(find_data_references_in_loop, initialize_data_dependence_relation,
PR 17892
* tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
(simplify_rhs_and_lookup_avail_expr): Disallow associativity
- and constant folding of floating point MULT_EXPR/PLUS_EXPR
+ and constant folding of floating point MULT_EXPR/PLUS_EXPR
expressions.
2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
PR middle-end/17657
* stmt.c (add_case_node): Add additional type argument. Declare
as static to match prototype. Convert the upper and lower bounds
- to the specified index type. Optimize away case ranges/values
+ to the specified index type. Optimize away case ranges/values
that are outside the index type's bounds. Truncate case ranges
that span the index type's bounds.
(expand_case): Avoid unnessary computation and memory allocation