OSDN Git Service

PR optimization/12142
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3298828..626e9aa 100644 (file)
+2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR optimization/12142
+       * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
+       uses of the register in the SET_SRC.  Remove unnecessary argument.
+       * pa.c (legitimize_pic_address): Before reload, use a scratch register
+       for the intermediate result in loading the address of a SYMBOL_REF.
+       Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
+       which loads the SYMBOL_REF address.
+
+2003-10-08  Timo Kokkonen  <tjko@iki.fi>
+            Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR bootstrap/12490
+       * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
+       to define the size of the extern_C_braces array.  Set it to 200.
+       (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
+
+2003-10-08  Carlo Wood  <carlo@alinoe.com>
+
+       * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
+       a space after the -o option.  flex 2.5.31 understands both, with
+       and without the space. Removed that space.
+
+2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
+       (compute_frame_size): Initialize it.  Remove the .cprestore slot
+       from args_size.
+       (mips_output_function_prologue): Simplify accordingly.
+       (mips_debugger_offset): Change the mips16 frame pointer offset from
+       current_function_outgoing_args to cfun->machine->frame.args_size.
+       (mips_initial_elimination_offset): Likewise.
+       (mips_expand_prologue): Likewise.
+       (mips_expand_epilogue): Likewise.
+
+2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
+       (EXTRA_MEMORY_CONSTRAINT): Define.
+       (CAN_ELIMINATE): Remove lwu workaround.
+       * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
+       Use a 'W' constraint for the source operand.
+
+2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * genopinit.c (main): Output code to declare undefined
+       variables.
+
+2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * gengtype-lex.l: Remove -Wtraditional cruft.
+       * Makefile.in (gengtype-lex.c): Likewise.
+
+2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
+
+2003-10-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/12519
+       * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
+       it isn't a decl.
+
+2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
+       not overridden.
+       Fixes PR bootstrap/12173.
+
+2003-10-07  Zack Weinberg  <zack@codesourcery.com>
+
+       * errors.c: Don't include coretypes.h or tm.h.
+       (trim_filename): Use IS_DIR_SEPARATOR.
+       * Makefile.in: Update dependencies of errors.o and
+       $(BUILD_PREFIX_1)errors.o.
+
+2003-10-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
+       account when aligning arguments.
+       * calls.c (STACK_POINTER_OFFSET): Move default from here ...
+       * defaults.h (STACK_POINTER_OFFSET): ... to here.
+       * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
+       it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
+       (SPARC_STACK_BOUNDARY_HACK): Define.
+       * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
+       arrange for vector parameters to varargs functions to be passed
+       in both memory and GPRs when appropriate.
+       (rs6000_va_arg): Vector arguments passed in memory are 16-byte
+       aligned.
+
+       * hooks.c (hook_bool_tree_true): New.
+       (hook_rtx_tree_int_null): New.
+       (hook_rtx_rtx_null): Use NULL, not 0.
+       * hooks.h: Add 'extern' to everything.
+       (hook_bool_tree_true): New.
+       (hook_rtx_tree_int_null): New.
+       * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
+       * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
+       * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
+       prototype.
+       * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
+       (setup_incoming_varargs): Prototype.
+       (TARGET_PROMOTE_FUNCTION_ARGS): Define.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Define.
+       (TARGET_STRUCT_VALUE_RTX): Define.
+       (TARGET_RETURN_IN_MEMORY): Define.
+       (TARGET_SETUP_INCOMING_VARARGS): Define.
+       (TARGET_STRICT_ARGUMENT_NAMING): Define.
+       (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
+       (init_cumulative_args): Use rs6000_return_in_memory.
+       (setup_incoming_varargs): Make 'static'.
+       * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
+       (PROMOTE_FUNCTION_RETURN): Delete.
+       (STRUCT_VALUE): Delete.
+       (RETURN_IN_MEMORY): Delete.
+       (SETUP_INCOMING_VARARGS): Delete.
+
+2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (Warning Options): Simplify and clarify the
+       descriptions of -Wnonnull and -Winit-self.
+
+2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
+
+       * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
+       indicees for floating-point conversersion libcalls.
+
+2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Makefile.in: Add more comments separating large conceptually
+       separate sections.
+
+       * configure.in: Clean up thread file logic.
+       * configure: Regenerate.
+
+2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
+       (switch_to_section): Handle in_readonly_data.
+       * config/i386/winnt.c (i386_pe_asm_named_section): Handle
+       readonly data.
+
+2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
+       it.
+       (cbranchne_decr1): New Thumb pattern.
+       * arm.c (arm_addimm_operand): New insn predicate.
+       * arm-protos.h: Add a prototype for it.
+       * arm.h (PREDICATE_CODES): Add it.
+
 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
 
-       * sched-int.h (sched_info): New field 
+       * sched-int.h (sched_info): New field
        sched_max_insns_priority.
        * sched-rgn.c (init_ready_list): Add invocations to
-        targetm.sched.adjust_priority.  
+       targetm.sched.adjust_priority.
        (sched_max_insns_priority): Init new field.
        * sched-ebb.c (sched_max_insns_priority): Init new field.
-        * haifa-sched.c (set_priorities): Set
-       sched_info->sched_max_insns_priority. 
-        * config/rs6000/rs6000.h:
-        (rs6000_sched_restricted_insns_priority_str): Support new
-        flag -mprioritize-restricted-insns.
-        (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
-        * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
-        function.
-        (rs6000_adjust_priority): Change priority of restricted
-        insns, using above new function and new flag.
-        * doc/invoke.texi (-mprioritize-restricted-insns): Document
-        new option.
-       
+       * haifa-sched.c (set_priorities): Set
+       sched_info->sched_max_insns_priority.
+       * config/rs6000/rs6000.h:
+       (rs6000_sched_restricted_insns_priority_str): Support new
+       flag -mprioritize-restricted-insns.
+       (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
+       * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
+       function.
+       (rs6000_adjust_priority): Change priority of restricted
+       insns, using above new function and new flag.
+       * doc/invoke.texi (-mprioritize-restricted-insns): Document
+       new option.
+
 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
 
        * expr.c (cmpstr_optab, cmpmem_optab): New.