OSDN Git Service

Forgot to indicate PR number on last checkin.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8fab6e1..70c9441 100644 (file)
@@ -1,3 +1,355 @@
+2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
+           Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
+
+       PR other/7031
+       * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
+       gcov.
+
+2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
+       section names.
+       * configure: Regenerate.
+
+2003-06-07  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
+
+2003-06-06  James E Wilson  <wilson@tuliptree.org>
+
+       PR inline-asm/10890
+       * reload1.c (merge_assigned_reloads): Abort only if two reloads have
+       different in fields.
+
+2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Make $(target_subdir) correspond with top level usage.
+       * Makefile.in: Likewise.
+       * configure: Regenerate.
+
+2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
+       ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
+       unsigned HOST_WIDE_INT.
+       * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
+       Likewise.
+       * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
+       Likewise.
+
+2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/install.texi (Prerequisites): New section documenting
+       tools and packages necessary prior to building and/or
+       modifying GCC.
+       * doc/install.texi2html: Also generate prerequisites.html.
+
+2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/11052
+       * ifcvt.c (noce_process_if_block): Fail if the destination has
+       side-effects.
+
+2003-06-06  Jason Merrill  <jason@redhat.com>
+
+       * stmt.c (resolve_asm_operand_names): Rename from
+       resolve_operand_names.  No longer static.  Avoid needless copying.
+       Don't build array of constraints.
+       (expand_asm_operands): Build it here.
+       * tree.h: Declare resolve_asm_operand_names.
+
+       * stmt.c (expand_decl): Put artificial vars into registers even
+       when not optimizing, and don't mark the regs as user vars.
+
+2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
+       of the generated register.
+
+2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config.gcc: Add a missing sparc64 case.
+
+2003-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * mklibgcc.in: Propagate .note.GNU-stack section if needed into
+       the .hidden assembly stubs.
+
+2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
+
+       * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
+       and x86_64-*-*.
+
+       * config/i386/mmintrin.h: Update version and add alternate
+       intrinsic names.
+       * config/i386/xmmintrin.h: Likewise.
+
+       * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
+       intrinsics to ...
+       * config/i386/emmintrin.h: Here. New file.
+
+2003-06-06  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
+       fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
+       when the ABS_EXPR (fabs or abs) is not required.
+       (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
+       always nonnegative from fold to here.  Additionally, cabs and fabs
+       are always non-negative, and pow and atan are non-negative if
+       their first argument is non-negative.
+
+       * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
+       Evaluate cabs of a constant at compile-time.  Convert cabs of a
+       non-complex argument into fabs.  Convert cabs(z) into
+       sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
+       -funsafe-math-optimizations or -ffast-math.
+       (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
+       Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
+
+Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * sourcebuild.texi (Front End Directory): Document new hooks.
+
+Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
+       * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
+       stack frames.
+       (pro_epilogue_adjust_stack_rex64_2): New pattern
+
+Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
+                              Pop Sebastian
+                              Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfghooks.h, cfghooks.c: New files.
+       * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
+       (OBJS): Add cfghooks.o.
+       (cfghooks.o): New rule.
+       * basic-block.h (split_edge): Rename to rtl_split_edge.
+       (verify_flow_info): Rename to rtl_verify_flow_info.
+       (cfghooks.h): Included here.
+       * cfgrtl.c (split_edge): Renamed rtl_split_edge.
+       (verify_flow_info): Renamed rtl_verify_flow_info.
+       * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
+
+       * basic-block.h (split_block, split_edge, flow_delete_block,
+       redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
+       (flow_delete_block_noexpunge):  Return void.
+       * cfg.c (verify_flow_info): New function.
+       * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
+       try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
+       Use delete_block.
+       * cfglayout.c (function_footer): Rename to...
+       (cfg_layout_function_footer): ... this variable
+       (unlink_insn_chain): Make global.
+       (fixup_reorder_chain, record_effective_endpoints): Update.
+       (cleanup_unconditional_jumps): Use delete_block.
+       (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
+       (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
+       (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
+       * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
+       (cfg_layout_function_footer): Declare.
+       * cfgloopmanip (split_loop_bb): Do not update RBI.
+       (remove_bbs): Use delete_block.
+       (loop_reidrect_edge, loop_delete_branch_edge): Use
+       redirect_edge_and_branch.
+       (create_preheader): Use split_block and redirect_edge_and_branch_force.
+       (split_edge_with): Likewise.
+       * cfgrtl.c: Include cfglayout.h
+       (split_edge): Rename to ...
+       (rtl_split_edge) ... this one; make local.
+       (redirect_edge_and_branch): Rename to ...
+       (rtl_redirect_edge_and_branch) ... this one; make local.
+       (redirect_edge_and_branch_force): Rename to ...
+       (rtl_redirect_edge_and_branch_force) ... this one; make local.
+       (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
+       (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
+       cfglayout.c; update to directly call RTL counterparts.
+       (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
+       * ifcvt.c (find_cond_trap): Use delete_block.
+       (find_if_case_1): Use delete_block.
+       (find_if_case_2): Use delete_block.
+       * rtl.h (unlink_insn_chain): Declare.
+       * toplev.c (rtl_reigster_cfg_hooks): New.
+
+2003-06-05  Richard Henderson  <rth@redhat.com>
+
+       * recog.c (peephole2_optimize): Revert last change.
+
+2003-06-05  Richard Henderson  <rth@redhat.com>
+
+       * recog.c (peephole2_optimize): Don't split block unless
+       can_throw_internal.
+
+2003-06-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
+       * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
+
+2003-06-05  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       PR optimization/4490
+       * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
+       * doc/invoke.texi (m96bit-long-double, m128bit-long-double):  Reword
+       documentation to accurately reflect what these options do.
+
+2003-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (STARTFILE_SPEC): Handle -pie.  Simplify.
+       (ENDFILE_SPEC): Redefine to handle -pie.
+
+2003-06-05  Phil Edwards <phil@jaj.com>
+
+       * Makefile.in (qmtest-g++): Use target_alias, not target.
+
+2003-06-05  Per Bothner  <pbothner@apple.com>
+
+       * toplev.c (push_srcloc):  Simplify behavior to save current location
+       and set current location to parameters.
+       (pop_srcloc):  Simplify semantics.
+       (lang_dependent_init):  Remove now-useless initial push_srcloc.
+
+2003-05-06  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (loc_descriptor_from_tree): Return 0 for 
+       language-specific tree codes.
+
+2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/9986
+       * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
+       BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
+
+Thu Jun  5 18:32:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * install.tex: Document profiledbootstrap.
+
+       * configure.in:  Add support for lang.stageprofile and
+       lang.stagefeedback
+       * Makefile.in (clean, distclean): Kill new stages
+       (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
+       (STAGE2_FLAGS_TO_PASS): ... this one.
+       (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
+       (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
+       (stageprofile_build, stageprofile_copy, stagefeedback_build,
+       stagefeedback_copy): New.
+       (restageprofile, restagefeedback, stageprofile-start, 
+       stageprofile, stagefeedback-start): Likewise.
+
+2003-06-05  David Miller  <davem@redhat.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (HAVE_conditional_trap): Provide default.
+       (gen_conditional_trap): Likewise.
+       (init_optabs): Merge init_traps.
+       (gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
+
+Thu Jun  5 14:59:44 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
+       is REG for nonzero_bits (REG) == 8.  
+
+Thu Jun  5 13:23:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (align): Fix warning; clarify what to do when no p2align
+       is available.
+
+2003-06-05  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc (m32r-elf): Revert previous delta.
+        * config/m32r/t-m32r (crtinit.o): Fix rule to work with
+        multilibs.  Remove m32rx specific version.
+        (crtfini.o): Likewise.
+        (EXTRA_MULTILIB_PARTS): Define.
+        
+2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/md.texi (Machine Constraints): Correct the meaning of
+       constraints related to floating-point registers on SPARC.
+
+2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+            Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/10663
+       * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
+       assembler and linker output to /dev/null.
+       Use a 'sed' construct instead of 'grep -A1'.
+       * configure: Regenerate.
+
+2003-06-04  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (struct ix86_address): Add seg.
+       (no_seg_address_operand): New.
+       (ix86_decompose_address): Restructure PLUS loop.  Accept one
+       UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
+       to test for a regnum, not stack_pointer_rtx.
+       (ix86_address_cost): Reduce cost if non-default segment.
+       (legitimate_address_p): Remove UNSPEC_TP check.
+       (get_thread_pointer): Add to_reg argument.  Don't represent
+       the thread pointer as a memory load.
+       (legitimize_tls_address): Split out of ...
+       (legitimize_address): ... here.
+       (print_operand_address): Handle parts.seg.
+       (ix86_expand_move): Use legitimize_tls_address.
+       (ix86_rtx_costs): Handle UNSPEC_TP.
+       * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
+       (TARGET_TLS_DIRECT_SEG_REFS): New.
+       (TARGET_SWITCHES): Add tls-direct-seg-refs.
+       (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
+       (PREDICATE_CODES): Add no_seg_address_operand.
+       * config/i386/i386.md (lea_1): Use it.
+       (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
+       (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
+       * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
+       * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
+       * doc/invoke.texi: Add -mtls-direct-seg-refs.
+
+2003-06-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
+       (QMTEST_GPP_TESTS): Use "g++" by default.
+       (stamp-qmtest): Tweak database creation.
+       (QMTEST_DIR/context): Update context file format.
+       (qmtest-g++): Tweak command-line.
+
+2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (varasm.o): Don't set -Wno-error.
+       * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
+
+2003-06-04  Zack Weinberg  <zack@codesourcery.com>
+
+       PR bootstrap/3163
+       * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
+       (gcc_AC_FUNC_MMAP_BLACKLIST): New.
+       * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
+       and AC_CHECK_FUNCS lists, respectively.  Use
+       gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
+       AC_FUNC_MMAP_FILE.
+       * configure, config.in: Regenerate.
+
+2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
+       * arm.c (arm_output_function_prologue): Fix format specifiers.
+       * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
+       * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
+       HOST_WIDE_INT_PRINT_DEC.
+       * vax.c (vax_output_function_prologue): Fix format specifiers.
+
+2003-06-04  Richard Henderson  <rth@redhat.com>
+
+       * cse.c (find_best_addr): Consider binary operators even if second
+       argument is not CONST_INT.
+
+2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * doc/invoke.texi (max-cse-path-length): Document.
+
+2003-06-04  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
+
 2003-06-04  Andrew Pinski <pinskia@physics.uc.edu>
 
        * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
@@ -5,7 +357,7 @@
 
 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * i370.c (mvs_function_name_length): Fix signed/unsigned warnings. 
+       * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
        * i370.h (mvs_function_name_length): Likewise.
        * i960.h (CONSTANT_ALIGNMENT): Likewise.
        * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
 
 2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
-        complex numbers <= 32 bits into two registers.
+       * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
+       complex numbers <= 32 bits into two registers.
 
 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
        * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
        * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
-       ASM_OUTPUT_SKIP): Likewise. 
+       ASM_OUTPUT_SKIP): Likewise.
        * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
        * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
        * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
 
 2003-06-04  Richard Henderson  <rth@redhat.com>
 
-        * c-common.c (handle_cleanup_attribute): New.
-        (c_common_attributes): Add it.
-        * c-decl.c (finish_decl): Honor the cleanup attribute.
-        * doc/extend.texi (Variable Attributes): Document it.
+       * c-common.c (handle_cleanup_attribute): New.
+       (c_common_attributes): Add it.
+       * c-decl.c (finish_decl): Honor the cleanup attribute.
+       * doc/extend.texi (Variable Attributes): Document it.
 
-        * unwind-c.c: New file.
-        * Makefile.in (LIB2ADDEH): Add it.
-        * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
-        config/ia64/t-ia64: Likewise.
+       * unwind-c.c: New file.
+       * Makefile.in (LIB2ADDEH): Add it.
+       * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
+       config/ia64/t-ia64: Likewise.
 
 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
 
@@ -340,7 +692,7 @@ Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
        INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
-       
+
        * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
        (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
        (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
@@ -368,7 +720,7 @@ Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
        (frame_dummy): Likewise.
        * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
        * system.h: Poison CRT_GET_RFIB_TEXT.
-       
+
        * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
 
        * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
@@ -471,27 +823,27 @@ Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
 2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
 
-        * function.c (assign_parms): Split complex arguments.
+       * function.c (assign_parms): Split complex arguments.
 
-        * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
+       * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
 
-        * expr.h (SPLIT_COMPLEX_ARGS): Define.
-        (split_complex_types): Protoize.
-        (split_complex_values): Protoize.
+       * expr.h (SPLIT_COMPLEX_ARGS): Define.
+       (split_complex_types): Protoize.
+       (split_complex_values): Protoize.
 
-        * calls.c (expand_call): Split complex arguments on architectures
-        that require it.
-        (split_complex_values): New.
-        (split_complex_types): New.
+       * calls.c (expand_call): Split complex arguments on architectures
+       that require it.
+       (split_complex_values): New.
+       (split_complex_types): New.
 
-        * config/rs6000/rs6000.c (rs6000_libcall_value): New.
-        (rs6000_function_value): Handle complex values on AIX.
-        (rs6000_complex_function_value): New.
+       * config/rs6000/rs6000.c (rs6000_libcall_value): New.
+       (rs6000_function_value): Handle complex values on AIX.
+       (rs6000_complex_function_value): New.
 
-        * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
+       * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
 
-        * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
-        (SPLIT_COMPLEX_ARGS): New.
+       * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
+       (SPLIT_COMPLEX_ARGS): New.
 
 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
 
@@ -604,7 +956,7 @@ Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
 2003-06-02  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
 
-        * gcc/config.gcc Add support multilib parts for m32rx processor.
+       * gcc/config.gcc Add support multilib parts for m32rx processor.
 
 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>