OSDN Git Service

2004-04-23 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 68cec2a..b45f29a 100644 (file)
@@ -1,3 +1,249 @@
+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