+2003-11-11 James E Wilson <wilson@specifixinc.com>
+
+ * expmed.c (store_bit_field, extract_bit_field): Revert last two
+ changes.
+
+2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/lib1funcs.asm: Replace DenHighZero with
+ DenHighNonZero.
+
+2003-11-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
+ really_no_inline.
+
+2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
+ generating 64-bit code.
+
+2003-11-10 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
+ accidental commit in previous change.
+
+2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
+ * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
+ address recognition.
+ (macho_lo_sum_memory_operand): Routine to recognize macho-style
+ address recognition.
+
+2003-11-10 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
+
+2003-11-10 Matt Austern <austern@apple.com>
+
+ * config/darwin-protos.h (darwin_assemble_visibility): Declare.
+ * config/darwin.c (darwin_assemble_visibility): Define. Warn for
+ anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
+ * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
+ darwin_assemble_visibility instead of default.
+
+2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
+
+ PR target/12865
+ * config/sparc/sparc.c (sparc_initialize_trampoline): Call
+ __enable_execute_stack only after writing onto the stack.
+ (sparc64_initialize_trampoline): Likewise.
+
+2003-11-09 Roger Sayle <roger@eyesopen.com>
+
+ * loop.c (check_dbra_loop): Try swapping the comparison operands
+ of the loop condition to identify a suitable induction variable.
+ * unroll.c (loop_iterations): Likewise.
+
+2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
+ sparc64 #cpu and #machine assertions.
+
+2003-11-09 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
+
+2003-11-09 Jan Hubicka <jh@suse.cz>
+
+ * tree-optimize.c (tree_rest_of_compilation): Fix warning.
+
+ * cgraphunit.c (cgraph_expand_function): Use
+ cgraph_possibly_inlined_p.
+ * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
+
+ * opts.c (common_handle_option): Do not set max-inline-insns.
+ * params.def: Update comments.
+ (PARAM_MAX_INLINE_INSNS): Kill.
+ * invoke.texi (max-inline-insns): Kill.
+
+2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR c/3190
+ PR c/8714
+ * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
+ * invoke.texi: Update.
+
+2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR optimization/12630
+ * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
+ Handle length computation 64-bit moves.
+ (compute_clrstr_length, output_block_clear): Implement block clear.
+ (output_block_move): Handle 64-bit moves.
+ (pa_adjust_insn_length): Use compute_movstr_length and
+ compute_clrstr_length.
+ * pa.md (movstrsi): Revise operand order and comments. Don't use
+ match_scratch.
+ (movstrsi_internal): Delete.
+ (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
+ and peephole2 patterns to transform prereload to postreload form.
+ (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
+ clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
+ clrstrdi_postreload): New patterns for 64-bit block move, and block
+ clear.
+ * pa-protos.h (output_block_clear): New prototype.
+
+2003-11-08 Andreas Schwab <schwab@suse.de>
+
+ * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
+ XCOFF_DEBUGGING_INFO.
+
+2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
+
+2003-11-07 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
+ redundant parens.
+
+ * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
+ (find_file_in_dir): Likewise.
+ (_cpp_find_file): Print message if no header file is found
+ but an invalid PCH file was.
+
+2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
+ expressions as lvalues.
+ (internal_build_compound_expr): Remove special handling for
+ non-pedantic case.
+ * doc/extend.texi: Document that all extended lvalues are now
+ deprecated.
+
+2003-11-07 Geoffrey Keating <geoffk@apple.com>
+
+ PR 11654
+ * dbxout.c (struct dbx_file): Do not save for PCH.
+ (current_file): Likewise.
+ (dbxout_init): Don't allocate struct dbx_file using GC.
+ (dbxout_start_source_file): Likewise.
+
+2003-11-07 Falk Hueffner <falk@debian.org>
+
+ * config/alpha/elf.h, config/alpha/unicosmk.h,
+ config/alpha/vms.h: Convert to ISO C90.
+
+2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config/arm/pe.h: Convert to ISO C90.
+
+2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh-protos.h (sh_pch_valid_p): Declare.
+ * sh.c ("intl.h"): Include.
+ (TARGET_PCH_VALID_P): Override.
+ (sh_target_switches): New variable.
+ (target_switches): Define.
+ (sh_pch_valid_p): New function.
+
+ * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
+
+2003-11-07 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (x86_64_sign_extended_value): Return false from tls variables.
+ (x86_64_zero_extended_value): likewise.
+
+2003-11-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (loadgp): Take $25 as a second operand.
+ * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
+
+2003-11-06 Matt Austern <austern@apple.com>
+
+ * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
+ field instead of hanging an attribute object off the decl.
+ * tree.h (DECL_VISIBLITY): New accessor macro for
+ symbol_visibility field in struct tree_decl.
+ (enum symbol_visibility): Move definition to before tree_decl.
+ (struct tree_decl): Define new two-bit field, symbol_visibility.
+ (decl_visibility): Remove declaration.
+ * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
+ instead of decl_visibility.
+ (default_binds_local_p_1): Use DECL_VISIBILITY instead of
+ decl_visibility.
+ (decl_visibility): Remove.
+
+2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
+ where register 14 will be saved.
+
+2003-11-06 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
+ (USE_ALTIVEC_FOR_ARG_P): Likewise.
+ * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
+ Take a pointer as the CUM parameter. Update callers.
+ (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
+ 32-bit ABIs.
+ (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
+ of vector parameters as named arguments of stdarg function.
+ (function_arg): Likewise.
+
+ * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
+ -maltivec is specified, not the non-existent -faltivec.
+
+2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_function_value): Declare.
+ * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
+ (s390_return_in_memory): New function.
+ (s390_function_value): New function.
+ (s390_function_arg_float): Return false for all arguments larger
+ than 8 bytes.
+ (s390_function_arg_pass_by_reference): Likewise. Return true for
+ all vector arguments.
+ (s390_function_arg_integer): New function.
+ (s390_function_arg_advance): Call it. Add sanity checks.
+ (s390_function_arg): Likewise.
+ * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
+ (LIBCALL_VALUE): Likewise.
+ (RET_REG): Remove.
+ (RETURN_IN_MEMORY): Remove.
+
+2003-11-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
+ return type to HOST_WIDE_INT.
+ * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
+ Make initialized a bool. Make register masks unsigned ints.
+ (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
+ where appropriate.
+ (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
+ (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
+
+2003-11-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
+ negation.
+
+2003-11-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
+
+2003-11-06 Momchil Velikov <velco@fadata.bg>
+
+ * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
+ for VR4111 too.
+
+2003-11-06 Jan Hubicka <jh@suse.cz>
+
+ * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
+ missing casts.
+
+2003-11-06 Zack Weinberg <zack@codesourcery.com>
+
+ * genmodes.c: Change the word "bitsize" to "precision" throughout.
+ * machmode.def: Likewise.
+ * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
+ (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
+ (GET_MODE_PRECISION): New macro.
+ (mode_bitsize): Renamed mode_precision.
+ * stor-layout.c (mode_for_size, smallest_mode_for_size):
+ Use GET_MODE_PRECISION; clarify comments.
+
+2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * doc/install-old.texi: Remove old documentation of building
+ cross-compilers.
+ * doc/install.texi: Move some of it to here.
+
+2003-11-05 Per Bothner <pbothner@apple.com>
+
+ PR preprocessor/12891
+ * c-opts.c (finish_options): Set include_cursor to disable premature
+ calls to push_command_line_include from cpp_scan_nooutput.
+ Fixes bug reported by DJ Delorie.
+
+2003-11-05 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
+ code supporting old-style varargs.
+
+ * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
+ an intermediate register for better optimisation.
+
+2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR optimization/10080
+ * cfgloopanal.c (variable_initial_value, variable_initial_values,
+ simple_loop_exit_p): Record the fact that initial value is extended
+ from inner mode.
+ (count_strange_loop_iterations, count_loop_iterations): Handle
+ ivs that iterate in a narrower mode. Fix handling of overflows.
+ Improve handling of NE conditions.
+ (inverse, fits_in_mode_p): New static functions.
+ (simple_increment): Detect variables that iterate in a narrower mode.
+ * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
+
+2003-11-05 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
+ error.
+
+ * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
+ needs VRSAVE.
+
+2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
+ conditional expressions as lvalues.
+
+2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tsystem.h: Add the prototype of strlen.
+ * unwind-pe.h (read_encoded_value_with_base): Add an
+ appropriate cast to handle a case where the pointer size is
+ smaller than sizeof (int).
+
+2003-11-04 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
+ (mips_delegitimize_address): Delete.
+ (mips_gotoff_global, mips_load_got_page): Declare.
+ (mips_load_got_global, mips_rewrite_small_data): Declare.
+
+ * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
+ (DANGEROUS_FOR_LA25_P): Use global_got_operand.
+ (PREDICATE_CODES): Add global_got_operand, local_got_operand and
+ small_data_pattern. Remove CONST from const_arith_operand's entry.
+
+ * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
+ (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
+ (mips_constant_type): Delete.
+ (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
+ SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
+ (NUM_SYMBOL_TYPES): New macro.
+ (mips_address_type): Remove ADDRESS_INVALID.
+ (machine_function): Add has_gp_insn_p.
+ (mips_constant_info): Delete.
+ (mips_address_info): Add the address type as an extra field. Replace
+ the c field with symbol_type.
+ (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
+ (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
+ (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
+ (mips_split_const, mips_symbolic_constant_p): New functions.
+ (mips_symbolic_address_p): Take the symbol type and mode as arguments.
+ (mips_classify_address): Return true if the address is valid, storing
+ its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
+ to test whether a LO_SUM address is allowed.
+ (mips_symbol_insns): Return 0 for general mips16 symbols.
+ Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
+ Handle the new SYMBOL_GOTOFF_*s.
+ (mips_address_insns): Update call to mips_classify_address.
+ (mips_const_insns): Be more fussy about HIGH constants. Remove use
+ of mips_classify_constant. Be more accurate about CONSTs.
+ (mips_global_pic_constant_p): Delete.
+ (const_arith_operand): Only accept CONST_INTs.
+ (call_insn_operand): Remove call to mips_classify_constant.
+ Let mips_symbolic_constant_p check for invalid offsets.
+ (move_operand): Check for general_operands first. Only accept symbolic
+ constants if they satisfy mips_symbolic_constant_p and cannot be split.
+ (symbolic_constant): Use mips_symbolic_constant_p.
+ (global_got_operand, local_got_operand): New predicates.
+ (stack_operand): Update call to mips_classify_address.
+ (mips_legitimate_address_p): Likewise.
+ (mips_reloc, mips_lui_reloc): Delete.
+ (mips_force_temporary): Only use the given temporary if no_new_pseudos.
+ Use emit_move_insn.
+ (mips_split_symbol, mips_unspec_address): New functions.
+ (mips_unspec_offset_high): New function.
+ (mips_load_got): Replace reloc argument with a symbol_type.
+ Use mips_unspec_address to create the address and put it in a
+ LO_SUM with the base register.
+ (mips_load_got16, mips_load_got32): Delete.
+ (mips_emit_high, mips_legitimize_symbol): Delete.
+ (mips_gotoff_global): New function.
+ (mips_load_got_page, mips_load_got_global): New functions.
+ (mips_legitimize_symbol): Inline handling of LO_SUM splits.
+ (mips_legitimize_const_move): Likewise. Remove HIGH handling.
+ Inline code to handle constants plus invalid offsets. Use
+ mips_split_symbol to legitimize constant pool addresses.
+ (mips_delegitimize_address): Delete.
+ (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
+ a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
+ (mips_subword): Pass memrefs through mips_rewrite_small_data.
+ (mips_output_move): Remove use of mips_classify_constant.
+ (mips_expand_call): Use mips_unspec_offset_high to calculate the
+ high part of the GOT address for calls to global functions.
+ (override_options): Initialize mips_split_p[], mips_lo_relocs[]
+ and mips_hi_relocs[].
+ (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
+ Remove use of mips_classify_constant.
+ (mips_reloc_string): Delete.
+ (print_operand_reloc): New function.
+ (print_operand_address): Update call to mips_classify_address.
+ (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
+ (small_data_pattern): New predicate.
+ (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
+ (mips_function_has_gp_insn): New function.
+ (mips_global_pointer): Use it.
+ (mips_gp_insn): Delete.
+ (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
+ single loadgp pattern to initialize $gp. Pass it the offset of _gp
+ from the start of the current function.
+ (mips16_gp_pseudo_reg): Revert last patch.
+
+ * config/mips/mips.md (RELOC_*): Delete.
+ (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
+ (got): New insn attribute.
+ (type): Set to "load" if got == load.
+ (length): Set to 4 if got == load, 8 if got == xgot_high.
+ (lui[sd]i): Delete.
+ (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
+ (*got_disp[sd]i, *got_page[sd]i): Likewise.
+ (*low[sd]i): Change constraints to "d". Add a new define_split to
+ rewrite small data constants into LO_SUMs.
+ (loadgp): New insns.
+
+2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
+
+2003-11-04 DJ Delorie <dj@redhat.com>
+
+ * config/v850/v850.md (mulhisi3): Expand the const_int case
+ separately to avoid trying to sign extend the const.
+
+2003-11-04 Richard Sandiford <rsandifo@redhat.com>
+
+ * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
+ addresses to be shared.
+ (force_const_mem): Return a copy of the pool entry.
+
2003-11-03 Andreas Jaeger <aj@suse.de>
* Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.