diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 938 |
1 files changed, 885 insertions, 53 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8925413080d..95f5461f46c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,835 @@ +2002-03-17 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns + explicitly. + +2002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ifcvt.c (dead_or_predicable): Fix uninitialized variable. + +2002-03-17 David Edelsohn <edelsohn@gnu.org> + + * expr.c (expand_expr): Sign-extend CONST_INT generated from + TREE_STRING_POINTER. + +2002-03-16 Richard Henderson <rth@redhat.com> + + * config/ia64/ia64.c (ia64_attribute_table): Move before + targetm definition. Make static. + +2002-03-16 Neil Booth <neil@daikokuya.demon.co.uk> + + * cppinit.c (print_help): Display -MD and -MMD. + Don't display usage string. Update assertion syntax and + typo. + +2002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use + soft registers by default for 68HC12. + (m68hc11_conditional_register_usage): Don't use Z register for 68HC12 + when compiling with -fomit-frame-pointer. + (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12. + (expand_epilogue): Likewise. + (m68hc11_gen_rotate): Use exg when rotating by 8. + +2002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11-protos.h (ix_reg): Declare. + * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources. + (splits): Remove unused add splits. + ("*addhi3_68hc12"): Tune constraints. + ("addhi_sp"): Try to use X instead of Y in all cases and if the + constant fits in 8-bits and D is dead use abx/aby instructions. + ("*addhi3"): Remove extern declaration of ix_reg. + ("*subsi3"): Optimize and provide new split. + ("subhi3"): Cleanup. + ("*subhi3_sp"): Avoid saving X if we know it is dead. + (arith splits): For 68hc12 save the address register on the stack + and do the arithmetic operation with a pop. + +2002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid + allocating QImode in address registers. + ("*movqi_m68hc11"): Likewise. + +2002-03-15 Mark Mitchell <mark@codesourcery.com> + + * expr.c (expand_expr): Revert previous change. + + * c-common.c (statement_code_p): Handle CLEANUP_STMT. + * c-common.def (CLEANUP_STMT): New tree node. + * c-common.h (CLEANUP_DECL): New macro. + (CLEANUP_EXPR): Likewise. + * c-semantics.c (expand_stmt): Handle CLEANUP_STMT. + * expr.c (expand_expr): Tidy. + * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT. + * tree-inline.c (initialize_inlined_parameters): Clean up + new local variables. + +2002-03-15 Richard Henderson <rth@redhat.com> + + * c-decl.c: Include c-pragma.h. + (start_decl, start_function): Invoke maybe_apply_pragma_weak. + (finish_function): Tidy. + * c-pragma.c: Include c-common.h. + (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New. + (handle_pragma_weak): Use them. + (init_pragma): Register pending_weaks. + * c-pragma.h (maybe_apply_pragma_weak): Declare. + * print-tree.c (print_node): Print DECL_WEAK. + * varasm.c (mark_weak_decls): Remove. + (remove_from_pending_weak_list): Remove. + (add_weak): Remove. + (asm_emit_uninitialised): Call globalize_decl for weak commons. + (weak_decls): Make a tree_list. + (declare_weak): Cons weak_decls directly. + (globalize_decl): Remove weak_decls elements directly. + (weak_finish): Simplify weak_decls walk. Don't weaken unused + symbols. Don't pretend to handle aliases. + (init_varasm_once): Update weak_decls registry. + * Makefile.in: Update dependencies. + +2002-03-15 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_va_arg): Manipulate the type + size as a tree. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst. + ("tstqi" split): Avoid using memory for tstqi on address register. + (splits): Remove constraints. + ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12. + ("cmpdf", "cmpsf"): Remove since not used. + ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2. + (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case. + ("neghi2"): Tighten constraints. + ("one_cmplsi2"): Optimize and simplify split. + * config/m68hc11/larith.asm (__negsi2): Likewise for library. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints + and split of AND operation to clear the upper bits. + ("*logicalsi3_zextqi"): Likewise. + ("*logicallhi3_zexthi_ashift8"): Likewise. + ("*logicalsi3_silshr16"): Likewise. + ("logicalsi3_silshl16"): Likewise. + ("anddi3", "iordi3", "xordi3" splits): Remove constraints. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function. + (m68hc11_indirect_p): New function. + (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12. + (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of + TARGET_M6812. + (asm_print_register): Likewise. + * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare. + (m68hc11_indirect_p): Declare. + * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'. + (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New. + (TARGET_SWITCHES): New option -mrelax. + * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for + destination. + ("iorsi3", "xorsi3"): Likewise. + ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand. + ("*andhi3_mem"): New to handle destination in memory with bclr + and a scratch register. + ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise. + ("*andhi3_const"): New when operand2 is constant. + ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise. + ("*andhi3_gen"): Cleanup of the old "andhi3". + ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise. + ("xorqi3"): Update constraints. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look + for reg_equiv_memory_loc when the operand is a register that does + not get a hard register (stack location). + (tst_operand): After reload, accept all memory operand. + (symbolic_memory_operand): Fix detection of symbolic references. + * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12 + accept symbols and any constant. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC + note on the insn that sets the soft frame register. + (must_parenthesize): ix and iy are also reserved names. + (print_operand_address): One more place where parenthesis are required + to avoid confusion with register names. + (m68hc11_gen_movhi): Allow push of stack pointer. + (m68hc11_check_z_replacement): Fix handling of parallel with a + clobber. + (m68hc11_z_replacement): Must update the REG_INC notes to tell what + the replacement register is. + * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS + and D8_REGS classes. + (MODES_TIEABLE_P): All modes are tieable except QImode. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/larith.asm (___adddi3): Optimize saving of result. + (___subdi3): Likewise. + (__mulsi3, __mulhi32): Avoid using _.tmp scratch location. + (__map_data_section): Optimize 68hc11 case. + +2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher + than a shift to avoid adding a register with itself. + (m68hc11_memory_move_cost): Take into account NO_REGS. + (m68hc11_register_move_cost): Update and use memory move cost + for soft registers. + (m68hc11_address_cost): Make cost of valid offset not 0 so that + it gives more opportunities to cse to optimize. + * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode. + * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update. + +2002-03-15 Jason Merrill <jason@redhat.com> + + * varasm.c (globalize_decl): New fn. + (assemble_start_function): Use it. + (asm_emit_uninitialized): Use it. + (assemble_alias): Use it. + (assemble_variable): Use it. + +2002-03-15 Jason Merrill <jason@redhat.com> + + * varasm.c (assemble_variable): Use zeros for a decl with DECL_INITIAL + of error_mark_node. + +2002-03-15 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/4128 + * config/sparc/sparc.c (gen_v9_scc): Move early clobber test + before movrXX only, use reg_overlap_mentioned_p. + Only special case NE if just one insn can be generated. + +2002-03-15 Richard Earnshaw <rearnsha@arm.com> + + PR target/5712 + * arm.md (movaddr, movaddr_insn): Delete. + +2002-03-15 Jason Merrill <jason@redhat.com> + + * toplev.c (wrapup_global_declarations): Clarify variable handling. + -fkeep-static-consts doesn't apply to comdats. + +2002-03-14 Richard Henderson <rth@redhat.com> + + PR target/5312 + * config/ia64/ia64.c: Include tm_p.h last. + (gen_nop_type): Remove duplicate definition. + (cycle_end_fill_slots): Set sched_data for second L slot. + (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots. + (nop_cycles_until): Fix typos. + +2002-03-15 Jakub Jelinek <jakub@redhat.com> + + PR optimization/5891 + * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag. + +2002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com> + + * config/ia64/unwind-ia64.c: Handle copy_state and label_state + descriptors correctly. + +2002-03-14 Zack Weinberg <zack@codesourcery.com> + + * cpphash.h (struct lexer_state): Remove line_extension member. + * cpplib.c (dequote_string, do_linemarker): New functions. + (linemarker_dir): New data object. + (DIRECTIVE_TABLE): No longer need to interpret #line in + preprocessed source. Delete obsolete comment about return + values of handlers. + (end_directive, directive_diagnostics, _cpp_handle_directive): + Don't muck with line_extension. + (directive_diagnostics): No need to issue warnings for + linemarkers here. + (_cpp_handle_directive): Issue warnings for linemarkers here, + when appropriate. Dispatch linemarkers to do_linemarker, not + do_line. + (do_line): Code to handle linemarkers split out to do_linemarker. + Convert escape sequences in filename argument, both places. + + * cppmacro.c (quote_string): Rename cpp_quote_string and + export. All callers changed. + * cpplib.h (cpp_quote_string): Prototype. + * cppmain.c (print_line): Call cpp_quote_string on to_file + before printing it. + + * doc/cpp.texi: Document that escapes are now interpreted in + #line and in linemarkers, and that non-printing characters are + converted to octal escapes when linemarkers are generated. + +2002-03-14 Richard Earnshaw <rearnsha@arm.com> + Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> + + PR target/5828 + * arm.c (arm_output_epilogue): Fix floating-point register save + adjustment when using a frame pointer. + +2002-03-13 Hans-Peter Nilsson <hp@bitrange.com> + + * config/mmix/mmix.c: Improve comments. + (mmix_target_asm_function_prologue): Drop variable + empty_stack_frame. Don't allocate unused slot above fp. + (mmix_target_asm_function_epilogue): Mirror prologue changes. + (mmix_expand_builtin_va_arg): Do all computations on trees. + * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have + brace in first column. + (enum reg_class): Ditto. + (FIRST_PARM_OFFSET): Now 0. + (USER_LABEL_PREFIX): Remove #if 0:d definition. + (LINK_SPEC): Don't defsym __.MMIX.start..text if linking + relocatably. Always produce ELF, not mmo if linking relocatably. + +2002-03-13 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define. + * config/rs6000/rs6000.c (rs6000_va_arg): Use + std_expand_builtin_va_arg if not ABI_V4. + +2002-03-13 Jakub Jelinek <jakub@redhat.com> + + PR target/5626 + * config/sparc/sparc.md (normal_branch, inverted_branch, + normal_fp_branch, inverted_fp_branch, normal_fpe_branch, + inverted_fp_branch): Adjust calls to output_cbranch. + Set length attribute. + (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to + output_v9branch. Set length attribute. + * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New + predicates. + (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode. + (output_cbranch): Likewise. Handle far branches. + (output_v9branch): Handle far branches. + * config/sparc/sparc-protos.h (output_cbranch, output_v9branch): + Adjust prototypes. + * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and + noov_compare64_op predicates. + +2002-03-13 Jason Merrill <jason@redhat.com> + + * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr + into the function and constify it. + * gthr-dce.h, gthr-solaris.h: Likewise. + +2002-03-12 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.c (cris_print_operand): Avoid + traditional-warning for 0xffffffff. + (cris_expand_builtin_va_arg): Do all computations on trees. + +2002-03-13 Ulrich Weigand <uweigand@de.ibm.com> + + * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with + VOIDmode operand. Add compile-time optimization for constant results. + +2002-03-13 Hartmut Penner <hpenner@de.ibm.com> + + * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code + before prologue, to avoid scheduling problems. + +2002-03-13 Jakub Jelinek <jakub@redhat.com> + + * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove. + (ELIMINABLE_REGS): Add sfp->sp. + (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too. + +2002-03-13 Jakub Jelinek <jakub@redhat.com> + + PR optimization/5892 + * config/ia64/ia64.c (rotate_one_bundle): Update current packet. + +2002-03-13 Jakub Jelinek <jakub@redhat.com> + + * loop.c (basic_induction_var): Don't call convert_modes if mode + classes are different. + +2002-03-12 Richard Henderson <rth@redhat.com> + + PR optimization/5901 + * function.c (reposition_prologue_and_epilogue_notes): Position + the markers after/before the last/first insn not deleted. + +2002-03-12 Richard Henderson <rth@redhat.com> + + PR optimization/5878 + * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h, + config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h + (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic. + + * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h, + config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set + PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic. + + * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New. + * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM. + (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK + also. Don't set it if not flag_pic. + * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM + to be INVALID_REGNUM when not used. + +2002-03-13 Aldy Hernandez <aldyh@redhat.com> + + * expmed.c (store_bit_field): Reset alias set for memory. + (extract_bit_field): Same. + +2002-03-12 Chris Meyer <cmeyer@gatan.com> + + * genflags.c (gen_insn): Use IS_VSPACE. + * genoutput.c (output_insn_data): Likewise. + (process_template): Likewise. + +2002-03-12 Bob Wilson <bob.wilson@acm.org> + + * config/xtensa/xtensa.c (xtensa_expand_block_move): Use + validize_mem() instead of change_address to avoid clobbering + memory attributes. + +2002-03-12 Jakub Jelinek <jakub@redhat.com> + + * c-lex.c (cb_ident, c_lex): Remove unnecessary cast. + (lex_string): Use unsigned char pointers. + +2002-03-12 Ulrich Weigand <uweigand@de.ibm.com> + + * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent + is not a valid memory_operand. + +2002-03-12 Bob Wilson <bob.wilson@acm.org> + + * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS. + * config/xtensa/lib1funcs.asm: Fix copyright to include + special case for libgcc files. + (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0. + (__divsi3): Likewise. + (__umodsi3): Likewise. + (__modsi3): Likewise. + * config/xtensa/lib2funcs.S: Fix copyright to include + special case for libgcc files. + +2002-03-12 Michael Matz <matz@suse.de> + + * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER. + (ne0+5): Use new clobber to generate proper shift pattern. + +2002-03-12 Bob Wilson <bob.wilson@acm.org> + + * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define. + +2002-03-12 Bob Wilson <bob.wilson@acm.org> + + * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch + to function_section before writing out the constant pool. + +2002-03-12 Zack Weinberg <zack@codesourcery.com> + + * Makefile.in: Give texi2pod its input file as a command + line argument, not on stdin. + +2002-03-12 Andrew MacLeod <amacleod@redhat.com> + + * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in + address calculation. + +2002-03-12 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.md (reload_insi, reload_indi): Change mode of + scratch register to DImode / TImode. + config/s390/s390.c (s390_expand_plus_operand): Make sure scratch + register used does not overlap the target. + +2002-03-11 Neil Booth <neil@daikokuya.demon.co.uk> + + * Makefile.in: Update. +doc: + * cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi. + Update documentation. + * gcc.texi: Include cppopts.texi and cppenv.texi. + * cpp.texi: Include cppopts.texi and cppenv.texi. + +2002-03-11 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register. + +2002-03-11 Douglas B Rupp <rupp@gnat.com> + + * toplev.c (vms_fopen): Remove, not needed. + + * vmsdbgout.c (lookup_filename): Adjust creation date for GMT. + + * config/alpha/xm-vms.h (__UNIX_FWRITE): Define. + + * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space + for FP, already done later. + + * toplev.c (debug_args): Add entry for VMS_DEBUG. + * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc. + +2002-03-10 Richard Henderson <rth@redhat.com> + + PR 5693 + * reload.c (copy_replacements_1): New. + (copy_replacements): Use it to recurse through the rtx. + +2002-03-10 Richard Henderson <rth@redhat.com> + + * sched-rgn.c (add_branch_dependences): Don't allow insns that throw + to move away from the end of the block. + +2002-03-10 Neil Booth <neil@daikokuya.demon.co.uk> + + PR preprocessor/5899 + * cppinit.c (init_dependency_output): Don't ignore -dM etc. + +2002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * combine.c (make_extraction): Fix error in last change. + +2002-03-09 Jakub Jelinek <jakub@redhat.com> + + PR optimization/5172, optimization/5200 + * gcse.c (gcse_main): Disable store_motion. + +2002-03-09 Andreas Schwab <schwab@suse.de> + + * gcc.c (validate_all_switches): Also handle `%W{...}'. + +2002-03-09 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/5877 + * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW + even for non-representable constants. + +Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share. + * function.c (fixup_var_refs): Add MAY_SHARE parameter. + (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise. + (fixup_var_refs_insn, fixup_var_refs_1): Likewise. + (pop_function_context): Compute MAY_SHARE parameter for + fixup_var_refs. + (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR. + (gen_mem_addressof): Call fixup_var_refs with new parm. + + * combine.c (make_extraction): Don't make extension of CONST_INT. + +2002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * sparc.c (arith_4096_operand): Fix error in last change. + +2002-03-08 Aldy Hernandez <aldyh@redhat.com> + + * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for + vectors. + +2002-03-08 Aldy Hernandez <aldyh@redhat.com> + + * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec. + +2002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org> + + * doc/install.texi (--with-libiconv-prefix): Document. + +2002-03-08 Michael Y. Brukman <myb2@cornell.edu> + + * doc/sourcebuild.texi: Fix typo. + +2002-03-08 Jakub Jelinek <jakub@redhat.com> + + PR c/3711 + * builtins.c (std_expand_builtin_va_arg): Do all computations on + trees. + +Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * rtl.c (copy_most_rtx): Move from here ... + * emit-rtl.c (copy_most_rtx): ... to here. + +2002-03-08 Richard Earnshaw <rearnsha@arm.com> + + * combine.c (simplify_comparison): If simplifying a logical shift + right and compare with constant, force the comparison to unsigned. + +2002-03-07 Ulrich Weigand <uweigand@de.ibm.com> + + * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP. + genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP + and MATCH_OP_DUP. + +2002-03-07 Aldy Hernandez <aldyh@redhat.com> + + * doc/invoke.texi: Add documentation for -mabi=no-altivec. + + * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add + -mabi=no-altivec + (alt_reg_names): Remove % for vrsave. + +2002-03-06 Jeffrey A Law (law@redhat.com) + + * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains + after completing fast dead code elimination. + +2002-03-06 Richard Henderson <rth@redhat.com> + + PR optimization/5844 + * genemit.c (gen_exp): New argument used. Invoke copy_rtx + if used indicates we've already emitted one copy of an operand. + (gen_insn, gen_expand, output_add_clobbers): Supply a null used. + (gen_split): Supply a non-null used. + +2002-03-06 Ulrich Weigand <uweigand@de.ibm.com> + + * simplify-rtx.c (simplify_plus_minus): Do not abort, + but simply fail if the expression is too complex to simplify. + (simplify_gen_binary): Handle simplify_plus_minus failures. + +2002-03-06 Ulrich Weigand <uweigand@de.ibm.com> + + * reload1.c (reload): Unshare all rtl after reload is done. + +2002-03-06 Jakub Jelinek <jakub@redhat.com> + + * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05 + patch. + +2002-03-05 Zack Weinberg <zack@codesourcery.com> + + * cppmain.c (setup_callbacks): Disable #pragma and #ident + callbacks when processing assembly language. + +2002-03-06 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * pa.h (ASM_FILE_END): Define. + * som.h (ASM_FILE_END): Delete. + + * pa.c (function_arg): Don't pass floats in general registers in + indirect calls if TARGET_ELF32. + +2002-03-05 Richard Henderson <rth@redhat.com> + + * config/i386/i386.md (floatsidf2): Conditionalize on hard-float. + +2002-03-05 Jakub Jelinek <jakub@redhat.com> + + * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc + -r command line. Don't hide any symbols if not building + shared libgcc. + +2002-03-05 Jakub Jelinek <jakub@redhat.com> + + * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2 + wide volatile memory by parts. + +2002-03-05 Jakub Jelinek <jakub@redhat.com> + + * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def + is NULL. + +2002-03-05 Richard Henderson <rth@redhat.com> + + * config/rs6000/rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error. + +2002-03-04 Krister Walfridsson <cato@df.lth.se> + + * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file. + +2002-03-05 Joseph S. Myers <jsm28@cam.ac.uk> + + * configure.in: Increase required makeinfo version to 4.1. + * configure: Regenerate. + +2002-03-04 Joseph S. Myers <jsm28@cam.ac.uk> + + * doc/include/texinfo.tex: Update to version 2002-03-01.06. + * doc/invoke.texi: Fix @math uses. + +2002-03-02 Per Bothner <per@bothner.com> + + * gcc.c (option_map): Suport new --bootclasspath option. + --CLASSPATH is now just an alias for --classpath. + +Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * config/sparc/sparc.c (sparc_initialize_trampoline): Use + trunc_int_for_mode. + + * emit-rtl.c (offset_address): Call update_temp_slot_address. + +2002-03-01 Richard Henderson <rth@redhat.com> + + * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not + adjust argument_pointer by pretend_args_size. + (ia64_va_start): Adjust va_start address by -pretend_args_size. + +2002-03-01 Zack Weinberg <zack@codesourcery.com> + + * doc/cpp.texi: Clarify documentation of relationship between + #line and #include. + +2002-02-28 Richard Henderson <rth@redhat.com> + + * expmed.c (store_bit_field): Prevent generation of CONCATs; + pun complex values as integers; use gen_lowpart instead of + gen_rtx_SUBREG. + (extract_bit_field): Likewise. + +2002-02-28 David O'Brien <obrien@FreeBSD.org> + + * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification + of "ultrasparc". + * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears + to be broken. + +2002-02-28 Alexandre Oliva <aoliva@redhat.com> + + * gcc.c (init_gcc_specs): Get -static and -static-libgcc to + override -shared and -shared-libgcc. + +2002-02-28 Andrew MacLeod <amacleod@redhat.com> + + * dwarf2out.c (stack_adjust_offset): Add support for POST_INC, + POST_DEC, and POST_MODIFY. + +2002-02-28 Joseph S. Myers <jsm28@cam.ac.uk> + + * doc/invoke.texi, doc/standards.texi: Link to + gcc-3.1/c99status.html. + +2002-02-28 Richard Henderson <rth@redhat.com> + + * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have + 4 cycle latency from MM producers. + (ia64_internal_sched_reorder): Likewise with pipeline flush. + +2002-02-28 Jakub Jelinek <jakub@redhat.com> + + * mklibgcc.in: Don't use GNU make extension. + +2002-02-28 Richard Henderson <rth@redhat.com> + + * haifa-sched.c (sched_emit_insn): New. + (schedule_block): Use last_scheduled_insn to track last insn. + * sched-int.h (sched_emit_insn): Prototype. + * config/ia64/ia64.c (last_issued): Remove. + (ia64_variable_issue): Don't set it. + (nop_cycles_until): Use sched_emit_insn. + +2002-02-28 Bo Thorsen <bo@suse.de> + + * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation. + (STARTFILE_SPEC): Add 64 bit files. + (ENDFILE_SPEC): Likewise. + +Don Feb 28 16:41:19 CET 2002 Jan Hubicka <jh@suse.cz> + + * cfgrtl.c (purge_dead_edges): Fix handling of EH edges. + + * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to + PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM + + * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Always define. + +2002-02-28 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete. + * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete. + +2002-02-28 Alan Modra <amodra@bigpond.net.au> + + * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE. + +2002-02-28 Jason Merrill <jason@redhat.com> + + * c-decl.c (finish_function): Only warn about missing return + statement with -Wreturn-type. + +2002-02-27 Zack Weinberg <zack@codesourcery.com> + + * mklibgcc.in: Don't use \n in a line subject to + interpretation by echo. + +2002-02-27 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.c (s390_chunkify_pool): Do not confuse + insn UIDs with insn addresses. + +2002-02-27 Graham Stott <grahams@redhat.com> + + * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECL): + Constify NAME. + + * loop.c (prescan_loop): Handle PARALLEL. + + * unroll.c (loop_iterations): Return 0 if the add_val for + a BIV is REG. + + * final.c (output_operand_lossage): Constify PFX_STR. + + * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE. + +2002-02-26 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.md (ashldi_se): Re-enable. + +2002-02-26 Kelley Cook <kelleycook@comcast.net> + + * config/i386/i386.c (print_operand): Don't append ATT-style + length suffixs to x87 opcodes when in Intel mode. + +2002-02-26 Ryan T. Sammartino <ryants@shaw.ca> + + * emit-rtl.c (gen_const_vector_0): Remove TYPE argument. + (init_emit_once): Update calls. + * fixinc/gnu-regex.c (_GNU_SOURCE): Remove. + (init_syntax_once): Prototype. + +2002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * pa-linux.h (LIB_SPEC): Update definition. + * pa32-linux.h (LINK_COMMAND_SPEC): Delete. + +2002-02-26 Alexandre Oliva <aoliva@redhat.com> + + * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract, + generate a die for the lexical block. + +2002-02-26 Richard Henderson <rth@redhat.com> + + * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law + in EXPAND_SUM case. Use host_integerp/tree_low_cst. + +2002-02-26 Richard Henderson <rth@redhat.com> + + * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers + if we emitted a stop bit. + +2002-02-26 Jakub Jelinek <jakub@redhat.com> + + * configure.in (libgcc_visibility): Substitute. + * configure: Rebuilt. + * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global + defined symbols .hidden. + +2002-02-26 Jakub Jelinek <jakub@redhat.com> + + PR debug/5770 + * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for + STRING_CST initializer spanning the whole variable without + embedded zeros. + If expand_expr returned MEM, don't use it. + 2002-02-25 Jakub Jelinek <jakub@redhat.com> PR target/5755 @@ -17,7 +849,7 @@ 2002-02-25 Aldy Hernandez <aldyh@redhat.com> - * c-typeck.c (push_init_level): Handle vectors. + * c-typeck.c (push_init_level): Handle vectors. 2002-02-25 Alexandre Oliva <aoliva@redhat.com> @@ -35,11 +867,11 @@ 2002-02-25 Aldy Hernandez <aldyh@redhat.com> - * config/rs6000/rs6000.md ("get_vrsave_internal"): New. - ("*set_vrsave_internal"): use mfspr for Darwin. + * config/rs6000/rs6000.md ("get_vrsave_internal"): New. + ("*set_vrsave_internal"): use mfspr for Darwin. - * config/rs6000/rs6000.c (rs6000_emit_prologue): Call - gen_get_vrsave_internal. + * config/rs6000/rs6000.c (rs6000_emit_prologue): Call + gen_get_vrsave_internal. Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> @@ -133,7 +965,7 @@ Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2002-02-23 Aldy Hernandez <aldyh@redhat.com> - * config/rs6000/altivec.h: Add extra level of parentheses on casts. + * config/rs6000/altivec.h: Add extra level of parentheses on casts. 2002-02-22 David Edelsohn <edelsohn@gnu.org> @@ -283,7 +1115,7 @@ Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com> 2002-02-20 Torbjorn Granlund <tege@swox.com> * config/avr/avr.md: Add more patterns for mized-mode add and subtract - (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend). + (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend). Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com> @@ -955,20 +1787,20 @@ Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2002-02-14 Aldy Hernandez <aldyh@redhat.com> - * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors. + * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors. - * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX. + * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX. 2002-02-14 Aldy Hernandez <aldyh@redhat.com> - * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r - alternatives. - ("*movv8hi_internal1"): Same. - ("*movv16qi_internal1"): Same. - ("*movv4sf_internal1"): Same. + * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r + alternatives. + ("*movv8hi_internal1"): Same. + ("*movv16qi_internal1"): Same. + ("*movv4sf_internal1"): Same. - * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do - not push_reload for altivec modes. + * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do + not push_reload for altivec modes. 2002-02-13 Joel Sherrill <joel@OARcorp.com> @@ -1081,17 +1913,17 @@ Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz> 2002-02-12 Aldy Hernandez <aldyh@redhat.com> - * config/rs6000/rs6000.md: Use predicate altivec_register_operand - for altivec_lvx* and altivec_stvx*. - ("*movv4si_internal"): Add constraint for loading from GPRs. - ("*movv8hi_internal1"): Same. - ("*movv16qi_internal1"): Same. - ("*movv4sf_internal1"): Same. + * config/rs6000/rs6000.md: Use predicate altivec_register_operand + for altivec_lvx* and altivec_stvx*. + ("*movv4si_internal"): Add constraint for loading from GPRs. + ("*movv8hi_internal1"): Same. + ("*movv16qi_internal1"): Same. + ("*movv4sf_internal1"): Same. - * config/rs6000/rs6000.c (altivec_register_operand): New. + * config/rs6000/rs6000.c (altivec_register_operand): New. - * config/rs6000/rs6000.h (PREDICATE_CODES): Add - altivec_register_operand. + * config/rs6000/rs6000.h (PREDICATE_CODES): Add + altivec_register_operand. 2002-02-13 Hans-Peter Nilsson <hp@bitrange.com> @@ -1100,15 +1932,15 @@ Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz> 2002-02-13 Stan Shebs <shebs@apple.com> - * c-typeck.c (digest_init): Handle vectors. - (really_start_incremental_init): Same. - (pop_init_level): Same. - (process_init_element): Same. + * c-typeck.c (digest_init): Handle vectors. + (really_start_incremental_init): Same. + (pop_init_level): Same. + (process_init_element): Same. - * varasm.c (output_constant): Same. + * varasm.c (output_constant): Same. - * expr.c (clear_storage): Same. - (store_constructor): Same. + * expr.c (clear_storage): Same. + (store_constructor): Same. 2002-02-12 Eric Christopher <echristo@redhat.com> @@ -2177,9 +3009,9 @@ Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz> 2002-02-08 Chris Demetriou <cgd@broadcom.com> - * config/mips/mips.md (casesi_internal, casesi_internal_di): - Protect jump delay slot instructions with .set noreorder and - .set nomacro. + * config/mips/mips.md (casesi_internal, casesi_internal_di): + Protect jump delay slot instructions with .set noreorder and + .set nomacro. 2002-02-08 Chris Demetriou <cgd@broadcom.com> @@ -2415,7 +3247,7 @@ Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz> 2002-02-06 Aldy Hernandez <aldyh@redhat.com> - * config/rs6000/altivec.h: Change elem to _S_elem. + * config/rs6000/altivec.h: Change elem to _S_elem. 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com> @@ -2565,10 +3397,10 @@ Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * config/arm/arm.h (machine_function): Add uses_anonymous_args field. - (SETUP_INCOMING_VARARGS): Set uses_anonymous_args. + (SETUP_INCOMING_VARARGS): Set uses_anonymous_args. * config/arm/arm.c (current_function_anonymous_args): Delete, - replace uses with cfun->machine->uses_anonymous_args. - (arm_reorg): Do not reset uses_anonymous_args. + replace uses with cfun->machine->uses_anonymous_args. + (arm_reorg): Do not reset uses_anonymous_args. * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in any geenral register. @@ -2675,8 +3507,8 @@ Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com) 2002-02-04 Hartmut Penner <hpenner@de.ibm.com> - * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in - constant pool to be identical by string address and index. + * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in + constant pool to be identical by string address and index. 2002-02-04 Anthony Green <green@redhat.com> @@ -2831,18 +3663,18 @@ doc: 2002-01-30 Andrew Haley <aph@cambridge.redhat.com> - * config/stormy16/stormy16.md (pushqi): New. - (popqi): New. - (pushhi): New. - (pophi): New. - (movhi): Remove stack operands. - (movqi): Likewise. - * config/stormy16/stormy16.h (PREDICATE_CODES): Add - nonimmediate_nonstack_operand. - * config/stormy16/stormy16.c (nonimmediate_nonstack_operand): - New. - * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand) - New. + * config/stormy16/stormy16.md (pushqi): New. + (popqi): New. + (pushhi): New. + (pophi): New. + (movhi): Remove stack operands. + (movqi): Likewise. + * config/stormy16/stormy16.h (PREDICATE_CODES): Add + nonimmediate_nonstack_operand. + * config/stormy16/stormy16.c (nonimmediate_nonstack_operand): + New. + * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand) + New. 2002-01-31 Jason Merrill <jason@redhat.com> |