+2004-02-24 Richard Henderson <rth@redhat.com>
+
+ * toplev.c (dump_file_tbl): Rename from dump_file.
+ * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
+ cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
+ config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
+ config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
+ loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
+ ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
+ toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
+ s/rtl_dump_file/dump_file/g.
+
+2004-02-24 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
+ (spe_fixuns_truncsfsi2): Delete.
+
+ * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
+ (fixuns_truncsfsi2): Delete.
+
+2004-02-24 Josef Zlomek <zlomekj@suse.cz>
+
+ PR/14240
+ * rtlanal.c (replace_label): Fix replacing labels in constant pool.
+
+2004-02-24 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
+
+2004-02-24 Jason Merrill <jason@redhat.com>
+
+ * tree.c (check_qualified_type): New fn.
+ (get_qualified_type): Use it. If type already has the desired
+ quals, just return it.
+ * tree.h: Declare it.
+
+2003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
+
+ * target-def.h (TARGET_SCHED_INIT_GLOBAL,
+ TARGET_SCHED_FINISH_GLOBAL): New macros.
+
+ * target.h (md_init_global, md_finish_global): Function
+ declarations corresponding to new target macros.
+
+ * haifa-sched.c (sched_init, sched_finish): Allow target to
+ call the new schedular hooks.
+
+ * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
+ call to update_life_info.
+
+ * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
+ flag_schedule_insns for SH4.
+
+ * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
+ find_set_regmode_weight, find_insn_regmode_weight,
+ find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
+ sh_variable_issue, high_pressure, ready_reorder,
+ rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
+ functions used to throttle the insn movement in first
+ scheduling pass for SH.
+
+ * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
+ TARGET_SCHED_FINISH_GLOBAL.
+
+2004-02-24 Alexandre Oliva <aoliva@redhat.com>
+
+ Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
+ 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
+ symbols in sections named by the user.
+ 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
+ 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
+ * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
+ * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
+ the above.
+ 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
+ one more pseudo to further improve code generation.
+ 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
+ inside UNSPEC.
+ 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_legitimate_address_p): Added
+ allow_double_reg_p argument. Adjust all callers. Use it to
+ decide whether to enable double-register indirect addressing.
+ (frv_funcdesc_alias_set): Remove.
+ (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
+ register. Emit movdi_ldd.
+ (ldd_address_operand): New.
+ * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
+ * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+ (PREDICATE_CODES): Add ldd_address_operand.
+ * config/frv/frv.md (movdi_ldd): New.
+ (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
+ intermediate computations if possible.
+ (symGOTOFF2reg_i): Fix harmless typo.
+ 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
+ * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
+ relocated p_vaddr to vaddr type.
+ * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
+ * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
+ (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
+ MEM, or use a funcdesc alias set. Use regular move instead of
+ ldd.
+ (dbl_memory_one_insn_operand): Recognize function descriptors by
+ type or by alias set, and don't split them.
+ * config/frv/frv.md (call, call_value): Never use call_internal
+ for fdpic.
+ (call_internal, call_value_internal): Never match for FDPIC.
+ (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
+ call_value_fdpicsi): Require FDPIC.
+ (ldd): Removed.
+ 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
+ * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
+ (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
+ FDPIC. Compute data base address.
+ * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
+ before the other self-specs are processed.
+ * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
+ Build with -fPIC.
+ 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
+ * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
+ inhibit_libc is defined.
+ 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
+ * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
+ __FRV_FDPIC__.
+ (__RELOC_POINTER): Define.
+ (_Unwind_IteratePhdrCallback): Use it.
+ * config/frv/frv.h (Twrite): Define.
+ (TRANSFER_FROM_TRAMPOLINE): Use it.
+ * config/frv/linux.h (INVOKE__main): Undefine.
+ (Twrite): Override.
+ 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
+ * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
+ (-mlibrary-pic): Emphasize that this option generates EABI code.
+ (-mcpu): Add fr550.
+ (-mpack): Remove.
+ 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
+ and CONSTs in FDPIC mode.
+ * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
+ 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
+ * config/frv/frv.c (move_source_operand): Don't accept symbolic
+ constants.
+ * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
+ rather than 'i' constraint for the 2-instruction alternative.
+ (*movsi_2word): New, incorporating existing int_2word_operand splitter.
+ 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
+ * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
+ EXTRA_CONSTRAINT_FOR_Y.
+ (EXTRA_CONSTRAINT): Remove handling of 'Y'.
+ * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
+ (addsi3): Change 'Y' constraint to 'Q'.
+ 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
+ * reload.c (CONST_POOL_OK_P): New macro.
+ (find_reloads): Use it to decide whether a constant can be forced
+ into memory.
+ * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
+ constant satisfies got12_operand.
+ (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
+ (frv_legitimate_address_p): Check for valid unspec offsets using
+ got12_operand rather than frv_legitimate_fdpic_operand_p.
+ (frv_legitimate_fdpic_operand_p): Delete.
+ (frv_emit_movsi): Abort if we try to use the FDPIC register during
+ or after reload.
+ (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
+ TARGET_FDPIC.
+ * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
+ 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
+ * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
+ (frv_fdpic_fptr_operand): Don't declare here.
+ * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
+ rather than fdpic_got12_operand.
+ (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
+ got12_operand and const_unspec_operand.
+ * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
+ (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
+ (symbolic_operand): Remove.
+ (const_unspec_operand): New predicate.
+ * config/frv/frv.md (*movsi_got): Use got12_operand.
+ (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
+ 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
+ * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
+ * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
+ * config/frv/frv.c (frv_unspec): New structure.
+ (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
+ (frv_print_operand_memory_reference): Use frv_const_unspec_p to
+ validate CONST indices. Use frv_output_const_unspec to print them.
+ (frv_print_operand): Update call to unspec_got_name. Use
+ frv_output_const_unspec to print constant unspecs.
+ (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
+ Reject UNSPECs otherwise.
+ (unspec_got_name): Take the relocation number as argument, not an
+ rtx containing it.
+ (frv_output_addr_const_extra): Remove, replacing with...
+ (frv_output_const_unspec): ...this new function.
+ (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
+ (gpr_or_int12_operand): Use fdpic_got12_operand.
+ (dbl_memory_one_insn_operand): Likewise.
+ (fdpic_got12_operand): Use frv_const_unspec_p.
+ (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
+ are already legitimate. Use frv_small_data_reloc_p when deciding
+ whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
+ 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
+ * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
+ * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
+ label, for real this time.
+ * config/frv/frv.c (frv_local_funcdesc_p): Update to new
+ representation of visibility.
+ (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
+ such.
+ 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
+ * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
+ (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
+ * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
+ it was explicitly disabled.
+ (frv_stack_info): There is no need to save the link register in every
+ frame unless TARGET_LINKED_FP is true.
+ (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
+ frame pointer if the stack pointer might change value.
+ (frv_return_addr_rtx): Check and process "count" argument.
+ 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
+ * config/frv/frv-protos.h (frv_legitimize_address): Remove.
+ (frv_find_base_term): Declare.
+ * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
+ (FIND_BASE_TERM): Define.
+ (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
+ small_data_register_operand, small_data_symbolic_operand. Add
+ symbolic_operand.
+ * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
+ (frv_print_operand_memory_reference, output_move_single): Remove
+ special handling for unlegitimized sdata addresses.
+ (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
+ and symbolic addresses.
+ (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
+ (frv_find_base_term): New function.
+ (int_2word_operand): Check specifically for symbolic address constants.
+ (pic_register_operand, pic_symbolic_operand): Delete.
+ (small_data_register_operand, small_data_symbolic_operand): Delete.
+ (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
+ Allow UNSPEC_GOT constants if !TARGET_FDPIC.
+ (move_source_operand): Only accept CONSTs if they're a two-insn
+ symbolic constant.
+ (fdpic_got12_operand): Don't require TARGET_FDPIC.
+ (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
+ using gen_symGOTOFF2reg*.
+ (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
+ (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
+ themselves a cost of 3 insns.
+ * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
+ Change predicate to symbolic_operand.
+ (*movsi_high_got, *movsi_lo_sum_got): Likewise.
+ (*movsi_lda_sdata): Delete.
+ (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
+ 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
+ * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
+ frv-*-*linux*.
+ * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
+ label.
+ * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
+ -multilib-library-pic.
+ (LINK_SPEC): Add -z text for -mfdpic.
+ * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
+ * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
+ * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
+ Override.
+ (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
+ FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
+ * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
+ crtstuff-generated files.
+ 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
+ * config.gcc: Add frv-*-*linux*.
+ * config/frv/linux.h, config/frv/t-linux: New.
+ 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
+ when -mfdpic even if a linker script is explicitly listed.
+ 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_override_options): Clear asm_out
+ unaligned_op for SImode on FDPIC.
+ (frv_emit_movsi): Use compute_reloc_for_constant to compute the
+ argument passed to decl_readonly_section.
+ (frv_assemble_integer): Revert 2003-09-30's change, but make the
+ whole block run with FDPIC even with -fno-PIC.
+ 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
+ symbol or label plus offset to memory.
+ (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
+ GOTOFF and GPREL for LABEL_REF.
+ * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
+ -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
+ (MASK_GPREL_RO, TARGET_GPREL_RO): New.
+ (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
+ * doc/invoke.texi: Document them.
+ 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
+ (frv_splittable_got_operand): Removed.
+ * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
+ LO_SUM. Add comments.
+ (frv_override_options): Moved enabling of FDPIC to
+ DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
+ (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
+ (frv_legitimize_fdpic_address): Don't duplicate logic in
+ frv_emit_movsi.
+ (frv_gen_GPsym2reg): New.
+ (unspec_got_name): Added gprel.
+ (frv_expand_fdpic_call): Add support for inlining PLTs.
+ (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
+ (gpr_or_int12_operand): Added GPREL12.
+ (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
+ (small_data_symbolic_operand): Fail if FDPIC.
+ (fdpic_splittable_got_operand): Removed.
+ (fdpic_got12_operand): Added GPREL12.
+ (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
+ when appropriate. Fix sdata GOTOFF.
+ (frv_legitimate_constant_p): Require legitimate PIC operand for
+ FDPIC with pic, but only a legitimate fdpic operand for non-pic.
+ (frv_assemble_integer): Move FDPIC funcdesc handling out of
+ flag_pic case.
+ (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
+ frv_assemble_integer fails.
+ * config/frv/frv.h (DRIVER_SELF_SPECS): New.
+ (SUBTARGET_DRIVER_SELF_SPECS): New.
+ (ASM_SPEC): Don't pass -mno-fdpic.
+ (LINK_SPEC): Pass -melf32frvfd for FDPIC.
+ (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
+ (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
+ -multilib-library-pic.
+ (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
+ condexec_si_media_operator, condexec_sf_add_operator and
+ condexec_sf_conv_operator. Removed condexec_sf_binary_operator
+ and condexec_sf_unary_operator.
+ * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
+ New.
+ (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
+ movsi_internal. Give them internal names. movsi_got has type
+ int.
+ (fdpic got splitters): Remove.
+ (symGPREL2reg, symGPREL2reg_hilo): New.
+ * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
+ to -mlibrary-pic. Map -multilib-library-pic to it.
+ * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
+ Document.
+ 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
+ (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
+ (frv_cannot_force_const_mem): New function.
+ (const_small_data_p, plus_small_data_p): Update comments on sdata
+ on FDPIC.
+ (frv_override_options): Set flag_pie for FDPIC too.
+ (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
+ call-saved registers on FDPIC.
+ (frv_stack_info): Don't preserve the PIC register on FDPIC, and
+ don't force LR to be preserved.
+ (frv_expand_prologue): Likewise.
+ (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
+ (frv_frame_pointer_required): Don't force it just because the
+ FDPIC register is used.
+ (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
+ operand only if !condexec_p.
+ (frv_legitimize_address): Return the FDPIC-legitimized address.
+ Don't match small data here on FDPIC.
+ (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
+ symbols. Use TRUE/FALSE instead of 1/0.
+ (frv_local_funcdesc_p): New.
+ (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
+ immediates when possible.
+ (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
+ (dbl_memory_one_insn_operand): Accept addresses that add a REG and
+ an UNSPEC_GOT.
+ (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
+ 12-bit immediates when possible.
+ (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
+ are not legitimate pic operands.
+ (frv_in_small_data_p): Re-enable for FDPIC.
+ * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
+ (FRV_GLOBAL_P): Removed.
+ * config/frv/frv.md: Add modes to CONSTs.
+ (movsi_got): New.
+ (movsi_lo_sum_got): Use separate matches instead of match_dup.
+ (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
+ (fdpic splittable operations): Match on flag_pic != 1.
+ 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_asm_out_constructor,
+ frv_asm_out_destructor): Pass to frv_assemble_integer the size in
+ bytes, not bits.
+ 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
+ * config/frv/frv.c (frv_assemble_integer): Reject complex
+ expressions referencing function SYMBOL_REFs.
+ * config/frv/frv.c (frv_function_symbol_referenced_p): New.
+ (move_source_operand): Reject CONSTs that reference function
+ SYMBOL_REFs on FDPIC.
+ (frv_emit_movsi): If we get such a CONST, break it up.
+ * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
+ (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
+ * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
+ MEM.
+ (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
+ (frv_trampoline_size): Increase for FDPIC.
+ * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
+ (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
+ * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
+ Disable use of GOTOFF for now.
+ (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
+ Disable use of small data in FDPIC for now.
+ (frv_asm_output_mi_thunk): Implement for FDPIC.
+ * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
+ * config/frv/frv.c (frv_asm_out_constructor): Use
+ frv_assemble_integer for FDPIC pointers.
+ (frv_asm_out_destructor): Likewise.
+ * config/frv/frv.md (ldd): Fix order of operands. Use
+ address_operand for input.
+ 2003-09-18 DJ Delorie <dj@redhat.com>
+ * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
+ (unspec_got_name): Correct typo.
+ (frv_emit_movsi): Pre-expand splittable GOTs.
+ (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
+ * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
+ (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
+ * config/frv/t-frv: Add -mfdpic multilibs.
+ * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
+ (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
+ * config/frv/frv.c (frv_override_options): -mfdpic assumes
+ flag_pic, default to 32-bit pics, require DWORD ops.
+ (frv_override_options): Add W and Z constraints.
+ (frv_expand_prologue): No pic prologue for -mfdpic.
+ (frv_asm_output_mi_thunk): Support -mfdpic (soon).
+ (frv_print_operand_memory_reference): Handle GOT constants.
+ (frv_legitimate_address_p): Allow GOT constants.
+ (frv_legitimize_address): Handle GOT addresses too.
+ (frv_legitimate_fdpic_operand_p): New.
+ (frv_legitimize_fdpic_address): New.
+ (unspec_got_name): New.
+ (frv_output_addr_const_extra): New.
+ (frv_expand_fdpic_call): New.
+ (frv_fdpic_fptr_operand): New.
+ (gpr_or_int12_operand): Handle GOT operands.
+ (int_2word_operand): Handle GOT operands.
+ (fdpic_operand): New.
+ (fdpic_splittable_got_operand): New.
+ (fdpic_got12_operand): New.
+ (frv_emit_movsi): Handle GOT operands.
+ (frv_assemble_integer): -mfdpic doesn't use rofixups.
+ (frv_print_operand): Support 'g' code for GOT operands.
+ * config/frv/frv-protos.h: Add prototypes as needed.
+ * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
+ R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
+ R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
+ R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
+ R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
+ R_FRV_GOTOFFLO): New.
+ (movsi_high_got, movsi_lo_sum_got): New.
+ (*movsi_pic): Don't use this splitter for -mfdpic.
+ (addsi3): Allow GOT references also.
+ (call, call_value): Handle -mfdpic separately.
+ (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
+ call_value_fdpicsi): New.
+ (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
+ symGOTOFF2reg_i): New.
+ * config/frv/frv.h (MASK_FDPIC): New.
+ (TARGET_FDPIC): New.
+ (TARGET_SWITCHES): Add -mfdpic.
+ (FDPIC_FPTR_REGNO): New.
+ (FDPIC_REGNO): New.
+ (OUR_FDPIC_REG): New.
+ (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
+ FDPIC_CALL_REGS.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
+ (EXTRA_CONSTRAINT): Add it here.
+ (FRV_GLOBAL_P): New.
+ (OUTPUT_ADDR_CONST_EXTRA): New.
+
+2004-02-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/sparc/sparc.h: Remove commented-out definitions of
+ TARGET_EDOM and GEN_ERRNO_RTX.
+
+2004-02-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
+ df_analyse with df_analyze.
+
+2004-02-24 Alan Modra <amodra@bigpond.net.au>
+
+ * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
+ beginning of block.
+
+2004-02-23 James E Wilson <wilson@specifixinc.com>
+
+ * calls.c (precompute_arguments): Update comment.
+
+2004-02-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * et-forest.c: Replace et_occurences with et_occurrences.
+
+2004-02-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
+ with iv_analyze.
+
+2004-02-23 Kelley Cook <kcook@gcc.gnu.org>
+
+ * config/i386/i386.c: Rename pni to sse3.
+ * config/i386/i386.h: Likewise.
+ * config/i386/i386.md: Likewise.
+ * config/i386/pmmintrin.h: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+
+2004-02-23 Zack Weinberg <zack@codesourcery.com>
+ Kazu Hirata <kazu@cs.umass.edu>
+
+ Remove -fwritable-strings.
+ * c-common.c (fix_string_type): Don't check
+ flag_writable_strings.
+ (fix_string_type): Likewise.
+ * c-opts.c (set_std_c89): Don't initialize
+ flag_writable_strings.
+ (set_std_c99): Likewise.
+ * common.opt (fwritable-strings): Remove.
+ * flags.h: Remove the external declaration of
+ flag_writable_strings.
+ * opts.c (common_handle_option) <OPT_fwritable_strings>:
+ Remove.
+ * toplev.c (flag_writable_strings): Remove.
+ (f_options): Remove an entry for writable-strings.
+ * varasm.c (const_hash_1) <STRING_CST>: Don't check
+ flag_writable_strings.
+ (compare_constant) <STRING_CST>: Likewise.
+ (build_constant_desc): Likewise.
+ * config/darwin.c (machopic_select_section): Likewise.
+ * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
+ * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
+ * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
+ * config/mips/mips.c (mips_select_section): Likewise.
+ (mips_encode_section_info): Likewise.
+ * config/pa/pa.c (pa_select_section): Likewise.
+ * config/pa/pa.h (TEXT_SPACE_P): Likewise.
+ * config/v850/v850.c (v850_select_section): Likewise.
+ * doc/invoke.texi (-fwritable-strings): Remove.
+ (-fno-const-strings): Don't mention -fwritable-strings.
+ * doc/trouble.texi: Don't mention -fwritable-strings.
+
+2003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
+
+2004-02-23 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
+ (movdf_hardfloat64): Ditto.
+ (movdf_softfloat64): Ditto.
+
+2004-02-23 Fariborz Jahanian <fjahanian@apple.com>
+ * config/rs6000/rs6000.c (function_arg): call to
+ rs6000_mixed_function_arg for DFmode moved to allow
+ normal DFmode incoming register assignment.
+
+2004-02-23 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
+ (movdf_hardfloat64): Ditto.
+
+2004-02-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
+ config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
+ copyright.
+
+2004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/14156
+ * c-typeck.c (c_expand_return): Change check for VAR_DECL
+ to use DECL_P instead.
+
+ * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
+ * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
+
+2004-02-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * Makefile.in (opts.o): Depend on target.h.
+ * opts.c (decode_options): Use targetm.default_short_enums
+ instead of DEFAULT_SHORT_ENUMS.
+ * system.h (DEFAULT_SHORT_ENUMS): Poison.
+ * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
+ (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
+ * target.h (gcc_target): Add default_short_enums.
+ * config/cris/cris.h: Remove a comment about
+ DEFAULT_SHORT_ENUMS.
+ * config/ip2k/ip2k.h: Likewise.
+ * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
+ TARGET_DEFAULT_SHORT_ENUMS. Update the description.
+
+2004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Falk Hueffner <falk@debian.org>
+
+ PR c/14188
+ * builtins.c (expand_builtin_va_arg): Emit an informative message
+ if a trap is generated.
+ * c-typeck.c (build_function_call): Likewise.
+
+2004-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
+ fopen.
+ * libgcov.c: Include sys/stat.h.
+ * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
+ * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
+ * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
+ * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
+
+2004-02-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reorg.c: Remove comments about dead ports.
+
+2004-02-22 Christopher Faylor <cgf@redhat.com>
+
+ * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
+ extra host object file when targetting cygwin rather than generic
+ object files.
+
+2004-02-22 Josef Zlomek <zlomekj@suse.cz>
+
+ Merge from tree-ssa:
+ 2003-11-20 Richard Henderson <rth@redhat.com>
+
+ * tree-inline.c (insert_decl_map): New.
+ (remap_decl, remap_type, remap_block, copy_body_r,
+ initialize_inlined_parameters, declare_return_variable,
+ remap_save_expr): Use it.
+
+ * function.c (copy_body_r): Add mapping from id->ret_label to
+ id->ret_label. Revert test for ret_label.
+
+2004-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ * genoutput.c (process_template): Strip trailing whitespace in @
+ templates and issue a warning if there was any.
+
+2004-02-21 Christopher Faylor <cgf@redhat.com>
+
+ * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
+ object file when targetting cygwin.
+ * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
+ overridden by top-level Makefile.
+
+2004-02-21 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (standard_80387_constant_p): Also prefer
+ the x87's load constant instructions when optimizing for size.
+
+2004-02-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
+ * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
+ * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
+ * fold-const.c: Likewise.
+ * simplify-rtx.c: Likewise.
+
+2004-02-21 Alan Modra <amodra@bigpond.net.au>
+
+ * combine.c (can_combine_p): Don't ignore SETs marked with
+ REG_EH_REGION notes.
+ (try_combine): When attemting to fix unrecognized insns, don't
+ split a PARALLEL that contains the original i2.
+
+2004-02-21 Ziemowit Laski <zlaski@apple.com>
+
+ * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
+ SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
+ * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
+ * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
+ (vector, pixel, bool): #define to __vector, __pixel and __bool.
+ (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
+ portion of header.
+ (__altivec_link_error_invalid_argument): Remove prototype; will use
+ __builtin_altivec_compiletime_error("vec_*") instead.
+ (vec_*): Fix/complete set of available operation overloads given the
+ existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
+ cv-correctness of pointer arguments; in C, always check for correct
+ argument types before macro expansion.
+ * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
+ defining Darwin/PowerPC-specific '-f[no-]altivec' and
+ '-W[no-]altivec-long-deprecated' switches.
+ * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
+ '__vector', '__pixel' and '__bool' macros using
+ '__attribute__((altivec(...)))' types.
+ * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
+ bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
+ bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
+ New type nodes.
+ (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
+ handling '-W[no-]altivec-long-deprecated'.
+ (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
+ (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
+ altivec_expand_dst_builtin): Remove casts from integer literals.
+ (altivec_expand_builtin): Likewise; handle expansion of new
+ '__builtin_altivec_compiletime_error' function.
+ (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
+ types, and make them distinct from other vector types; register
+ '__builtin_altivec_compiletime_error' function.
+ (print_operand): For 'P', print a full target register name instead of
+ merely its number.
+ (rs6000_attribute_table): Add "altivec" attribute.
+ (rs6000_handle_altivec_attribute): New function.
+ * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
+ '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
+ maps to).
+ (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
+ declare.
+ (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
+
+2004-02-20 James E Wilson <wilson@specifixinc.com>
+
+ * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
+ check.
+ (shift_mix4left+2): Delete redundant pattern.
+
+2004-02-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alias.c (OUTGOING_REGNO): Don't define the default.
+ * builtins.c (OUTGOING_REGNO): Likewise.
+ (INCOMING_REGNO): Likewise.
+ (apply_args_register_offset): Always use OUTGOING_REGNO.
+ * combine.c (OUTGOING_REGNO): Likewise.
+ * sibcall.c (OUTGOING_REGNO): Likewise.
+ * defaults.h (INCOMING_REGNO): Provide the default.
+ (OUTGOING_REGNO): Likewise.
+
+2004-02-21 Jan Hubicka <jh@suse.cz>
+
+ * params.def (max-peeled-insns, max-completely-peeled-insns,
+ max-once-peeled-insns): Set to 400.
+
+2004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR c++/12007
+ * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
+ are set for parameters before outputing debugging information.
+
+2004-02-20 Falk Hueffner <falk@debian.org>
+
+ PR target/14201
+ * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
+ numbers.
+
+2004-02-20 Per Bothner <per@bothner.com>
+
+ * input.h: Don't #include line-map.h. It may cause link problems
+ with undefined linemap_line_start when line-map.h is included but
+ line-map.o is not linked, as currently happens with gengtype on
+ compilers that don't support inline.
+ * toplev.c: So we do have to explicitly #include line-map.h here.
+
+2004-02-20 Richard Henderson <rth@redhat.com>
+
+ * doc/invoke.texi: Add -Wvariadic-macros.
+
+2004-02-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * haifa-sched.c (sched_emit_insn): Remove.
+ * sched-int.h: Remove the corresponding prototype.
+
+2004-02-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ Revert:
+ 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
+ * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
+ * system.h (DEFAULT_SHORT_ENUMS): Poison.
+ * config/cris/cris.h: Remove a comment about
+ DEFAULT_SHORT_ENUMS.
+ * config/ip2k/ip2k.h: Likewise.
+ * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
+
+2004-02-20 Mohan Embar <gnustuff@thisiscool.com>
+ Tom Tromey <tromey@redhat.com>
+
+ * doc/install.texi: Moved --disable-libgcj and
+ --with-system-zlib documentation to new section for
+ Java-specific options.
+ Added explicit Cross-Compiler-Specific Options subheading.
+ Added section for Java-specific options.
+
+2004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * doc/install.texi (Building the Ada compiler): Remove
+ example.
+
+2004-02-20 James E Wilson <wilson@specifixinc.com>
+
+ * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
+
+2004-02-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gcc.c (process_command): Allow translation of the copyright
+ symbol but not the rest of the copyright message.
+ * gcov.c (print_version): Likewise. Allow translation of the
+ message about warranty.
+
+2004-02-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
+ predicate.
+ ("*andsi_clear"): Tweak constraints to not match postincrement.
+ Adjust the predicate to exclude a volatile memory reference.
+ ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
+ ("*andhi_clear_unsigned"): Remove, non-matching pattern.
+
+2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * move-if-change: Remove.
+ * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
+ (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
+ (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
+ (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
+ (s-gtyp-gen, s-iov): Use the top level move-if-change.
+ * objc/Make-lang.in (objc/objc-parse.y): Likewise.
+
+2004-02-19 James E Wilson <wilson@specifixinc.com>
+
+ * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
+ for operand2. Add condition that requires register_operand operand2
+ before reload.
+
+2004-02-19 Richard Sandiford <rsandifo@redhat.com>
+ Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
+ * config/mips/mips.md: Expand comment above unaligned loads and stores.
+
+2004-02-19 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
+ * tree.c (build0, build1, build2, build3, build4): Split out from...
+ (build): ... here. Call them.
+ * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
+
+ * convert.c (convert_to_integer): Remove extra build argument.
+ * tree-inline.c (expand_call_inline): Likewise.
+
+2004-02-19 Richard Henderson <rth@redhat.com>
+
+ * c-opts.c (warn_variadic_macros): New.
+ (c_common_handle_option): Set it.
+ (sanitize_cpp_opts): Copy it to cpp_opts.
+ * c.opt (Wvariadic-macros): New.
+ * cpplib.h (struct cpp_options): Add warn_variadic_macros.
+ * cppinit.c (cpp_create_reader): Initialize it.
+ * cppmacro.c (parse_params): Check it.
+
+2004-02-19 David Daney <ddaney@avtrex.com>
+
+ PR preprocessor/14198
+ * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
+ builtin_assert ("machine=mips")
+
2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
2004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
PR c/14088
- real.c (real_from_string): Look for 'X' as well as 'x' in
+ * real.c (real_from_string): Look for 'X' as well as 'x' in
hexfloat strings.
2004-02-10 Kazu Hirata <kazu@cs.umass.edu>