+2004-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
+ mode" rather than "-funit-at-a-time" since -O2 enables it
+ without requiring -f* options. Refer to -fprofile-generate and
+ -fprofile-use correctly. Move -funit-at-a-time among options
+ enabled by -O. Add information about unit-at-a-time caveats.
+
+2004-04-22 Per Bothner <per@bothner.com>
+
+ * line-map.h (struct line_maps): New field highest_line.
+ (linemap_position_for_column): Make non-inline function.
+ (LINEMAP_POSITION_FOR_COLUMN): New macro.
+ * line-map.c (linemap_init): Clear highest_line field.
+ (linemap_add): Set highest_line field.
+ (linemap_line_start): Minor optimization - use highest_line field.
+ Reduce maximum column hint to 10000. Update highest_line field.
+ (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
+ * cpphash.h (struct cpp_reader): Remove line field - instead use
+ line_table->highest_line.
+ (saved_line): Remove unused field.
+ (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
+ Use line_table's highest_line field instead of cpp_reader's line.
+ * cpplib.c (start_directive): Likewise use highest_line field.
+ (do_line, do_linemarker): Likewise just use newest map.
+ (_cpp_do_file_change): Don't need to set cpp_reader's line field.
+ * cpperror.c (cpp_error): Likewise use highest_line field.
+ * cppfiles.c (open_file_failed: Likewise.
+ (cpp_make_system_header): Likewise use newest map and highest_line.
+ * cppinit.c (cpp_create_reader): Don't initialize removed field.
+ * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
+ skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
+ _cpp_lex_direct): Likewise use highest_line.
+ (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
+ * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
+ and use newest map.
+ * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
+ * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
+ (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
+
+2004-04-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR bootstrap/14992
+ * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
+ * config/linux.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
+ * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
+
+2004-04-22 Per Bothner <per@bothner.com>
+
+ * cppinit.c (cpp_read_main_file): Return NULL rather than false.
+ Fixes PR preprocessor/15067.
+
+2004-04-23 Andreas Schwab <schwab@suse.de>
+
+ * config/ia64/ia64intrin.h: Add intermediate cast to void * to
+ avoid aliasing warning.
+
+2004-04-22 Jan Hubicka <jh@suse.cz>
+ Mostafa Hagog <mustafa@il.ibm.com>
+
+ * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
+ * cfgloopanal.c (expected_loop_iterations): Change the return value
+
+2004-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * cselib.h (struct elt_loc_list): Remove canon_loc field.
+ * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
+ (cselib_invalidate_mem): Remove all canon_loc and canon_x
+ traces.
+
+2004-04-22 Josef Zlomek <zlomekj@suse.cz>
+
+ Revert
+ 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * var-tracking.c (variable_part_different_p): Variable parts
+ differ when the most recent locations differ.
+
+2004-04-22 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Remove the MIPS -membedded-pic option.
+ * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
+ (embedded_pic_offset): Delete.
+ * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
+ MASK_* constants.
+ (TARGET_EMBEDDED_PIC): Delete.
+ (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
+ (ASM_SPEC): Remove -membedded-pic.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
+ (ASM_OUTPUT_CASE_LABEL): Likewise.
+ * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
+ * config/mips/windiss.h (ASM_SPEC): Likewise.
+ * config/mips/mips.c (struct machine_function): Remove
+ embedded_pic_fnaddr_rtx.
+ (TARGET_ENCODE_SECTION_INFO): Remove override.
+ (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
+ (override_options): Remove -membedded-pic handling.
+ (print_operand): Remove handling of '%S'.
+ (mips_select_section: Remove -membedded-pic handling.
+ (mips_encode_section_info): Delete.
+ (mips_output_conditional_branch): Remove mention of -membedded-pic.
+ * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
+ -membedded-pic handling.
+ (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
+
+2004-04-22 Alan Modra <amodra@bigpond.net.au>
+
+ * var-tracking.c (frame_base_decl): Remove useless GTY.
+
+2004-04-21 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Error when
+ user wants altivec and e500 instructions.
+
+2004-04-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/14813
+ * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
+ in .init_array section to ...
+ * config/ia64/crtbegin.asm: Here.
+
+ * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
+ and hidden if HAVE_INITFINI_ARRAY is defined.
+
+2004-04-21 James E Wilson <wilson@specifixinc.com>
+
+ * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
+ * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
+ (fp_register_operand, lo_operand): New.
+ (mips_rtx_costs): Add TUNE_SB1 support.
+ (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
+ (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
+ (mips_multipass_dfa_lookahead): New.
+ * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
+ TUNE_SB1): New.
+ (TARGET_SWITCHES): Add -mfp-exceptions support.
+ (TARGET_FP_EXCEPTIONS_DEFAULT): New.
+ (BRANCH_COST): Fix whitespace.
+ * config/mips/mips.md: Include sb1.md.
+ * config/mips/sb1.md: New file.
+ * doc/invoke.texi: Document -mfp-exceptions.
+
+ * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
+ comment.
+ * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
+ (fixincl.o-warn): Delete.
+
+2004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/rs6000 (print_operand) ['z']:
+ Change ifdef of TARGET_MACHO to if TARGET_MACHO.
+
+2004-04-21 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.gcc: Support --with-arch=iwmmxt for ARM.
+
+2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
+ in two more places; remove unneeded force_reg
+
+2004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
+ for TARGET_MACHO.
+ (print_operand): For TARGET_MACHO check to see if we need a stub
+ and output one if we need it.
+
+ PR debug/15033
+ * dwarf2out.c (rtl_for_decl_location): Check for NULL
+ rtl.
+
+2004-04-20 James E Wilson <wilson@specifixinc.com>
+
+ * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
+ (vall_value_gp): Likewise.
+
+2004-04-20 DJ Delorie <dj@redhat.com>
+
+ * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
+ variables stored in word registers, then in memory.
+
+2004-04-20 Eric Christopher <echristo@redhat.com>
+
+ * cp/parser.c (cp_parser_declaration): Move translate
+ up before tokens are lexed.
+
+2004-04-20 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
+ (asin_optab, acos_optab): Define corresponding macros.
+ * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
+ * genopinit.c (optabs): Implement asin_optab and acos_optab
+ using asin?f2 and acos?f2 patterns.
+ * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
+ using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
+ (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
+ using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+
+ * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
+ acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
+ acos, acosf and acosl built-ins as inline x87 intrinsics.
+
+2004-04-20 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
+
+2004-04-20 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
+
+2004-04-20 Paolo Bonzini <bonzini@gnu.org>
+
+ Revert part of 2004-04-17 change that moved -frename-registers
+ to -O1. -frename-registers is buggy.
+
+ * toplev.c (flag_rename_registers): Initialize to 0.
+ * doc/invoke.texi (Optimize options): Move -frename-registers
+ to "Not triggered by any -O level" section. Adjust commentary
+ accordingly.
+
+2004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
+
+ * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
+
+2004-04-20 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_legitimize_move): Generate special patterns
+ for mflo and mfhi instructions.
+ (mips_output_move): Remove mflo and mfhi handling.
+ * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
+ (*mulsidi3_64bit): Update for new mfhi/mflo representation.
+ Likewise various define_peephole2s.
+ (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
+ alternatives.
+ (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
+ (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
+ (mfhilo_di, mfhilo_si): New patterns.
+
+2004-04-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * function.c (assign_parms): Force
+ MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
+
+2004-04-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * var-tracking.c (variable_part_different_p): Variable parts differ
+ when the most recent locations differ.
+
+2004-04-19 James E Wilson <wilson@specifixinc.com>
+
+ * rtl.h (reg_set_last): Delete declaration.
+ * rtlanal.c (reg_set_last): Delete.
+
+2004-04-19 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_convert): Make function extern/public.
+ * tree.h (fold_convert): Prototype here.
+ * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
+ expand_builtin_strrchr, expand_builtin_strpbrk,
+ expand_builtin_mempcpy, expand_builtin_bcopy,
+ expand_builtin_bzero, expand_builtin_memcmp,
+ expand_builtin_strcmp, expand_builtin_strncmp,
+ stabilize_va_list, expand_builtin_sprintf,
+ fold_trunc_transparent_mathfn, fold_builtin_logarithm,
+ fold_builtin_exponent, fold_builtin_mempcpy,
+ fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
+ fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
+ fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
+
+2004-04-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
+ (move_from_CR_gt_bit): New.
+ (cceq_ior_compare): Name previously unnamed pattern. Disable for
+ E500.
+ (cceq_rev_compare): Name previously unnamed pattern. Allow for
+ E500.
+
+ * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
+ (tstsfeq_gpr): Same.
+ (cmpsfgt_gpr): Same.
+ (tstsfgt_gpr): Same.
+ (cmpsflt_gpr): Same.
+ (tstsflt_gpr): Same.
+ (e500_cceq_ior_compare): New.
+ (e500_flip_gt_bit): New.
+
+ * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
+ (print_operand): Add 'c' and 'D'.
+ (rs6000_generate_compare): Rewrite to generate correct rtl.
+ (rs6000_emit_sCOND): Handle E500.
+ (output_cbranch): Adjust for changes in rs6000_generate_compare.
+ (output_e500_flip_gt_bit): New.
+
+ * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
+ Protoize.
+
+2004-04-19 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
+
+2004-04-19 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
+ fix information.
+
+2004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
+ download URL.
+
+2004-04-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * stor-layout.c (layout_decl): Check DECL_PACKED before calling
+ ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
+
+2004-04-19 Andrew PInski <pinskia@physics.uc.edu>
+
+ * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
+ (fold_builtin): Update caller to match.
+
+ PR bootstrap/15009
+ * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
+
+ PR bootstrap/14999
+ * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
+
+2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
+
+ * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
+ (expand_mult_highpart_optab): Likewise.
+ (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
+
+2004-04-19 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
+ floatunssisf2, floatunssidf2): New patterns.
+
+2004-04-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR other/14918
+ * doc/invoke.texi (-fprofile-generate): Document requirement to
+ use -fprofile-generate when linking.
+
+ * doc/extend.texi (Strong Using): Warn users against using this
+ feature.
+
+2004-04-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
+ * config/mips/mips.h (mips_entry, mips_string_length): Delete.
+ (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
+ * config/mips/mips.c (struct mips16_constant): Renamed from struct
+ constant. Propogate change throughout file.
+ (struct machine_function): Remove insns_len.
+ (mips_string_length, mips16_strings, string_constants): Delete.
+ (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
+ when generating mips16 code. Remove special mips16 treatment of
+ string constants.
+ (mips_symbolic_constant_p): Allow mips16 constant pool accesses
+ to have the form LABEL+CONSTANT.
+ (mips_symbolic_address_p): Fix comment.
+ (m16_usym8_4, m16_usym5_4): Delete.
+ (mips_output_function_epilogue): Remove mips16 string handling.
+ (mips_output_mi_thunk): Call mips16_lay_out_constants.
+ (mips_select_section, mips_encode_section_info): Remove mips16
+ string handling.
+ (struct mips16_constant_pool): New.
+ (add_constant): Take a mips16_constant_pool structure. Keep pool
+ sorted into order of ascending mode size. Keep track of the highest
+ possible start address, taking padding and the masking of the base PC
+ value into account.
+ (dump_constants_1): New function, split out from dump_constants.
+ Handle vector constants. Use gen_consttable_{int,float} rather than
+ separate functions for each mode.
+ (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
+ rather than separate functions for each alignment.
+ (mips_find_symbol): Delete.
+ (mips16_insn_length): New function, split out from
+ mips16_lay_out_constants.
+ (mips16_rewrite_pool_refs): New function.
+ (mips16_lay_out_constants): Rework. Remove string handling.
+ Always create an inline constant pool.
+ * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
+ (UNSPEC_ALIGN): New constants.
+ (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
+ (UNSPEC_ALIGN_[248]): Delete.
+ (consttable_int, consttable_float, align): New patterns.
+ (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
+
+2004-04-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
+ __unn_args_eq.
+
+2004-04-17 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/14715
+ * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
+ with STARTING_FRAME_OFFSET.
+
+2004-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
+ * config/mips/mips.c (macc_msac_operand): New function.
+ * config/mips/mips.md (*msac): Move after *macc.
+ (*msac2): New. Generalize macc-related peepholes so that they apply
+ to msac too.
+
+2004-04-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * opts.c (decode_options): Do not enable flag_rename_registers
+ and flag_web at -O3.
+ * toplev.c (flag_rename_registers): Initialize
+ flag_rename_registers and flag_web to
+ AUTODETECT_FLAG_VAR_TRACKING.
+ (default_debug_hooks): New global.
+ (process_options): Initialize default_debug_hooks. Warn if
+ -fvar-tracking specified but not supported by the current
+ debug format. Do not run var tracking at -O0 or if not
+ supported by the current debug format, even if
+ -fvar-tracking was given. If -fno-rename-registers
+ is not specified, always run register renaming if var
+ tracking is supported by the default debugging information
+ format for the target, and we are at -O1 or higher; similarly
+ for -fweb, but only at -O2 or higher.
+ * doc/invoke.texi (Optimize Options): Document this.
+
+2004-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
+ * configure: Regenerate.
+
+2004-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * gcc.c (used_arg): Check whether an option has been removed.
+
+2004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
+ debugging on Solaris 7 and up.
+
+2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
+ IRIX 5 port.
+ Remove -save-temps workaround, handled automatically.
+ Require GNU binutils 2.15 for debugging.
+ Remove SGI make warnings since GNU make is now required.
+ (Specific, mips-sgi-irix6): Some markup fixes.
+ Describe MIPSpro C problems and workarounds.
+ Mention working O32 ABI support.
+ Recommend GNU as 2.15 for O32 with debugging.
+ Remove description of fixed structure pass/return bug.
+
+2004-04-16 DJ Delorie <dj@redhat.com>
+
+ * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
+ TYPE_FIELDS.
+ (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
+
+2004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.md: Remove unnecessary declarations for asm_out_file.
+
+ * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
+ SAR register. Fix comment.
+ (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
+ (%cr11).
+
+ * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
+
+2004-04-16 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.c (arm_override_options): Revert previous patch.
+ * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
+ be safely built.
+
+2004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
+
+ * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
+ bug.
+ (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
+ TARGET_DEFAULT): Changed. Ditto.
+ (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
+ TARGET_ENDIAN_DEFAULT): Added. Ditto.
+ * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
+ (TARGET_ENDIAN_DEFAULT): Added.
+
+2004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
+ ATTR_CONST_NOTHROW_LIST.
+
+2004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR/middle-end 14915
+ * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
+ BITS_BIG_ENDIAN.
+
+2004-04-15 Pat Haugen <pthaugen@us.ibm.com>
+
+ * ra-debug.c (ra_print_rtx): Add break's to case legs.
+
+2004-04-14 James E Wilson <wilson@specifixinc.com>
+
+ * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
+
+2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * libada-mk.in: New file.
+ * configure.ac: Create libada-mk from libada-mk.in.
+ * configure: Regenerate.
+
+2004-04-14 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
+ (logb_optab, ilogb_optab): Define corresponding macros.
+ * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
+ * genopinit.c (optabs): Implement logb_optab and ilogb_optab
+ using logb?f2 and ilogb?i2 patterns.
+ * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
+ using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
+ (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
+ using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+
+ * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
+ and UNSPEC_XTRACT_EXP.
+
+ * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
+ patterns to implement fxtract x87 instruction.
+ (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
+ logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
+ intrinsics.
+ (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
+ x87's fxtract insn.
+
+2004-04-14 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/t-elf: Enable multilibs by default.
+
+2004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
+ previous fix to check HAVE_return at runtime too.
+
+2004-04-14 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.c (arm_override_options): If the user has not
+ specified an ABI, then default to AAPCS for the iWMMXt processor.
+ * config/arm/t-xscale-elf: Remove redundant multilib specifications.
+ * config/arm/t-xscale-coff: Likewise.
+
+2004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (fold_builtin_isdigit): New.
+ (fold_builtin): Handle BUILT_IN_ISDIGIT.
+ * defaults.h: Add TARGET_DIGIT0 and sort.
+ * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
+
+2004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (fold_builtin_cabs, fold_builtin): Use
+ `mathfn_built_in' to determine the new builtin.
+ * fold-const.c (fold): Likewise.
+
+2004-04-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
+ * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
+ (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
+ (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
+ (ASM_SPEC): Update accordingly.
+ * config/mips/mips.c: Update after above renaming.
+ * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
+ * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
+
+2004-04-13 James E Wilson <wilson@specifixinc.com>
+
+ * c-opt.c (c_common_post_options): If this_input_filename is NULL,
+ increment errorcount and return false instead of true.
+
+2004-04-13 Uros Bizjak <uros@kss-loka.si>:
+
+ * optabs.c (expand_twoval_unop): Reorder function arguments.
+ * builtins.c (expand_builtin_mathfn_3): Update calls to
+ expand_twoval_unop.
+
+ * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
+ and UNSPEC_TAN_TAN. Add missing comment.
+
+ * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
+ patterns to implement fptan x87 instruction.
+ (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
+ and tanl built-ins as inline x87 intrinsics. Define corresponding
+ peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
+ (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
+ x87's fptan insn.
+
+2004-03-13 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
+ for LABEL_REFs.
+
+ * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
+ (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
+ * doc/invoke.texi: Update to match.
+
+ * varasm.c (unlikely_text_section): Use assemble_align instead of
+ ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
+ correct alignment argument.
+
+2004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
+ after setting reg_last_reload_reg for optional output reloads.
+
+2004-04-12 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
+ Definition of these two macros are corrected by adding
+ matchine right paren.
+
+2004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
+
+2004-04-12 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (output_387_reg_move): New function.
+ * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
+ * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
+ *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
+ *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
+ truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
+
+2004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
+ TYPE_DECL.
+ * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
+ * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
+ * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
+ Use skip_simple_arithmetic to find SAVE_EXPR.
+ (force_type_save_exprs, force_type_save_exprs_1): New functions.
+ * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
+ Properly chain multiple pointers.
+ (copy_tree_r): Copy a TYPE_DECL.
+ * tree.c (variably_modified_type_p): Add some missing tests and
+ make some other minor changes.
+ * tree.h (force_type_save_exprs): New declaration.
+
+2004-04-12 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
+ Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
+ side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
+ Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
+ x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
+ x%-1 into 0 (or x&0 if x has side-effects).
+
+2004-04-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md: Document why a pattern is not
+ available.
+
+ * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
+ of floats on the E500.
+ (branch_positive_comparison_operator): Do not allow NE even on the
+ E500.
+
+2004-04-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
+ in_text_unlikely_section to in_unlikely_text_section.
+
+2004-04-11 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
+ calling convention to allow a NULL_TREE to be returned. Factor
+ sanity checks from callers, return NULL_TREE when appropriate.
+ (fold): Handle COMPOUND_EXPR operands of binary expressions
+ before COND_EXPR operands. Use reorder_operands_p(a,b) to check
+ whether a op (b,c) can be rewritten as (b, a op c). Simplify
+ calls to fold_binary_op_with_conditional_arg.
+
+2004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/mips/iris5.h (current_section_flags): Add
+ in_unlikely_executed_text and default case.
+
+2004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
+ failure on solaris. Place ifdef HAVE_return around gen_ret call.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
+ HAVE_return and place it around the place where it is needed.
+
+2004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
+ ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
+ and NORMAL_TEXT_SECTION_NAME.
+ (unlikely_text_section): Check targetm.have_named_sections
+ instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
+ instead of SECTION_FORMAT_STRING.
+ * config/mips/iris5.h (current_section_name): Add
+ in_unlikely_executed_text case and move the abort into the switch.
+ * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
+ (NORMAL_TEXT_SECTION_NAME): Remove.
+ (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ (SECTION_FORMAT_STRING): Remove.
+ * defaults.h (SECTION_FORMAT_STRING): Remove.
+ * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
+ (SECTION_FORMAT_STRING): Remove.
+
+2004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-typeck.c (common_type): Prefer long long to long when same
+ precision.
+
+2004-04-09 Zack Weinberg <zack@codesourcery.com>
+
+ PR 14887
+ * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
+ mode argument.
+ * config/ia64/ia64.c (ia64_hpux_file_end): Check
+ TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
+
+2004-04-09 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (mode_signbit_p): New function to check whether
+ an RTX is an immediate constant that represents the most significant
+ bit of a given machine mode.
+ (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
+ C is the sign bit.
+ (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
+ when C2 is the sign bit.
+ (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
+ is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
+ sign bit.
+
+2004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
+ TYPE_MODE.
+
2004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
* c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
2004-04-09 Caroline Tice <ctice@apple.com>
- * basic-block.h (struct edge_def): Add new field, crossing_edge.
+ * basic-block.h (struct edge_def): Add new field, crossing_edge.
(struct basic_block_def): Add new field, partition.
(UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
definitions.
- (partition_hot_cold_basic_blocks): Add extern function
+ (partition_hot_cold_basic_blocks): Add extern function
declaration.
- * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
+ * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
include statements.
(N_ROUNDS): Increase the maximum number of rounds by 1.
(branch_threshold): Add array value for new round.
basic blocks.
(find_traces_1_round): Add a parameter. Modify to push all cold blocks,
and only cold blocks, into the last (extra) round of collecting traces.
- (better_edge_p): Add a parameter. Modify to favor non-crossing edges
+ (better_edge_p): Add a parameter. Modify to favor non-crossing edges
over crossing edges.
- (bb_to_key): Add code to correctly identify cold blocks when
+ (bb_to_key): Add code to correctly identify cold blocks when
doing partitioning.
(connect_traces): Modify to connect all the non-cold traces first, then
go back and connect up all the cold traces.
(reorder_basic_blocks): Add call to add_unlikely_executed_notes.
* cfg.c (entry_exit_blocks): Add initialization for partition field in
entry and exit blocks.
- * cfgbuild.c (make_edges): Update current_function_has_computed_jump
+ * cfgbuild.c (make_edges): Update current_function_has_computed_jump
if we are doing hot/cold partitioning.
* cfgcleanup.c (cfglayout.h): Add new include statement.
- (try_simplify_condjump): Modify to not attempt on blocks with jumps
+ (try_simplify_condjump): Modify to not attempt on blocks with jumps
that cross section boundaries.
(try_forward_edges): Likewise.
(merge_blocks_move_predecessor_nojumps): Likewise.
(try_optimize_cfg): Likewise.
* cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
jumps that cross section boundaries.
- * cfglayout.c (flags.h): Add new include statement.
+ * cfglayout.c (flags.h): Add new include statement.
(update_unlikely_executed_notes): New function.
- (fixup_reorder_chain): Add code so when a new jumping basic block is
- added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
+ (fixup_reorder_chain): Add code so when a new jumping basic block is
+ added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
updated appropriately.
(duplicate_insn_chain): Add code to duplicate the new NOTE insn
introduced by this optimization.
- * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
- extern function declaration.
+ * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
+ extern function declaration.
* cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
list of notes that can be deleted.
(create_basic_block_structure): Add initialization for partition field.
(try_redirect_by_replacing_jump): Modify to not attempt on jumps that
cross section boundaries.
(commit_one_edge_insertion): Add code so newly created basic block
- ends up in correct (hot or cold) section. Modify to disallow
+ ends up in correct (hot or cold) section. Modify to disallow
insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
(rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
crosses section boundaries.
cross section boundaries.
(force_nonfallthru_and_redirect): Modify to make sure new basic block
ends up in correct section, with correct notes attached.
- * common.opt (freorder-blocks-and-partition): Add new flag for this
- optimization.
- * dbxout.c (dbx_function_end): Add code to make sure scope labels at
- the end of functions are written into the correct (hot or cold)
- section.
+ * common.opt (freorder-blocks-and-partition): Add new flag for this
+ optimization.
+ * dbxout.c (dbx_function_end): Add code to make sure scope labels at
+ the end of functions are written into the correct (hot or cold)
+ section.
(dbx_source_file): Add code so writing debug file information
doesn't incorrectly change sections.
- * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
+ * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
in partitioning hot/cold basic blocks into separate sections.
- (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
+ (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
section partitioning.
(HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
conditional branches can span all of memory.
(HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
unconditional branches can span all of memory.
- * final.c (scan_ahead_for_unlikely_executed_note): New function.
- (final_scan_insn): Add code to check for NOTE instruction indicating
- whether basic block belongs in hot or cold section, and to make sure
- the current basic block is being written to the appropriate section.
- Also added code to ensure that jump table basic blocks end up in the
- correct section.
- * flags.h (flag_reorder_blocks_and_partition): New flag.
+ * final.c (scan_ahead_for_unlikely_executed_note): New function.
+ (final_scan_insn): Add code to check for NOTE instruction indicating
+ whether basic block belongs in hot or cold section, and to make sure
+ the current basic block is being written to the appropriate section.
+ Also added code to ensure that jump table basic blocks end up in the
+ correct section.
+ * flags.h (flag_reorder_blocks_and_partition): New flag.
* ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
one of the branches has a jump that crosses between sections.
(find_if_case_2): Likewise.
- (ifcvt): Modify to not attempt to mark loop exit edges after
+ (ifcvt): Modify to not attempt to mark loop exit edges after
hot/cold partitioning has occurred.
- * opts.c (decode_options): Code to handle new flag,
- flag_reorder_blocks_and_partition; also to turn it off if
+ * opts.c (decode_options): Code to handle new flag,
+ flag_reorder_blocks_and_partition; also to turn it off if
flag_exceptions is on.
- (common_handle_option): Code to handle new flag,
- flag_reorder_blocks_and_partition.
- * output.h (unlikely_text_section): New extern function declaration.
+ (common_handle_option): Code to handle new flag,
+ flag_reorder_blocks_and_partition.
+ * output.h (unlikely_text_section): New extern function declaration.
(in_unlikely_text_section): New extern function declaration.
- * passes.c (rest_of_handle_stack_regs): Add
- flag_reorder_blocks_and_partition as an 'or' condition for calling
+ * passes.c (rest_of_handle_stack_regs): Add
+ flag_reorder_blocks_and_partition as an 'or' condition for calling
reorder_basic_blocks.
- (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
+ (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
as an 'or' condition for calling reorder_basic_blocks.
(rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
- * print-rtl.c (print_rtx): Add code for handling new note,
- NOTE_INSN_UNLIKELY_EXECUTED_CODE
- * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
+ * print-rtl.c (print_rtx): Add code for handling new note,
+ NOTE_INSN_UNLIKELY_EXECUTED_CODE
+ * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
(REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
cross between section boundaries.
- * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
- indicating the basic block containing it belongs in the cold section.
+ * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
+ indicating the basic block containing it belongs in the cold section.
(REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
between hot and cold sections.
- * toplev.c (flag_reorder_blocks_and_partition): Add code to
- initialize this flag, and to tie it to the command-line option
- freorder-blocks-and-partition.
- * varasm.c (cfglayout.h): Add new include statement.
- (unlikely_section_label_printed): New global variable, used for
- determining when to output section name labels for cold sections.
+ * toplev.c (flag_reorder_blocks_and_partition): Add code to
+ initialize this flag, and to tie it to the command-line option
+ freorder-blocks-and-partition.
+ * varasm.c (cfglayout.h): Add new include statement.
+ (unlikely_section_label_printed): New global variable, used for
+ determining when to output section name labels for cold sections.
(in_section): Add in_unlikely_executed_text to enum data structure.
(text_section): Modify code to use SECTION_FORMAT_STRING and
NORMAL_TEXT_SECTION_NAME macros.
(unlikely_text_section): New function.
(in_unlikely_text_section): New function.
- (function_section): Add code to make sure beginning of function is
- written into correct section (hot or cold).
- (assemble_start_function): Add code to make sure stuff is written to
- the correct section.
- (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
- to an if statement that was checking 'in_text_section'.
- (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
- condition to an if statement that was checking 'in_text_section'.
- (default_section_type_flags_1): Add check: if in cold section
- flags = SECTION_CODE.
+ (function_section): Add code to make sure beginning of function is
+ written into correct section (hot or cold).
+ (assemble_start_function): Add code to make sure stuff is written to
+ the correct section.
+ (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
+ to an if statement that was checking 'in_text_section'.
+ (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
+ condition to an if statement that was checking 'in_text_section'.
+ (default_section_type_flags_1): Add check: if in cold section
+ flags = SECTION_CODE.
* config/darwin.c (darwin_asm_named_section): Modify to use
SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
- * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
+ * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
specifically for the i386.
(HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
- * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
+ * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
text string to something more informative.
(NORMAL_TEXT_SECTION_NAME): Add new definition.
(SECTION_FORMAT_STRING): Add new definition.
- * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
- '!in_unlikely_text_section' as an 'and' condition to an if statement
- that was already checking '!in_text_section'.
- * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
- UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
- sure these are properly defined for linux on ppc.
- * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
- for this new flag.
+ * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
+ '!in_unlikely_text_section' as an 'and' condition to an if statement
+ that was already checking '!in_text_section'.
+ * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
+ sure these are properly defined for linux on ppc.
+ * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
+ for this new flag.
* doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
reg_note.
- * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
- HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
+ * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
+ HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
these new macros.
2004-04-08 Roger Sayle <roger@eyesopen.com>
* gcc.c (main): Move 'break' in main loops (on an error)
to wait until error processing has occurred.
-
+
2004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
* config.gcc: Stop changing enable_threads midstream.
(sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
(cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
- (UNSPEC_SINCOS_SIN, UNPEC_SINCOS_COS): New unspecs to represent
- x87's unspec insn.
+ (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
+ x87's fsincos insn.
2004-04-06 Devang Patel <dpatel@apple.com>
PR 14467
* config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
-
+
2004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* doc/install.texi: Update HP-UX 11 installation procedure.
* gcc.c (combine_flag): New global variable, for new driver option.
(struct compiler): Add two new fields, to be used when
combining multiple input files in a single pass (IMA).
- (default_compilers): Add values for the new fields to all
- compiler entries. Modify the "@c" compiler entry for doing IMA
+ (default_compilers): Add values for the new fields to all
+ compiler entries. Modify the "@c" compiler entry for doing IMA
properly with "-save-temps" and the "combine" flag.
(option_map): Add new driver option, "--combine", to tell driver
to pass multiple input files to compiler at one time.
for new "combine" option; remove assignment to combine_inputs.
(do_spec_1): Modify to deal with IMA better.
(main): Make variable 'lang_n_infiles' local to entire function
- rather than to a single block. Use flag combine_flag to
- determine whether to do IMA or not; Modify loop initializing
+ rather than to a single block. Use flag combine_flag to
+ determine whether to do IMA or not; Modify loop initializing
infiles to deal properly with linker files.
Add code for doing preprocessing in presence of
IMA with "-save-temps" flag. Modify "main" loop to handle
preprocessing, gracefully.
* toplev.c (set_src_pwd): Modify to not complain if attempting to
re-set it to same directory it's previously been set to (avoid
- irritating, meaningless warning messages when doing IMA with
+ irritating, meaningless warning messages when doing IMA with
save-temps).
* doc/invoke.texi: Add "-combine" to list of Overall Options;
remove documentation about IMA that is no longer accurate; Add
* config/i386/i386.h (TARGET_NOCONA): New macro.
(TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
(processor_type): Add PROCESSOR_NOCONA.
-
+
* config/i386/i386.md (cpu): Add nocona to the attribute values.
* config/i386/i386.c (nocona_cost): New variable.
Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
(incdec_operand): Prevent inc/dec generation for Nocona too.
(ix86_issue_rate): Add PROCESSOR_NOCONA.
-
+
2004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
* rtlanal.c (find_reg_note): Manually
2004-04-01 Serge Belyshev <1319@bot.ru>
- PR target/14702
- * config/i386/i386.md: fix source operand constraints in
- mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
+ PR target/14702
+ * config/i386/i386.md: fix source operand constraints in
+ mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
2004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>