+2003-08-19 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/11924
+ * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
+ (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
+
+2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
+
+ PR c/11207
+ * c-typeck.c (set_init_index): Check for negative index.
+
+2003-08-18 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
+ call0 ABI.
+ * config/xtensa/crtn.asm (_init, _fini): Likewise.
+ * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
+ __umodsi3, __modsi3): Likewise.
+ * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
+ $(INCLUDES).
+
+2003-08-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/spe.md ("*nabssf2_gpr"): New.
+
+2003-08-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Quote C code in braces. Remove use of
+ fake const0_rtx operands. Remove double backslashes. Use \;.
+ Remove workarounds for bogus warnings.
+
+2003-08-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
+ (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
+ rather than TARGET_MIPS4300.
+ (mulsf3_internal, mulsf3_r4300): Likewise.
+
+2003-08-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Renumber unspecs. Clean up comments.
+
+2003-08-17 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (associative_constant_p): New function to test
+ whether an RTX expression is an immediate constant.
+ (simplify_associative_operation): New function to perform some
+ reassociation optimizations of associative binary expressions.
+ (simplify_binary_operation): Use simplify_associative_operation
+ to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
+ Floating point expressions are only reassociated when unsafe
+ math optimizations are permitted.
+
+2003-08-17 Andreas Jaeger <aj@suse.de>
+
+ * config/alpha/alpha.md: Remove usage of PARAMS.
+
+ * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
+ * config/i386/i386-interix.h: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/i386/cygming.h: Likewise.
+ * config/i386/cygwin2.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin-protos.h: Likewise.
+ * config/darwin.h: Likewise.
+ * config/s390/s390-protos.h: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/ia64/ia64.c: Likewse
+ * config/ia64/ia64-protos.h: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+
+2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/sparc/sparc.c: Convert to ISO C.
+
+ * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
+ * config/sparc/sparc.c: Likewise.
+
+2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/11512
+ * stmt.c (expand_expr_stmt_value): Don't warn about any void
+ typed expression.
+
+2003-08-16 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_fntype_regparm): Rename from ...
+ (ix86_function_regparm): ... this one; add fastcall and local
+ functions.
+ (ix86_function_ok_for_sibcall): Update.
+ (ix86_return_pops_args): Likewise.
+ (init_cumulative_args): Likewise.
+ (x86_can_output_mi_thunk): Likewise.
+ (function_arg): Fix formating.
+ (x86_this_parameter): Fix fastcall.
+ (x86_output_mi_thunk): Likewise.
+
+ * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
+ body as reachable; mark nested functions as needed too.
+ (dump_cgraph): Do not output global.calls.
+ * cgraph.h (cgraph_global_info): Kill.
+ * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
+ (record_call_1): Speedup.
+ (cgraph_analyze_function): Break out from ...; compute inlining
+ parameters.
+ (cgraph_finalize_compilation_unit): ... here.
+ (cgraph_mark_inline): Kill computation of calls.
+ (cgraph_decide_inlining): Do not compute most of initial values.
+
+2003-08-14 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
+ to negate if either operand is easy to negate, if we don't care
+ about sign-dependent rounding.
+ (negate_expr): Make the logic to negate a REAL_CST explicit.
+ Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
+ that's easy to negate, if we don't honor sign-dependent rounding.
+ (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
+ negate, and the symmetric A * -B as -A * B if A is easy to negate.
+ (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
+ -C/D if B and C are cheap to negate. Add an explicit rule to
+ optimize X/-1.0 as -X when we don't care about signaling NaNs.
+
+2003-08-14 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in (tm_file): Rename tm_include_list.
+ (tm_p_file): Rename tm_p_include_list.
+ (build_xm_file): Rename build_xm_include_list.
+ (host_xm_file): Rename host_xm_include_list.
+ (xm_file): Rename xm_include_list.
+ (xm_file_list): Add to be substituted.
+ (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
+ Update to match.
+ (bt-load.o): Add missing dependency on $(TM_H).
+ * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
+ For each of tm_file, tm_p_file, xm_file, host_xm_file, and
+ build_xm_file, generate both *_file_list and *_include_list
+ values from it. (xm_file_list was formerly not being generated.)
+ In *_include_list, prefix the names of all headers found in
+ $(srcdir)/config with config/. In each loop, consider only
+ the special case files that can actually appear in that list.
+ AC_SUBST all *_file_list and all *_include_list variables; do
+ not AC_SUBST the plain *_file variables.
+ * configure: Regenerate.
+
+2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
+
+2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
+ direct calls.
+ (attr_length_call): Include it here. Improve length estimate for
+ local calls.
+ (output_call): Use targetm.binds_local_p.
+
+2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (CASE_MATHFN): New helper macro.
+ (mathfn_built_in): Simplify and sort.
+
+ * protoize.c (substr): Delete, callers changed to `strstr'.
+
+2003-08-13 Zack Weinberg <zack@codesourcery.com>
+
+ * config.gcc (iq2000*-*-elf*): Don't set xm_file.
+ * config/iq2000/xm-iq2000.h: Delete file.
+
+2003-08-13 Geoffrey Keating <geoffk@apple.com>
+
+ * gengtype.c (walk_type): Process a subobject before processing
+ the pointer that points to the subobject.
+
+2003-08-13 Per Bothner <pbothner@apple.com>
+
+ * regclass.c (init_reg_modes): Make non-static.
+ Rename to init_reg_modes_once per new naming convention.
+ (init_regs): Don't call init_reg_modes here.
+ * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
+ * rtl.h (init_reg_modes_once): New declaration.
+ * toplev.c (backend_init): Call init_regs after init_emit_once.
+
+2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
+ special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
+
+2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
+ * sh.md (load_ra): Change insn predicate to TARGET_SH1.
+
+2003-08-13 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
+ handling of decrement-and-branch farther than 32 bits.
+
+2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * configure.in (make_compare_target): Move test to ...
+ * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
+ * configure: Regenerate.
+
+2003-08-12 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/iris6.h: Convert to C90 prototypes.
+ * config/mips/irix6-libc-compat.c: Likewise.
+ * config/mips/mips-protos.h: Likewise.
+ * config/mips/mips.c: Likewise.
+
+2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
+ for selected machines. Comment heavily.
+ fixinc/fixincl.x: Rebuild.
+ fixinc/tests/base/fs/rfs/rf_cache.h: New file.
+
+2003-08-12 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h: Tweak various comments.
+ * config/mips/mips.c: Likewise.
+
+2003-08-11 James E Wilson <wilson@tuliptree.org>
+
+ PR optimization/11319
+ PR target/10021
+ * alias.c (find_base_value, case REG): Return 0 not src if no base
+ found.
+
+2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcse.c (gmalloc): Fix last change.
+
+2003-08-11 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (simplify_binary_operation): Replace calls to
+ gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
+ and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
+ gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
+
+2003-08-11 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
+ * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
+ typecode for an ABS_EXPR.
+
+ * doc/c-tree.texi: Document ABS_EXPR.
+
+2003-08-11 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold): Optimize any associative floating point
+ operator with -funsafe-math-optimizations, not just MULT_EXPR.
+
+2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
+ information in SHmedia case too.
+ (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
+ Likewise.
+ (__set_fpscr): Use an access via GOT for PIC case.
+
+2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * configure.in (intermodule): Make switch test more portable.
+ * configure: Regenerate.
+
+2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
+ (restrap): Likewise.
+
+2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
+ (grealloc): Size argument is a size_t.
+ (gcalloc): New function. Use throughout in lieu of
+ gmalloc/memset.
+
+ * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
+ xmalloc/memset.
+ * config/ia64/ia64.c (ia64_reorg): Likewise.
+ * conflict.c (conflict_graph_new): Likewise.
+ * fixinc/fixincl.c (run_compiles): Likewise.
+ * genattrtab.c (optimize_attrs): Likewise.
+ * genrecog.c (new_decision): Likewise.
+ * haifa-sched.c (schedule_block): Likewise.
+ * hashtable.c (ht_create): Likewise.
+
+2003-08-11 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib2funcs.S: Fix whitespace.
+ * config/xtensa/xtensa.md (all insns and expanders): Use brace block
+ syntax where appropriate. Remove unnecessary backslash escapes.
+ Reformat comments and fix some code formatting.
+ (extendqisi2): Rearrange conditional.
+ (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
+ *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
+ of fatal_insn.
+
+2003-08-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c: Various formatting fixes.
+ (override_options): Resync -mtune handling with gas.
+ (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
+ * config/mips/mips.h: More formatting fixes.
+ (mips_abi): Move declaration.
+ * config/mips/mips.md (exception_receiver): Add mode to
+ unspec_volatile.
+
+2003-08-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
+ evsplatfi here.
+ (bdesc_1arg): Remove evsplati and evsplatfi.
+
+2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
+ into account.
+
+2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_strcat): Optimize constant strings.
+
+2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * pretty-print.c (pp_base_indent): Rename from pp_indent.
+ * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
+ (struct c_pretty_print_info): Add more fields.
+ (pp_c_left_paren): Move to c-pretty-print.c.
+ (pp_c_right_paren): Likewise.
+ (pp_c_left_brace): Likewise.
+ (pp_c_right_brace): Likewise.
+ (pp_c_left_bracket): Likewise.
+ (pp_c_right_bracket): Likewise.
+ (pp_c_declarator): Declare.
+ (pp_c_direct_declarator): Likewise.
+ (pp_c_specifier_qualifier_list): Likewise.
+ (pp_c_type_id): Likewise.
+ * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
+ (pp_c_type_qualifier_list): New.
+ (pp_c_pointer): Likewise.
+ (pp_c_parameter_type_list): Likewise.
+ (pp_c_function_definition): Likewise.
+ (pp_c_id_expression): Likewise.
+ (pp_c_simple_type_specifier): Tidy.
+ (pp_c_unary_expression): Likewise.
+ (pp_c_expression): Likewise.
+ (pp_c_pretty_printer_init): Likewise.
+ (pp_c_specifier_qualifier_list): Rework..
+ (pp_c_abstract_declarator): Likewise.
+ (pp_c_postfix_expression): Likewise.
+ (pp_c_primary_expression): Likewise.
+ (pp_c_cast_expression): Likewise.
+ (pp_c_direct_abstract_declarator): Likewise.
+ (pp_c_storage_class_specifier): Likewise.
+ (pp_c_function_specifier): Likewise.
+ (pp_c_declaration_specifiers): Likewise.
+ (pp_c_direct_declarator): Likewise.
+ (pp_c_declarator): Likewise.
+ (pp_c_declaration): Likewise.
+ (pp_c_statement): Likewise.
+ (pp_c_integer_constant): Rename from pp_c_integer_literal.
+ (pp_c_character_constant): Rename from pp_c_character_literal.
+ (pp_c_bool_constant): Rename from pp_c_bool_literal.
+ (pp_c_enumeration_constant): Rename from pp_c_enumerator.
+ (pp_c_floating_constant): Rename from pp_c_real_literal.
+ (pp_c_constant): Rename from pp_c_literal.
+ * c-lang.c: Include diagnostic.h and c-pretty-print.h
+ (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
+ (c_initialize_diagnostics): New.
+ * Makefile.in (c-lang.o): Update dependency.
+
2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
* c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
2003-08-09 Per Bothner <pbothner@apple.com>
- * cppinit.c (cpp_read_main_file): Split out source-independent
- initialization to separate function ...
- (cpp_post_options): New function.
- * cppfiles.c (cpp_stack_file): Rename public name to ...
- (_cpp_stack_file): New internal function name.
- * cpplib.h: Update accordingly.
- * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
- (cpp_read_main_file): Don't initialize line here.
- * c-opts.c (c_common_post_options): Call cpp_post_options.
- (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
- * fix-header.c (read_scan_file): Call cpp_post_options.
-
+ * cppinit.c (cpp_read_main_file): Split out source-independent
+ initialization to separate function ...
+ (cpp_post_options): New function.
+ * cppfiles.c (cpp_stack_file): Rename public name to ...
+ (_cpp_stack_file): New internal function name.
+ * cpplib.h: Update accordingly.
+ * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
+ (cpp_read_main_file): Don't initialize line here.
+ * c-opts.c (c_common_post_options): Call cpp_post_options.
+ (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
+ * fix-header.c (read_scan_file): Call cpp_post_options.
+
2003-08-09 Per Bothner <per@bothner.com>
* c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
2003-08-08 Richard Henderson <rth@redhat.com>
- PR target/11535
- * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
- RETURN_ADDRESS_POINTER_REGNUM.
- (ia64_expand_prologue): Don't frob it.
- (ia64_output_function_epilogue): Likewise.
- (ia64_return_addr_rtx): New.
- (ia64_split_return_addr_rtx): New.
- * config/ia64/ia64-protos.h: Update.
- * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
- (RETURN_ADDRESS_POINTER_REGNUM): Remove.
- (GENERAL_REGNO_P): Don't check it.
- (AR_*_REGNUM): Renumber.
- (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
- (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
- (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
- (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
- (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
- * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
- (movdi_ret_addr): New.
+ PR target/11535
+ * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
+ RETURN_ADDRESS_POINTER_REGNUM.
+ (ia64_expand_prologue): Don't frob it.
+ (ia64_output_function_epilogue): Likewise.
+ (ia64_return_addr_rtx): New.
+ (ia64_split_return_addr_rtx): New.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
+ (RETURN_ADDRESS_POINTER_REGNUM): Remove.
+ (GENERAL_REGNO_P): Don't check it.
+ (AR_*_REGNUM): Renumber.
+ (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
+ (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
+ (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
+ (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
+ (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
+ * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
+ (movdi_ret_addr): New.
2003-08-08 Geoffrey Keating <geoffk@apple.com>
2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
* configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
- and gcc_cv_prog_cmp_skip.
+ and gcc_cv_prog_cmp_skip.
* configure: Regenerate.
2003-08-08 Stan Cox <scox@redhat.com>