2002-01-25 DJ Delorie * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare using rtx_equal_p, not by comparing pointers. 2002-01-25 Steve Ellcey * emit-rtl.c (gen_rtx_REG): Always return the same rtx for PIC_OFFSET_TABLE_REGNUM. (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx. 2002-01-25 David O'Brien * config.gcc (x86_64-*-freebsd*): New target. (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its value. (i[34567]86-*-freebsd*): Don't include svr4.h. * config/i386/freebsd64.h: New file. 2002-01-25 Douglas B Rupp * config/alpha/x-vms (version): Make static. * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error in previous checkin. * Makefile.in (install-headers-cp): New target. * config.gcc (alpha-dec-*vms*): Install headers with install-headers-cp Fri Jan 25 22:42:49 CET 2002 Jan Hubicka * unroll.c (unroll_loop): Lower final_value to nonmemory operand; avoid it's copies. Fri Jan 25 08:26:19 2002 Richard Kenner * builtins.c (expand_builtin_strncpy): Use integer_zerop instead of compare_tree_int. (expand_builtin_strncat): Likewise. * c-decl.c (finish_struct): Use tree_low_cst. * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT. * tree.c (compare_tree_int): Likewise. 2002-01-25 Ulrich Weigand * reload1.c (eliminate_regs_in_insn): Recognize frame pointer adjustments even if they are implemented by more than two insns. Fri Jan 25 20:43:56 CET 2002 Jan Hubicka * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg. * df.h (struct ref): Kill B. (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN. * basic-block.h (PROP_EQUAL_NOTES): New flag. * flow.c (propagate_one_insn): Use it. (mark_used_regs): Handle NIL. 2001-01-25 Geoffrey Keating * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM to help folding. 2002-01-25 David Edelsohn * rs6000.md (prefetch): Make address V4SI mode so that the address is restricted to legitimate form for instruction. 2002-01-25 Bob Wilson * doc/install.texi (xtensa-*-elf): New target. (xtensa-*-linux*): New target. * doc/contrib.texi: Add myself. 2002-01-25 Nick Clifton * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general purpose register to hold an SImode (or smaller) value. 2002-01-25 Jakub Jelinek * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame* registry only. * crtstuff.c: Likewise. 2002-01-25 Kazu Hirata * config/h8300/h8300.md (negation patterns): Tighten predicates to register_operand. 2002-01-24 Aldy Hernandez * loop.c (emit_prefetch_instructions): Use the prefetch insn's mode, not Pmode. * builtins.c (expand_builtin_prefetch): Same. 2002-01-24 Alexandre Oliva * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have modes. 2002-01-24 Kazu Hirata * config/h8300/h8300.c (print_operand): Remove support for operand character 'A'. * config/h8300/h8300.md (three anonymous patterns): Replace operand character 'A' with either 'T' or 'S'. 2002-01-24 Kazu Hirata * config/h8300/h8300.c (print_operand): Remove support for operand character 'U'. 2002-01-24 Andris Pavenis * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR. 2002-01-24 Nick Clifton * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode values to be assigned to the stack pointer. 2002-01-14 Hartmut Penner * emit_rtl.c (gen_lowpart_common): Conversion from const_int to const_double needs to be done right for big-endian systems. 2002-01-24 Jason Merrill * config/sparc/sparc.md (call-jump peepholes): Pass the right insn to can_throw_internal. 2002-01-23 Richard Henderson * fold-const.c (fold): Change UINT_MAX test to check vs precision rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation. 2002-01-24 Alexandre Oliva * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands. (symGOT2reg): Use them, then set as GOT value as unchanging. (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo as a temporary, if possible. (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2). 2002-01-23 Kazu Hirata * config/h8300/h8300.md: Fix xorqi and xorqi so that they will accept to accept 0x80 as operands[2]. 2002-01-24 Alexandre Oliva * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode. 2002-01-23 Richard Henderson * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo. 2002-01-23 Aldy Hernandez * c-parse.in (parmlist_or_identifiers): Add maybe_attribute. (parmlist_or_identifiers_1): Verify that only a parmlist follows an attribute. 2002-01-23 Richard Henderson * expr.c (move_by_pieces_1): Extend size before negation. * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060. (MULTILIB_MATCHES): Remove 68040 and 68060 aliases. (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060. * config/m68k/t-m68kelf: Likewise. 2002-01-23 Bob Wilson * config/xtensa/elf.h: New file. * config/xtensa/lib1funcs.asm: New file. * config/xtensa/lib2funcs.S: New file. * config/xtensa/linux.h: New file. * config/xtensa/t-xtensa: New file. * config/xtensa/xtensa-config.h: New file. * config/xtensa/xtensa-protos.h: New file. * config/xtensa/xtensa.c: New file. * config/xtensa/xtensa.h: New file. * config/xtensa/xtensa.md: New file. * config.gcc (xtensa-*-elf*): New target. (xtensa-*-linux*): New target. * cse.c (canon_hash): Compare rtx pointers instead of register numbers. This is required for the Xtensa port. * integrate.c (copy_insn_list): Handle case where the static chain is in memory and the memory address has to be copied to a register. * doc/invoke.texi (Option Summary): Add Xtensa options. (Xtensa Options): New node. * doc/md.texi (Machine Constraints): Add Xtensa machine constraints. 2002-01-23 Zack Weinberg * diagnostic.c (internal_error): Do ICE suppression only when ENABLE_CHECKING is not defined. * c-typeck.c (require_complete_type): Return error_mark_node if type is error_mark_node. 2002-01-23 Janis Johnson * toplev.c (process_options): Disable -fprefetch-loop-arrays with -Os and issue a warning. 2002-01-23 Zack Weinberg * doc/fragments.texi, doc/hostconfig.texi: Update to reflect current (lack of) need for host configuration by hand. * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross references. Documentation of some target macros moved from hostconfig.texi to tm.texi. 2002-01-23 Will Cohen * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently defined. 2002-01-23 Kazu Hirata * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an operand[3]. 2002-01-23 Jason Merrill * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF. * function.c (assign_parms): Don't put args of inline functions into registers when not optimizing. 2002-01-23 Nick Clifton * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant. (prologue_use): New pattern. * config/arm/arm.c (expand_prologue): Use gen_prologue_use in preference to gen_rtx_USE. (thumb_expand_prologue): Use gen_prologue_use in preference to gen_rtx_USE. (thumb_expand_epilogue): Use gen_prologue_use in preference to gen_rtx_USE. 2002-01-23 Hans-Peter Nilsson * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0. 2002-01-23 Neil Booth PR c/3504 * doc/extend.texi: Correct documentation of __alignof__. 2002-01-22 Zack Weinberg * params.h: Rename arguments of DEFPARAM so that it will be recognized as a translation keyword. 2002-01-22 Aldy Hernandez * extend.texi: Document altivec functions. Fix N-bit adjectives in X86 builtin documentation. 2002-01-22 Alexandre Oliva * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and auto_inc_dec values. 2002-01-22 Richard Earnshaw * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space after backslash. (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line. 2002-01-22 Alexandre Oliva * config/i386/freebsd-aout.h (ASM_QUAD): Undefine. 2002-01-22 Richard Henderson * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use copy_insn not copy_rtx. 2002-01-23 Alan Modra * combine.c (simplify_and_const_int): Don't trunc_int_for_mode "nonzero" as that might add "1" bits. Ensure "constop" is properly sign extened. (force_to_mode): Tweak for sign extended constop. 2002-01-22 Richard Henderson * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use for_each_rtx instead of assuming we're already looking at the MEM. (split_small_symbolic_mem_operand): Likewise. * config/alpha/alpha.h (PREDICATE_CODES): Update. * config/alpha/alpha.md (small symbolic memory splitters): Update. 2002-01-22 Richard Henderson * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse sequence number for the literal. (divmoddi_internal_er): Likewise. 2002-01-22 Craig Rodrigues PR java/4972 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv in LIBICONV variable. * configure: Regenerated. 2002-01-22 Krister Walfridsson * dependence.c (build_def_use): Remove array_idx. * dwarfout.c (last_filename): Remove. (output_compile_unit_die): Remove last_filename. 2002-01-22 Roger Sayle Richard Henderson PR opt/3640 * fold-const.c (fold): Optimize unsigned comparisons against UINT_MAX (and similar unsigned constants). 2002-01-22 Janis Johnson * Makefile.in (loop.o): Depend on OPTABS_H. * loop.c (emit_prefetch_instructions): Check the prefetch operand against the predicate. PR target/5379 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint for the address operand. 2002-01-22 Richard Henderson * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove. 2002-01-22 Craig Rodrigues PR other/5450 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU preprocessor flags. 2002-01-22 Jason Thorpe * config.gcc (x86_64-*-netbsd*): New target. * config/i386/netbsd64.h: New file. 2002-01-22 Aldy Hernandez * regrename.c (kill_value): Fix typo. 2002-01-22 Aldy Hernandez * doc/tm.texi: Remove STARTING_FRAME_PHASE. * config/rs6000/rs6000.h: Same. * function.c (instantiate_virtual_regs): Remove STARTING_FRAME_PHASE. (assign_stack_local_1): Same. Calculate frame phase. 2002-01-22 Nick Clifton * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno' variable declaration to outer scope in order to simplify future extensions. (HARD_REGNO_MODE_OK): Replace macro body with a with a call to arm_hard_regno_mode_ok. * config/arm/arm-protos.h: Add a prototype for arm_hard_regno_mode_ok. * config/arm/arm.c (soft_df_operand): Remove now redundant check for DImode values using IP_REGNUM. (nonimmediate_soft_df_operand): Remove now redundant check for DImode values using IP_REGNUM. (arm_hard_regno_mode_ok): New function. New check: make sure that DImode values are not stored in IP_REGNUM. * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD note with a USE. (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE. 2002-01-22 Jason Merrill * c-semantics.c (genrtl_compound_stmt): Only check nesting consistency if this COMPOUND_STMT is scoped. 2002-01-22 Kazu Hirata * predict.c: Fix formatting. * print-tree.c: Likewise. * protoize.c: Likewise. * real.h: Likewise. * rtl.h: Likewise. * sbitmap.h: Likewise. * scan.c: Likewise. * sched-deps.c: Likewise. * sched-vis.c: Likewise. * sdbout.c: Likewise. * sibcall.c: Likewise. * ssa.c: Likewise. * ssa-ccp.c: Likewise. * ssa-dce.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * system.h: Likewise. Tue Jan 22 06:26:33 2002 Richard Kenner * tree.c (int_fits_type_p): If bounds of a subtype are variable, see if fits in bounds of base type. * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls. (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New. (add_bound_info, default): If can't find a context, make a SAVE_EXPR. (dwarf2out_finish): Check for SAVE_EXPR in node->created_for. 2002-01-22 Hans-Peter Nilsson * c-typeck.c (parser_build_binary_op): If result from build_binary_op is ERROR_MARK just return error_mark_node without further processing. 2002-01-21 Jason Thorpe * config/netbsd.h (TARGET_HAS_F_SETLKW): define. Split a.out-specific bits into... * config/netbsd-aout.h: ...this. * config/netbsd-elf.h: New file. * config/alpha/netbsd-elf.h: Remove. * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target. * config/i386/netbsd-elf.h (LIB_SPEC): Remove. (STARTFILE_SPEC): Remove redundant definition. (ENDFILE_SPEC): Likewise. (LINK_SPEC): Likewise. (CPP_SPEC): Likewise. (ASM_SPEC): Likewise. (LIB_SPEC): Likewise. (SWITCH_TAKES_ARG): Likewise. (TARGET_MEM_FUNCTIONS): Likewise. (CPP_PREDEFINES): Redefine. (ASM_FINAL_SPEC): Remove redefinition. (ASM_COMMENT_START): Redefine. (FUNCTION_PROFILER): Define. (TARGET_VERSION): Redefine. Comment and formatting cleanup. * config/i386/netbsd.h: Include . * config/m68k/netbsd.h: Include . * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target, big- or little-endian. * config/ns32k/netbsd.h: Include . * config.gcc (*-*-netbsd*): Add definitions common to all NetBSD configs. (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and gnu_ld definitions. Add netbsd-elf.h to and remove alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from tmake_file, and don't lose previous tmake_file contents. (arm*-*-netbsd*): Add netbsd-aout.h to tm_file. (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and gnu_ld definitions. Add netbsd-elf.h to tm_file. (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*. (mipsel-*-netbsd*): Rename this to... (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add mips/little.h to tm_file for mips*el-*. (powerpc-*-netbsd*): Remove redundant xm_defines definition. (sparc-*-netbsd*): Add netbsd-aout.h to tm_file. (vax-*-netbsd*): Add netbsd-aout.h to tm_file. 2002-01-21 John David Anglin * pa-protos.h (reg_before_reload_operand): New function prototype. * pa.c (reg_before_reload_operand): New function implementation. * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m" contraints to "*m". 2002-01-21 Franz Sirl * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP. 2002-01-21 John David Anglin * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin". (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/". (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/". (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections. (ENDFILE_SPEC): Undefine. (STARTFILE_SPEC): Redefine for PA. 2002-01-21 Franz Sirl * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC. 2002-01-21 Daniel Jacobowitz * config.gcc: Add entries to supported PowerPC --with-cpu types. 2002-01-21 Jakub Jelinek * config/i386/i386.c (ix86_function_arg_regno_p): Never return true for 64-bit mode only SSE registers in 32-bit mode. 2002-01-21 Kazu Hirata * unwind-dw2.c: Fix formatting. * unwind-dw2-fde.c: Likewise. * unwind-dw2-fde.h: Likewise. * unwind-pe.h: Likewise. * varasm.c: Likewise. * varray.h: Likewise. 2002-01-21 Hans-Peter Nilsson Remove workaround for register stack overwrite bug in mmix. * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove support for TARGET_REG_STACK_FILL_BUG. * config/mmix/mmix.h: Remove member has_call_without_parameters. (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG): Delete. (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG. (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and -mno-reg-stack-fill-bug-workaround. * config/mmix/mmix.md ("call", "call_value"): Don't set struct machine member has_call_without_parameters. * doc/invoke.texi (Option Summary) : Remove -mreg-stack-fill-bug-workaround and -mno-reg-stack-fill-bug-workaround. (MMIX Options): Ditto. 2002-01-21 Kazu Hirata * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX as appropriate. Remove redundant code. 2002-01-21 Joseph S. Myers * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h, config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h, config/stormy16/stormy16.h, config/v850/v850.h: Remove commented out target macro definitions and non-target-specific comments mostly taken from old versions of the manual. 2002-01-20 Kazu Hirata * config/h8300/h8300.h: Fix comment formatting. * config/ia64/aix.h: Likewise. * config/ia64/ia64-protos.h: Likewise. * config/ia64/ia64.c: Likewise. * config/ia64/ia64.h: Likewise. * config/ia64/ia64intrin.h: Likewise. * config/ia64/linux.h: Likewise. * config/ia64/unwind-aix.c: Likewise. * config/ia64/unwind-ia64.c: Likewise. 2002-01-20 Kazu Hirata * config/h8300/h8300.c: Revise comments about shift code. 2002-01-20 Kazu Hirata * config/h8300/h8300.c (function_arg): Update a comment. 2002-01-20 Kazu Hirata * config/h8300/h8300.md: Update the comments at the beginning of the file. 2002-01-20 Kazu Hirata * config/i370/i370.c: Fix comment formatting. * config/i370/i370.h: Likewise. * config/i370/i370.md: Likewise. * config/i370/linux.h: Likewise. Sun Jan 20 18:40:14 2002 Richard Kenner * reg-stack.c (subst_stack_regs): Properly check for deleted insn. * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases. (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL in incomplete case. 2002-01-20 Graham Stott * cfgloop.c (flow_loop_preheader_scan): Fix typo. 2002-01-19 John David Anglin * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file. 2002-01-19 Tom Rix * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts. 2002-01-18 Aldy Hernandez * doc/tm.texi (STARTING_FRAME_PHASE): Document. * function.c (assign_stack_local_1): Adjust x_frame_offset with STARTING_FRAME_PHASE. (STARTING_FRAME_PHASE): New. (instantiate_virtual_regs): Check saneness of STARTING_FRAME_PHASE. * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New. 2002-01-19 Alexandre Oliva * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls. 2002-01-18 Craig Rodrigues * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot be used for bootstrapping GCC 3.0. 2002-01-18 Kazu Hirata * config/h8300/h8300.md: Fix an insn length. 2002-01-18 Kazu Hirata * bitmap.h: Fix comment formatting. * combine.c: Likewise. * cppfiles.c: Likewise. * c-pragma.h: Likewise. * c-typeck.c: Likewise. * df.c: Likewise. * dwarf2out.c: Likewise. * function.c: Likewise. * gcc.c: Likewise. * genattrtab.c: Likewise. * gthr-win32.h: Likewise. * haifa-sched.c: Likewise. * predict.c: Likewise. * rtlanal.c: Likewise. * rtl.h: Likewise. * unwind-dw2-fde.h: Likewise. * unwind-pe.h: Likewise. * vmsdbgout.c: Likewise. Thu Jan 17 15:28:26 2002 Richard Kenner * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE if type_required and passed decl. 2002-01-17 Aldy Hernandez * config.gcc (cpu_type): Include altivec.h in powerpc extra_headers. Same for darwin. * config/rs6000/altivec.h: New. 2002-01-17 David Edelsohn * doc/install.texi (*-ibm-aix*): Update assembler and exception handling information. * doc/trouble.texi (Interoperation): Add libstdc++ information for AIX. (Misunderstandings): Add template instantiation and static template member information for AIX. 2002-01-17 Jason Merrill * dbxout.c (dbxout_type): Support const and volatile. * except.c (add_partial_entry): Remove backwards compatibility code. (end_protect_partials): Likewise. 2002-01-17 Jakub Jelinek * config/ia64/ia64.md (prologue_use): New. * config/ia64/ia64.c (ia64_expand_prologue): Use gen_prologue_use instead of gen_rtx_USE. (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way as CODE_FOR_pred_rel_mutex. (ia64_sched_reorder2): Likewise. 2002-01-16 Eric Christopher * config/mips/r3900.h: Reformat. (SUBTARGET_CPP_SIZE_SPEC): Remove. * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto. * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "". (SUBTARGET_CPP_SIZE_SPEC): Rewrite. * config/mips/t-elf: Remove mips3 multilib. 2002-01-16 H.J. Lu * config/mips/linux.h: Include "mips/abi64.h". 2002-01-16 H.J. Lu * config/mips/t-linux: New. * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*. * config/mips/linux.h: Don't include "gofast.h". (INIT_SUBTARGET_OPTABS): Removed. 2002-01-16 Kazu Hirata * config/h8300/h8300-protos.h: Replace emit_a_shift with output_a_shift. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.md: Likewise. 2002-01-16 Kazu Hirata * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of spaces after an opcode name. (pushqi1_h8300hs): Likewise. (pushhi1_h8300hs): Likewise. 2002-01-16 Kazu Hirata * doc/extend.texi: Replace "option" with "attribute" appropriately. 2002-01-16 Jakub Jelinek * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into (and:DI () (const_int -8)). (split_small_symbolic_mem_operand): Split (mem (and:DI () (const_int -8)). 2002-01-16 Jakub Jelinek PR target/5309: * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the same way as TYPE_IMUL. (ultrasparc_sched_reorder): Likewise. * config/sparc/sparc.md (type): Add comment to update ultrasparc_sched_reorder when making changes. 2002-01-16 Kazu Hirata * doc/invoke.texi: Change the dump file name of block reordering pass from 28.bbro to 29.bbro. Mention -dk option. Wed Jan 16 17:54:22 CET 2002 Jan Hubicka * i386.md (minsf splitter): Fix pasto. 2002-01-16 Nick Clifton * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer initialisation instruction. (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer initialisation instruction. (soft_df_operand): Do not accept the IP register. (nonimmediate_soft_df_operand): Do not accept the IP register. 2002-01-16 Jakub Jelinek PR target/5357: * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and MASK_V8 being both set. 2002-01-16 Ulrich Weigand * config/s390/s390.c (s390_emit_prologue): Do not emit USE insn for GOT register; add REG_MAYBE_DEAD notes instead. config/s390/s390.md (call, call_value): Add GOT register to CALL_INSN_FUNCTION_USAGE where needed. (call_exp, call_value_exp): New. 2002-01-16 Nick Clifton * config/arm/arm.c: General formatting tidy up. 2002-01-16 Graham Stott * calls.c (try_to_integrate): Use "(size_t)" intermediate cast and when casting an integer literal to "rtx" pointer. (expand_call): Likewise. * flow.c (try_pre_increment): Likewise. (find_use_as_address): Likewise. * integrate.c (expand_iline_function): Likewise. * regmove.c (try_auto_increment): Likewise. 2002-01-16 Graham Stott * sched-rgn.c (passed): Use sbitmap_free. (header): Likewise. (inner): Likewise. (in_queue): Likewise. (in_stack): Likewise. 2002-01-15 Eric Christopher * flow.c (propagate_one_insn): Change to use fatal_insn. 2002-01-15 Kazu Hirata * expmed.c (extract_fixed_bit_field): Remove unused code. * system.h: Poison SLOW_ZERO_EXTEND. * doc/tm.texi: Remove. * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove. * config/arm/arm.h: Likewise. * config/avr/avr.h: Likewise. * config/clipper/clipper.h: Likewise. * config/convex/convex.h: Likewise. * config/d30v/d30v.h: Likewise. * config/dsp16xx/dsp16xx.h: Likewise. * config/elxsi/elxsi.h: Likewise. * config/fr30/fr30.h: Likewise. * config/h8300/h8300.h: Likewise. * config/i370/i370.h: Likewise. * config/i386/i386.h: Likewise. * config/m68k/m68k.h: Likewise. * config/mips/mips.h: Likewise. * config/ns32k/ns32k.h: Likewise. * config/pdp11/pdp11.h: Likewise. * config/pj/pj.h: Likewise. * config/s390/s390.h: Likewise. * config/sh/sh.h: Likewise. * config/stormy16/stormy16.h: Likewise. * config/v850/v850.h: Likewise. * config/vax/vax.h: Likewise. * config/we32k/we32k.h: Likewise. 2002-01-15 Aldy Hernandez * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx. (altivec_lvsl): Change constraint to b. (altivec_lvsr): Same. (altivec_lvebx): Same. (altivec_lvehx): Same. (altivec_lvewx): Same. (altivec_lvxl): Same. (altivec_lvx): Same. (altivec_stvx): Add parallel. (altivec_stvxl): Same. (altivec_stvehx): Same. (altivec_stvebx): Same. (altivec_stvebx): Same. 2002-01-15 Aldy Hernandez * config.gcc: Change altivec.h to altivec-defs.h. * config/rs6000/altivec.h: Delete. * config/rs6000/altivec-defs.h: Add. 2002-01-15 John David Anglin * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV and UMOD modes. * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size less than or equal to eight bytes. * vax.md (andsi3): Remove constraints and change SET destination operand type to nonimmediate_operand. (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1 when it is a CONST_INT. 2002-01-15 Jason Merrill * c-common.def (FILE_STMT): New code. * c-common.c (statement_code_p): It's a statement. * c-common.h (stmt_tree_s): Add x_last_filename. (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros. (last_expr_filename): New macro. * c-semantics.c (begin_stmt_tree): Initialize it. (add_stmt): If the filename changed, also insert a FILE_STMT. (expand_stmt): Handle seeing one. 2002-01-15 Eric Christopher * flow.c (propagate_one_insn): Add error message and print out insn for debugging. 2002-01-15 Joseph S. Myers * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN, ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison. * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to TRAMPOLINE_ALIGNMENT. * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value to be in bits. * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to PCC_BITFIELD_TYPE_MATTERS. * config/interix.h (STDC_VALUE): Remove. Use STDC_0_IN_SYSTEM_HEADERS. * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove. 2002-01-15 Craig Rodrigues * doc/install.texi (hppa*-hp-hpux11): --enable-threads does not work on this platform currently. 2002-01-15 Joseph S. Myers * c-typeck.c (build_unary_op): Don't wrap msgid argument of readonly_warning in _(). 2002-01-15 Douglas B Rupp * gcc.c (delete_if_ordinary): Backout previous change. 2002-01-15 Kazu Hirata * config/h8300/h8300.c (print_operand): Remove support for unused operand characters. * read-rtl.c: Fix formatting. * real.c: Likewise. * recog.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reload1.c: Likewise. * rtlanal.c: Likewise. 2002-01-15 Kazu Hirata * config/i386/i386.c: Fix formatting. 2002-01-15 Jakub Jelinek * c-typeck.c (process_init_element): Don't save_expr COMPOUND_LITERAL_EXPR if just its initializer will be used. 2002-01-15 David Edelsohn * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not emit optional traceback table if optimize_size or TARGET_ELF. * config/rs6000/rs6000.md (prefetch): New. 2002-01-15 Andreas Jaeger * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h. 2002-01-15 Kazu Hirata * mips-tfile.c: Fix formatting. Tue Jan 15 00:56:11 CET 2002 Jan Hubicka * unroll.c (final_reg_note_copy): Fix previous commit. 2002-01-14 Kazu Hirata * config/h8300/h8300-protos.h: Remove the prototype for eq_operator. * config/h8300/h8300.c (eq_operator): Remove. 2002-01-14 Richard Henderson * config/i386/i386.md (prefetch): Tidy. (prefetch_3dnow): Fix locality operand. 2002-01-14 Richard Henderson * config/mips/mips.h (HI_AND_FP_REGS): New register class. (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode. 2002-01-14 Hans-Peter Nilsson * reload1.c (reload_combine): Pass reg_sum replacement through copy_rtx in loop performing multiple changes. 2002-01-14 Jakub Jelinek * except.c (remove_unreachable_regions): New. (free_eh_status): Clear exception_handler_labels. (convert_from_eh_region_ranges): Call remove_unreachable_regions. (find_exception_handler_labels): Don't add the same label more than once. (remove_exception_handler_label): Don't die if find_exception_handler_labels hasn't been called for the current function yet. Mon Jan 14 21:26:13 CET 2002 Jan Hubicka * toplev.c (rest_of_compilation): Rebuild jump labels after gcse. 2002-01-14 Joseph S. Myers * doc/extend.texi: Move documentation of X86 built-in functions here. * doc/invoke.texi: From here. * doc/sourcebuild.texi: Document location of documentation for machine built-in functions. 2002-01-13 Christopher Faylor * cppfiles.c (TEST_THRESHOLD): New macro. (SHOULD_MMAP): Ditto. (read_include_file): Use SHOULD_MMAP macro to decide when mmap should be used. Mon Jan 14 20:23:34 CET 2002 Jan Hubicka * unroll.c (final_reg_note_copy): Properly handle REG_LABEL (unroll_loops): Fix LOOP_CONDITION heuristics. 2002-01-14 Geoffrey Keating * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option. * doc/md.texi (Machine Constraints): Use @minus{} where appropriate. Mon Jan 14 20:18:19 CET 2002 Jan Hubicka * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite threaded loop. 2002-01-14 Tom Rix * config/rs6000/rs6000.md: Fix typo with sradi. 2002-01-14 Ulrich Weigand * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates. (clrstrdi, clrstrsi): Adapt callers. (extendsidi2, zero_extendsidi2): Remove no-conflict blocks. (movti splitter): Never use register 0 as base register. 2002-01-14 Hartmut Penner * combine.c (simplify_shift_const): Always generate new rtx for shift expression instead of reusing given expression. Mon Jan 14 07:08:55 2002 Richard Kenner * config/alpha/alpha.c (alpha_expand_mov): Don't call alpha_legitimize_address unless mode is Pmode. 2002-01-13 Geoffrey Keating * doc/md.texi (Modifiers): Document the '*' constraint for the user. * doc/md.texi (Machine Constraints): Add constraints for xstormy16. * doc/extend.texi (Function Attributes): 'interrupt' is valid for xstormy16 too. 2002-01-13 Richard Henderson * reload.c (find_reloads): Use a hard reg destination as reload reg for an input reload of the source. 2002-01-13 Gerald Pfeifer * doc/install.texi (Binaries): Make link to ftp.writtenword.com more generic. Sun Jan 13 07:23:01 2002 Douglas B Rupp * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2. * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2. * config/alpha/x-vms (USE_COLLECT2): Set to empty. Sun Jan 13 06:55:31 2002 Richard Kenner * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case. 2002-01-12 Tom Rix * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for TARGET_POWERPC64. 2002-01-12 Richard Henderson * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A. * doc/invoke.texi: Update Alpha options. * doc/invoke.texi: Update i386 built-in function lists. Sat Jan 12 17:38:11 CET 2002 Jan Hubicka * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note referencing outside. Sat Jan 12 08:54:51 2002 Richard Kenner * diagnostic.c (warn_deprecated_use): Rework to lower indentation. * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for offsets, and change line folding. * optabs.c (expand_binop): Remove warnings. * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning. 2002-01-12 Graham Stott * attribs.c (handle_deprecated_attribute): constify WHAT. * diagnostic.c (warn_deprecated_use): Add braces, fixes dangling else warning and constify WHAT. * except.h (struct function, struct inline_remap): Move struct tag forward defs before all prototypes. (duplicate_eh_regions): Whitespace. 2002-01-12 Nick Clifton * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS. (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS. 2002-01-12 Richard Henderson * config/i386/i386.c (override_options): If SSE, enable sse prefetch. (ix86_expand_vector_move): New. (bdesc_2arg): Remove andps, andnps, orps, xorps. (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins. Remove old prefetch builtins. Special case the logicals removed above. (ix86_expand_builtin): Likewise. (safe_vector_operand): Use V4SFmode, not TImode. (ix86_expand_store_builtin): Remove shuffle arg. Update callers. (ix86_expand_timode_binop_builtin): New. * config/i386/i386-protos.h: Update. * config/i386/i386.h (enum ix86_builtins): Update. * config/i386/i386.md: Correct predicates on MMX/SSE patterns. Use ix86_expand_vector_move in vector move expanders. (movti_internal, movti_rex64): Add xorps alternative. (sse_clrv4sf): Rename and adjust from sse_clrti. (prefetch): Don't work so hard. (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC. * config/i386/xmmintrin.h (__m128): Use V4SFmode. (_mm_getcsr, _mm_setcsr): Fix typo in builtin name. 2002-01-11 Richard Henderson * config/i386/mmintrin.h: New file. * config/i386/xmmintrin.h: New file. * config.gcc (i?86-*-*): Add extra_headers. * simplify-rtx.c (simplify_unary_operation): Handle saturating truncation codes. (simplify_binary_operation): Handle saturating arithmetic codes. * config/i386/i386.c (ix86_expand_sse_comi): Return the full result, not the lowpart subreg. (ix86_expand_builtin): Return a TImode dummy register instead of 0 on error. * config/i386/i386.md (mmx_clrdi): Override memory attribute. 2002-01-12 Michael Hayes * conflict.c (conflict_graph_compute): Free regsets when finished. * ssa.c (compute_coalesced_reg_partition): Likewise. 2002-01-12 Herman A.J. ten Brugge * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED every where we allocate a register. 2002-01-12 Michael Hayes * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free. * lcm.c (compute_earliest, compute_farthest): Likewise. 2002-01-11 Janis Johnson * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET. 2002-01-11 Janis Johnson * doc/rtl.texi (Insns): Fix 2 typos. 2002-01-11 Joseph S. Myers * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V options. Use @table @gcctabopt for MMIX options. Add index entries for MMIX options. Start new paragraph with first heading of the machine-dependent options. 2002-01-11 Craig Rodrigues PR other/5299 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments. * combine.c (force_to_mode): Same. * reload1.c (clear_reload_reg_in_use): Same. 2002-01-11 Nick Clifton * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder' and 'subtargets'. 2002-01-11 Andreas Jaeger , Brad Lucier * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong mcpu. Fri Jan 11 07:35:12 2002 Douglas B Rupp * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors. Protect with IN_LIBGCC. (LINK_EH_SPEC): Add required trailing space. Fri Jan 11 09:25:05 2002 Nicola Pero * c-tree.h: Move function declarations so that they are listed under the filename which contains them. (check_identifier, finish_decl_top_level, lookup_name_current_level_global, shadow_record_fields): Remove. 2002-01-11 Andreas Jaeger * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated march. 2002-01-10 Richard Henderson * config/alpha/alpha.c (print_operand): Add 'J'. * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a new operand with the sequence number for the lituse. When splitting the insns, use gen_movdi_er_high_g and generate a sequence number. (gen_movdi_er_high_g): Print the sequence number if non-zero. 2002-01-10 Aldy Hernandez * config/rs6000/rs6000.c (altivec_init_builtins): Add support for lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx, stvxl. (altivec_expand_builtin): Same. (altivec_expand_stv_builtin): New. * config/rs6000/rs6000.h (rs6000_builtins): Same. * config/rs6000/rs6000.md ("altivec_lvebx"): New. ("altivec_lvehx"): New. ("altivec_lvewx"): New. ("altivec_lvxl"): New. ("altivec_lvx"): New. ("altivec_stvx"): New. ("altivec_stvebx"): New. ("altivec_stvehx"): New. ("altivec_stvewx"): New. ("altivec_stvxl"): New. 2002-01-10 Richard Henderson * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet. * reload1.c (delete_output_reload): Zap spill_reg_store. Take care not to delete instructions twice. 2002-01-10 Zack Weinberg * toplev.c: Don't declare environ (it's not used anywhere). * configure.in: Don't check for declaration of environ. * config/i386/xm-mingw32.h: Don't #define environ. * config.in, configure: Regenerate. 2002-01-10 Zack Weinberg * configure.in: Set stage1_cflags for powerpc-*-darwin*. * configure: Regenerate. * config/interix.h: Set DO_GLOBAL_CTORS_BODY and DO_GLOBAL_DTORS_BODY here, not in xm-interix.h. * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in alpha/xm-vms.h. * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and LIMITS_H_TEST here, not in m68k/x-next. * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h. * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL, LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR. * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments. * config/i386/x-djgpp: Renamed i386/t-djgpp. * config/m88k/x-dolph: Renamed m88k/t-dolph. * config/m88k/x-texXD88: Renamed m88k/t-texXD88. * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for replacement of quadlib.asm with quadlib.c. * config/x-interix3, config/xm-interix.h, config/i386/x-beos, config/i386/xm-osf1elf.h, config/rs6000/x-darwin, config/rs6000/xm-beos.h: Delete file. * config.gcc: Update to match above changes. 2002-01-10 Kazu Hirata * config/h8300/h8300.h: Fix comment typos. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. 2002-01-10 Dale Johannesen PR optimization/5269 * unroll.c (precondition_loop_p): Make *increment be the correct sign when n_iterations known, to avoid confusing caller. 2002-01-10 Kazu Hirata * doc/extend.texi (deprecated): Fix a typo. Thu Jan 10 22:35:54 CET 2002 Jan Hubicka * basic-block.h (update_br_prob_note): Declare. * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note. (try_forward_edges): Care negative frequencies and update note. (outgoing_edges_match): Tweek conditional merging heuristics. (try_crossjump_to_edge): use update_br_prob_note. * cfglayout.c (fixup_reorder_chain): Likewise. * cfrtl.c (update_br_prob_note): New. * ifcvt.c (dead_or_predicable): Call update_br_prob_note. * i386.c (ix86_decompose_address): Return -1 if address contains shift. (legitimate_address_p): Require ix86_decompose_address to return 1. * gcse.c (hash_scan_set): Use CONSTANT_INSN_P. (cprop_insn): Likewise. 2002-01-10 Kazu Hirata * toplev.c: Fix formatting. * tree.c: Likewise. * tree-dump.c: Likewise. * unroll.c: Likewise. * unwind-dw2.c: Likewise. * unwind-dw2-fde.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-sjlj.c: Likewise. 2002-01-10 Joseph S. Myers * doc/invoke.texi: Document PDP-11 options. 2002-01-10 Kazu Hirata * config/h8300/h8300.h: Fix formatting. 2001-01-10 Ira Ruben Add __attribute__ ((deprecated)). * extend.texi: Document __attribute__ ((deprecated)). * invoke.texi: Document -Wno-deprecated-declarations. * testsuite/g++.dg/other/deprecated.C: New C++ test. * testsuite/gcc.dg/deprecated.c: New C test. * attribs.c (enum attrs): Declare handle_deprecated_attribute(). (c_common_attribute_table): Add "deprecated" entry. (handle_deprecated_attribute): New function. * c-decl.c (deprecated_states): New enum. deprecated_state: State of "deprecated" handling. (start_decl): Set deprecated_state based on attributes. (grokdeclarator): Test for deprecated uses, propagate attribute. * c-typeck.c (build_component_ref): Test for deprecated fields. (build_external_ref): Test for deprecated primaries. * diagnostic.c (warn_deprecated_use) New function to issue warnings about __attribute__ ((depricated)) references. * flags.h (warn_deprecated_decl): Extern declared for -W[no-]deprecated-declarations option. * print-tree.c (print_node): Show deprecated flag status. * toplev.c (warn_deprecated_decl): Defined. (W_options): Added "deprecated-declaration". * toplev.h (warn_deprecated_use): Extern declared. * tree.h (struct tree_common): Define deprecated_flag. (TREE_DEPRECATED): New macro to access flag. * cp/call.c (build_call): Test for deprecated calls. * cp/class.c (add_implicitly_declared_members): Set global flag to tell grokdeclarator to not issue deprecated warnings. * cp/cp-tree.h: Add extern for adding_implicit_members. * cp/decl.c (deprecated_states): New enum. (start_decl): Set deprecated_state based on attributes. (grokdeclarator): Test for deprecated uses, propagate attribute. * cp/lex.c (do_identifier): Test for deprecated primaries. * cp/typeck.c (build_component_ref): Test for deprecated fields. 2001-01-10 Ira Ruben Fix to assign attributes to inline member functions. * cp/decl.c (start_method): Handle attrlist. 2002-01-10 Kazu Hirata * combine.c (expand_field_assignment): Use subreg_lsb(). 2002-01-10 David Edelsohn * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC, POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY. (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY. Recurse for any operand of AND as long as constant is non-zero. 2002-01-10 Kazu Hirata * config/h8300/h8300.md: Remove constraints from expanders. 2002-01-10 Kazu Hirata * varasm.c: Fix formatting. * varray.c: Likewise. * vmsdbgout.c: Likewise. * xcoffout.c: Likewise. Thu Jan 10 17:19:12 CET 2002 Jan Hubicka * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges; update edge probabilities to match. 2002-01-10 Joseph S. Myers * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional dependencies. * doc/languages.texi, doc/sourcebuild.texi: New files. * doc/configfiles.texi: Make a subsubsection. Update. * doc/configterms.texi: Add @node. Remove warning that this isn't instructions for building GCC. * doc/makefile.texi: Make a subsection. * doc/gccint.texi: Update. Thu Jan 10 16:39:58 CET 2002 Jan Hubicka * i386.md (sse_mov?fcc_const0_?): Fix constraints. Thu Jan 10 12:45:50 2002 Nicola Pero * doc/cpp.texi: Document the __OBJC__ preprocessor macro. Thu Jan 10 11:19:18 CET 2002 Jan Hubicka * optabs.c (expand_fix): Look for wider integer modes first. * i386.md (mov?f): Avoid the fake const double trick for medium memory model. (min?f*/max?f*): Prohibit memory operands for i387 variant. (fop_df_4): Disable for SSE compilation. 2002-01-10 Graham Stott * dwarf2out.c (indirect_string_alloc, output_indirect_string): Move prototype into DWARF2_DEBUGGING_INFO conditional block. 2002-01-10 Richard Henderson * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative. 2002-01-10 Richard Henderson * regrename.c (find_oldest_value_reg): Fix typo in mode change check. (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok. 2002-01-10 Kazu Hirata * combine.c (can_combine_p): Fix a comment typo. 2002-01-09 Zack Weinberg * Makefile.in (s-gencheck, s-options, s-specs): Handle an empty list correctly. Change loop index $t to $f for consistency with rest of Makefile. 2002-01-08 Aldy Hernandez * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst. * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt. (altivec_init_builtins): Same. (altivec_expand_unop_builtin): Return NULL_RTX on error. (altivec_expand_binop_builtin): Same. (altivec_expand_ternop_builtin): Same. (bdesc_dst): New. * config/rs6000/rs6000.md ("altivec_mtvscr"): New. ("altivec_vctuxs"): Fix typo. ("altivec_vnmsubfp"): Same. ("altivec_dssall"): New. ("altivec_mfvscr"): New. ("altivec_dss"): New. ("altivec_lvsl"): New. ("altivec_lvsr"): New. ("altivec_dstt"): New. ("altivec_dstst"): New. ("altivec_dststt"): New. ("altivec_dst"): New. * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst. 2002-01-09 Richard Henderson * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc. 2002-01-10 Hans-Peter Nilsson * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused function. * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't prototype. * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro. 2002-01-09 Kazu Hirata * read-rtl.c: Fix formatting. * real.c: Likewise. * regclass.c: Likewise. * regrename.c: Likewise. * reg-stack.c: Likewise. * reload1.c: Likewise. * reload.c: Likewise. * rtl.c: Likewise. 2002-01-09 Kazu Hirata * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST to extract items in the expr_list chain. 2002-01-09 Richard Henderson * config/vax/vax.c (vax_rtx_cost): Never abort. * config/vax/vax.h (REAL_ARITHMETIC): Define. 2002-01-09 Jan Hubicka * gcse.c (cprop_jump): Delete insn if simplified jump is no-op. 2002-01-09 Richard Henderson * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode. Unify code from various alternatives. 2002-01-09 Richard Henderson * regrename.c (copy_value): Ignore the copy if the source register is present in the value chain with a narrower mode. 2002-01-09 Herman A.J. ten Brugge * real.c (c4xtoe, toc4x): Do some special conversion on long doubles for the c4x target. Also improve layout. 2002-01-09 Richard Henderson * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test. * config/m32r/m32r.md (and ior xor splitters): Swap operands to match insn patterns. 2002-01-09 Richard Henderson * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG. (copyprop_hardreg_forward_1): Likewise. 2002-01-09 John David Anglin * pa.md (decrement_and_branch_until_zero): Change predicate for operand 0 from register_operand to reg_or_nonsymb_mem_operand. 2002-01-09 Bryce McKinlay * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_ gets undefined. For Darwin. 2002-01-09 Herman A.J. ten Brugge * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing. 2002-01-09 Michael Hayes * config/c4x/c4x/md: Remove extraneous constraints from define_splits. 2002-01-08 Richard Henderson * regrename.c (copy_value): Ignore overlapping copies. 2002-01-08 Richard Henderson * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx as needed to avoid shared structure. 2002-01-08 Kazu Hirata * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on H8/300H and H8/S. 2002-01-08 Joseph S. Myers * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR, LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove documentation of obsolete macros. * system.h: Poison these macros. * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h, config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h, config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h, config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h, config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove definitions and commented out definitions of obsolete macros. * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms of MAX_INT_TYPE_SIZE. 2002-01-08 Ulrich Weigand * config/s390/s390.c (s390_preferred_reload_class): Never return ADDR_REGS if it isn't a subset of the given class. * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just FP_REGS, but all superclasses as well. * config/s390/s390.c (s390_function_profiler): Fix thinko. * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem, cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare must not be a const_int. 2002-01-08 Richard Henderson * Makefile.in (toplev.o): Depend on options.h. (gcc.o): Depend on specs.h. 2002-01-08 Jakub Jelinek * expr.c (store_expr): Convert VOIDmode constants back to target's mode. 2002-01-08 Gerald Pfeifer * doc/invoke.texi: Markup gcc as @command. Refer to http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead of http://gcc.gnu.org/thanks.html. 2002-01-08 Dale Johannesen * config/rs6000/rs6000.md: Add missing int register target case to movdf_low. 2002-01-08 Zack Weinberg * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or except.h. Remove commands to define USING_SJLJ_EXCEPTIONS. (cppinit.o): Depend on except.h. (gencheck.h, options.h, specs.h, s-gencheck, s-options, s-specs): New rules. * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION. Don't create specs.h/options.h/gencheck.h here. Remove unnecessary variable settings from last argument of AC_OUTPUT. * config.in, configure: Regenerate. * intl.c: Hardcode package name as "gcc". * cppinit.c: Include except.h. (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when appropriate. * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c: Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if (!)USING_SJLJ_EXCEPTIONS. * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__. 2002-01-08 Joseph S. Myers * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END, ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP, OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove documentation of obsolete macros. * system.h: Poison these macros. * config/d30v/d30v.h, config/ns32k/encore.h, config/stormy16/stormy16.h: Remove definitions and commented out definitions of obsolete macros. Tue Jan 8 15:56:41 2002 Nicola Pero * objc/objc-act.c (handle_class_ref): Mark the declaration of %sobjc_class_ref_%s as used - to prevent unwanted compiler warnings. 2002-01-08 Ulrich Weigand * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove. * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR to insn adjusting stack/frame pointer. * config/s390/s390.md (reload_la_64, reload_la_31): Do not accept operands that cause the insn to be non-splittable. 2002-01-08 Graham Stott * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter. (C_TYPE_FIELDS_VOLATILE): Likewise. (C_TYPE_BEING_DEFINED): Likewise. (C_IS_RESERVED_WORD): Likewise. (C_TYPE_VARIABLE_SIZE): Likewise. (C_DECL_VARIABLE_SIZE): Likewise. (C_MISSING_PROTOTYPE_WARNED): Likewise. (C_SET_EXP_ORIGINAL_CODE): Likewise. (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove parenthesis. (C_DECL_ANTICIPATED): Likewise. (c_build_type_variant): Add parenthesis. 2002-01-08 Joseph S. Myers * gcc.c (option_map): Remove --version. (process_command): Handle -fversion following the GNU Coding Standards. Partially addresses PR other/704. 2002-01-08 Graham Stott * combine.c (combine_instructions): Fix typo. 2002-01-08 Graham Stott * debug.h: Use "tree" and "rtx" throughout. * debug.c: Likewise. 2002-01-08 Nick Clifton * dbxout.c (dbxout_symbol_location): If a symbol ref is in the constant pool, use the pool's version of the symbol instead. 2002-01-07 Richard Henderson * regrename.c (find_oldest_value_reg): Ignore the value chain if the original register was copied in a mode with a fewer number of hard registers than the desired mode. (copyprop_hardreg_forward_1): Likewise. (debug_value_data): Fix loop test. * toplev.c (parse_options_and_default_flags): Reenable -fcprop-registers at -O1. 2002-01-07 Aldy Hernandez * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates. (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi. * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec predicates. * config/rs6000/rs6000.md: Add altivec predicate patterns. 2002-01-07 John David Anglin * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define. (pa_output_function_prologue): Output local label at the beginning of the prologue when profiling. (hppa_profile_hook): Use the local label rather than the function label. * pa.h (PROFILE_BEFORE_PROLOGUE): Define. 2002-01-07 Aldy Hernandez * config/rs6000/rs6000.c (print_operand): Remove extra space. (altivec_expand_unop_builtin): Fix thinko. (altivec_expand_binop_builtin): Same. (altivec_expand_ternop_builtin): Same. (altivec_expand_builtin): Same. 2002-01-07 Richard Henderson * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag. 2002-01-07 Jason Merrill * unwind-dw2.c (execute_cfa_program): Use < again. 2002-01-07 Jakub Jelinek * predict.c (combine_predictions_for_insn): Avoid division by zero. 2002-01-07 Jakub Jelinek * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT. Don't allow -1 - x -> ~x simplifications in the first pass. 2002-01-07 Aldy Hernandez * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid arguments. (altivec_expand_binop_builtin): Same. (altivec_expand_unop_builtin): Same. (print_operand): Fix typo. (bdesc_1arg): Add vupk* variants. * rs6000.h (rs6000_builtins): Add vupk* enums. * rs6000.md: Add altivec_vupk* variants. 2002-01-07 Joseph S. Myers * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi, doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright and last update dates. 2002-01-07 Janis Johnson * doc/rtl.texi (Flags): Clean up documentation of RTL flags 2002-01-07 Marek Michalkiewicz * config/avr/avr.c (avr_mcu_types): Add new MCU types. * config/avr/avr.h (CPP_SPEC): Likewise. (LINK_SPEC): Likewise. (CRT_BINUTILS_SPECS): Likewise. * config/avr/t-avr (MULTILIB_MATCHES): Likewise. * doc/invoke.texi (AVR Options): Document them. Mon Jan 7 11:59:34 CET 2002 Jan Hubicka * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and LABEL_NUSES. 2002-01-07 Graham Stott * config/i386/i386.h: Update copyright date. (HALF_PIC_PTR): Add parenthesis. (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap. (CONSTANT_ALIGNMENT): Add parenthesis. (DATA_ALIGNMENT): Likewise. (LOCAL_ALIGNMENT): Likewise. (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap. (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap. (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0). (HARD_REGNO_NREGS): Add paranethesis. (VALID_SSE_REG_MODE): Whitespace. (VALID_MMX_REG_MODE): Whitespace. (VALID_FP_MODE_P): Uppercase macros parameter and whitespace. (ix86_hard_regno_mode_ok): Add parenthesis. (HARD_REGNO_CALLER_SAVE_MODE): Whitespace. (RETURN_IN_MEMORY): Whitespace. (N_REG_CLASSES): Add parenthesis. (INTEGER_CLASS_P): Add parenthesis and wrap. (FLOAT_CLASS_P): Likewise. (SSE_CLASS_P): Likewise. (MMX_CLASS_P): Likewise. (MAYBE_INTEGER_CLASS_P): Likewise. (MAYBE_FLOAT_CLASS_P): Likewise. (MAYBE_SSE_CLASS_P): Likewise. (MAYBE_MMX_CLASS_P): Likewise. (Q_CLASS_P): Likewise. (GENERAL_REGNO_P): Uppercase macro parameter. (REX_INT_REGNO_P): Uppercase macro parameter and wrap. (FP_REGNO_P): Likewise. (ANY_FP_REGNO_P): Uppercase macro parameter. (SSE_REGNO_P): Likewise. (SSE_REGNO): Likewise. (SSE_REG_P): Likewise. (SSE_FLOAT_MODE_P): Likewise. (MMX_REGNO_P): Likewise. (MMX_REG_P):Likewise. (STACK_REG_P): Likewise. (NON_STACK_REG_P): Likewise. (STACK_TOP_P): Likewise. (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis. (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace. (SECONDARY_MEMORY_NEEDED): Likewise. (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace. (MD_ASM_CLOBBERS): Whitespace and wrap. (MUST_PASS_IN_STACK): Whitespace and wrap. (RETURN_POPS_ARGS): Add parenthesis. (INIT_CUMULATIVE_ARGS): Likewise. (FUNCTION_ARG): Likewise. (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace. (SETUP_INCOMING_VARARGS): Likewise. (BUILD_VA_LIST_TYPE): Add parenthesis. (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add parenthsis. (EXPAND_BUILTIN_VA_ARG): Likewise. (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis. (INITIALIZE_TRAMPOLINE): Add parenthesis. (INITIAL_ELIMINATION_OFFSET): Likewise. (REGNO_OK_FOR_INDEX_P): Add parenthesis. (REGNO_OK_FOR_BASE_P): Likewise. (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap. (REGNO_OK_FOR_DIREG_P): Likewise. (REG_OK_FOR_INDEX_P): Whitespace. (REG_OK_FOR_BASE_P): Whitespace. (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add parenthesis. (FIND_BASE_TERM): Fix typo. (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis. (REWRITE_ADDRESS): Uppercase macro parameter and whitespace. (SYMBOLIC_CONST; Whitespace. (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap. (ENCODE_SECTION_INFO): Whitespace. (FINALIZE_PIC): Remove do { ... } while (0). (PROMOTE_MODE): Wrap in do { ... } while (0). (CONST_COSTS): Whitespace. (RTX_COSTS): Add paramethesis, whitespace and wrap. (REGISTER_MOVE_COST): Add parenthesis. (MEMORY_MOVE_COST): Likewise. (EXTRA_CC_MODES): Whitespace. (SELECT_CC_MODE): Add parenthesis and whitespace. (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis. (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace. (ASM_OUTPUT_LABEL): Add paramethesis. (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace. (ASM_OUTPUT_REG_POP): Likewise. (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis. (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. * config/i386/i386.c: Update copyright. (CHECK_STACK_LIMIT): Add parenthesis. (AT_BP): Uppercase macro parameter. (x86_64_int_parameter_registers): Constify. (x86_64_int_return_registers): Likewise. (ix86_compare_op0): Use rtx. (construct_container): Constify INTREG parameter. (function_arg): Use rtx. * diagnostic.h: Update copyright date. (output_buffer_state): Add parenthesis. (output_buffer_format_args): Likewise. * combine.c (combine_instructions): Replace XEXP (links, 0) with link. 2002-01-06 H.J. Lu * cfgcleanup.c (thread_jump): Fix 2 typos. 2002-01-06 Aldy Hernandez * config.gcc: Add support for --enable-altivec. 2002-01-06 Craig Rodrigues * emit-rtl.c (gen_highpart): Add check for NULL_RTX. 2002-01-06 Jakub Jelinek * objc/objc-act.c (handle_impent): Use assemble_variable to emit __objc_class_name_*. 2002-01-06 Craig Rodrigues * doc/install.texi (sparcv9-*-solaris2*): Add documentation. 2002-01-06 Richard Henderson * reorg.c (emit_delay_sequence): Remove death notes, not merely nop them out. Increment label reference count for REG_LABEL. (fill_slots_from_thread): Frob label reference count around delete_related_insns. 2002-01-05 Richard Henderson * cfgcleanup.c (try_forward_edges): Detect infinite loops while jump threading. 2002-01-05 Richard Henderson * c-decl.c (c_expand_body): Don't call outlining_inline_function. * integrate.c (output_inline_function): Likewise. * toplev.c (rest_of_compilation): Do it here instead. Move call to remove_unnecessary_notes after emitting abstract instance. Force an emitted nested function to have its parent emited as well. * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking for null. (rtl_for_decl_location): Do not look at reload data structures before reload has run. 2002-01-05 Kazu Hirata * cse.c: Fix formatting. * dwarf2asm.c: Likewise. * dwarf2out.c: Likewise. * explow.c: Likewise. * expmed.c: Likewise. * function.c: Likewise. * gcov.c: Likewise. * gencheck.c: Likewise. * genrecog.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * global.c: Likewise. 2002-01-05 Kazu Hirata * combine.c: Fix formatting. 2002-01-05 Craig Rodrigues PR middle-end/1557 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove. 2002-01-05 David Edelsohn * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define as 1 for __powerpc64__ as well. * config/rs6000/t-aix43 (T_ADAFLAGS): Define. * alias.c (find_base_value, PLUS/MINUS): If we found a base, return it. 2002-01-05 Daniel Berlin * lcm.c: Revert change, due to performance regression it causes on SPEC because it's slightly more conservative (sigh, I hate edge-based LCM). Sat Jan 5 11:52:05 CET 2002 Jan Hubicka * cfgcleanup.c (try_forward_edges): Allow multiple jump threading. 2002-01-05 Neil Booth * doc/cppinternals.texi: Update. 2002-01-05 Hans-Peter Nilsson * doc/invoke.texi (Option Summary) : Document -mbranch-predict, -mreg-stack-fill-bug-workaround and their negatives. (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend. * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework kludge for pre-october-14th mmix versions to handle new-found bug with PUSHJ/PUSHGO and the register stack. * config/mmix/mmix.h (struct machine_function): Rename member has_call_value_without_parameters to has_call_without_parameters. All referers changed. (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT TARGET_MASK_BRANCH_PREDICT): New macros. (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround, -mno-reg-stack-fill-bug-workaround. * config/mmix/mmix.md ("call"): Set struct machine member has_call_without_parameters. Sat Jan 5 02:20:22 CET 2002 Jan Hubicka * cfgcleanup.c (thread_jump): Fix handling of reversed branches. Sat Jan 5 01:35:29 CET 2002 Jan Hubicka * cfgcleanup.c: Include tm_p.h (mark_effect): Fix handling of hard register; fix handling of SET 2002-01-04 Kazu Hirata * config/h8300/h8300.md (anonymous patterns): Check that operands are registers before using REGNO on them. 2002-01-03 Roland McGrath * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu. 2002-01-04 Jakub Jelinek * tree.h (expand_expr_stmt_value): Add maybe_last argument. * c-common.h (genrtl_expr_stmt_value): Likewise. * stmt.c (expand_expr_stmt): Pass 1 as maybe_last. (expand_expr_stmt_value): Add maybe_last argument. Don't warn about statement with no effect if it is the last statement in expression statement. * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last. (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to expand_expr_stmt_value. (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope. * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1 as maybe_last to expand_expr_stmt_value. Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com) * c-common.c (c_expand_start_cond): Expect the IF_STMT node to be passed in, do not build it. (c_begin_if_stmt): New function. (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise. * c-common.h (c_expand_start_cond): Update prototype. (c_begin_if_stmt): Prototype new function. (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise. * c-parse.in (if_prefix): Use c_begin_if_stmt, c_begin_while_stmt and c_finish_while_stmt_cond. 2002-01-04 William Cohen * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag. * config/pa/pa-linux.h (ASM_FILE_START): Likewise. * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise. * config/pa/som.h (ASM_FILE_START): Likewise. 2001-01-04 Daniel Berlin * lcm.c: Include df.h. Add available_transfer_function prototype. (compute_available): Rework to use iterative dataflow framework. (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict with bb_info in df.h (available_transfer_function): New function. * Makefile.in (lcm.o): add df.h to dependencies. 2002-01-04 Richard Henderson * config/alpha/alpha.c (some_operand): Accept HIGH. (input_operand): Likewise; accept simple references to globals. (alpha_const_ok_for_letter_p): New, outlined from alpha.h. (alpha_const_double_ok_for_letter_p): Likewise. (alpha_extra_constraint): Likewise. (alpha_preferred_reload_class): Likewise. Do not force symbolic constants to memory. (alpha_legitimate_address_p): Accept simple references to small_symbolic_operand. (alpha_legitimize_address): New arg scratch. Be prepared to be called when no_new_pseudos. Emit simple symbolic references. Split integers into low, high, and rest. (alpha_expand_mov): Use alpha_legitimize_address. (some_small_symbolic_mem_operand): New. (split_small_symbolic_mem_operand): New. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line. (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise. (EXTRA_CONSTRAINT): Likewise. (PREFERRED_RELOAD_CLASS): Likewise. (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change. (PREDICATE_CODES): Update. * config/alpha/alpha.md: New post-reload splitters to convert simplfied symbolic operands to the form that references $29. (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g. (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand. 2002-01-03 Richard Henderson * local-alloc.c (function_invariant_p): Update commentary. 2002-01-04 H.J. Lu * toplev.c (rest_of_compilation): Fix a typo when calling cleanup_cfg. 2002-01-03 Kazu Hirata * c-common.c: Fix formatting. * diagnostic.c: Likewise. * doloop.c: Likewise. * dwarf2out.c: Likewise. 2002-01-03 Kazu Hirata * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead of 'neg.w' when xoring with 0x0000ffff or 0xffff0000. 2002-01-03 Neil Booth * cpperror.c: Update comments and copyright. * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly. 2002-01-03 John David Anglin * collect2.c (main): Use strcmp when testing for "-shared". 2002-01-03 Neil Booth * cppmacro.c: Don't include intl.h. Update comments. (new_number_token): Allocate enough buffer for 64-bit unsigned integers; update prototype. * cppmain.c: Update comments. 2002-01-03 William Cohen * function.h (struct function): Add profile. (current_function_profile): New. doc/extend.texi: Update documentation. * final.c (final_start_function): Use current_function_profile instead of profile_flag. (profile_after_prologue): Likewise. * function.c (expand_function_start): Likewise. (expand_function_start): Likewise. * config/alpha/alpha.c (direct_call_operand): (alpha_does_function_need_gp): Likewise. (alpha_expand_prologue): Likewise. * config/arm/arm.c (arm_expand_prologue): Likewise. thumb_expand_prologue: Likewise. * config/d30v/d30v.c (d30v_stack_info): Likewise. * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise. (fr30_expand_prologue): Likewise. * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise. * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise. * config/i386/i386.h (FINALIZE_PIC): Likewise. * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise. * config/i960/i960.c (i960_output_function_prologue): Likewise. * config/ia64/ia64.c (ia64_compute_frame_size): Likewise. * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise. (m32r_expand_prologue): Likewise. * config/m88k/m88k.c (m88k_layout_frame): Likewise. (m88k_expand_prologue): Likewise. * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise. * config/mips/mips.c (compute_frame_size): Likewise. (mips_expand_prologue): Likewise. (mips_can_use_return_insn): Likewise. * config/pa/elf.h (ASM_FILE_START): Likewise. * config/pa/pa-linux.h (ASM_FILE_START): Likewise. * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise. * config/pa/som.h (ASM_FILE_START): Likewise. * config/romp/romp.c (romp_using_r14): Likewise. * config/rs6000/rs6000.c (first_reg_to_save): Likewise. (rs6000_stack_info): Likewise. * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise. * config/rs6000/xcoff.h (ASM_FILE_START): Likewise. * config/v850/v850.c (compute_register_save_size): Likewise. 2002-01-03 Jakub Jelinek * simplify-rtx.c (simplify_binary_operation) [DIV]: If gen_lowpart_common fails, use gen_lowpart_SUBREG. 2002-01-03 Turly O'Connor * darwin.c (machopic_output_possible_stub_label): Don't generate stub routines for pseudo-stubs which we've just defined. 2002-01-03 Kazu Hirata * builtins.c: Fix formatting. * c-typeck.c: Likewise. * combine.c: Likewise. * expr.c: Likewise. * loop.c: Likewise. 2002-01-03 Andreas Schwab * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool and return true if _cpp_push_next_buffer pushed a new include file. * cpplib.c (_cpp_pop_buffer): Only call obstack_free if _cpp_pop_file_buffer did not push a new file. * cpphash.h (_cpp_pop_file_buffer): Update declaration. 2002-01-02 Eric Christopher * final.c (final_scan_insn): Change 0 -> NULL_RTX in FIND_REG_INC_NOTE call. Update copyright. * loop.c (canonicalize_condition): Ditto. * reorg.c (delete_scheduled_jump): Ditto. 2002-01-03 Kazu Hirata * gcse.c: Fix formatting. 2002-01-03 Graham Stott * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h forward defs for struct tags rtx_def, union_tree, rtvec_def also output corresponding typedefs for rtx, tree, and rtvec. * system.h: Move forward defs for struct tags rtx_def, union_tree, rtvec_def along with corresponding typedefs for rtx, tree, and rtvec to config.h, hconfig.h, tconfig.h. 2002-01-03 Graham Stott * tree.h: Update copyright date. (IS_EXPR_CODE_CLASS): Add parenthesis. (TREE_SET_CODE): Add whitespace. (TREE_CHECK): Add parenthesis. (TREE_CLASS_CODE): Add parenthesis and wrap long line. (CST_OR_CONSTRUCTOR_CHECK): (EXPR_CHECK): Add parenthis, whitespace and wrap line. (TREE_SYMBOL_REFERENCED): Whitespace. (INT_CST_LT): Likewise. (INT_CST_LT_UNSIGNED): Likewise. (tree_real_cst): Unwrap comment. (tree_string): Likewise. (tree_complex): Likewise. (IDENTIFIER_POINTER): correct cast. (SAVE_EXPR_CONTEXT): Whitespace. (EXPR_WFL_FILENAME_NODE): Likewise. (EXPR_WFL_FILENAME): Remove parenthesis. (DECL_ORIGIN): Add parenthesis. (DECL_FROM_INLINE): Use NULL_TREE. (build_int_2): Whitespace. (build_type_variant): Add parenthesis. * gcc/jcf-parse.c: Update copyright date. (yyparse): Constify resource_filename. 2002-01-03 Graham Stott * rtl.h: Update copyright date. (RTL_CHECK1): Wrap long line. (RTL_CHECK2): Likewise. (RTL_CHECKC1): Wrap long line and whitespace. (RTL_CHECKC2): Likewise. (XWINT): Whitespace. (XINT): Likewise. (XSTR): Likewise. (XEXP): Likewise. (XVEC): Likewise. (XMODE): Likewise. (XBITMAP): Likewise. (XTREE): Likewise. (XBBDEF): Likewise. (XTMPL): Likewise. (X0WINT): Likewise. (X0INT):Likewise. (X0UINT): Likewise. (X0STR): Likewise. (X0EXP): Likewise. (X0VEC): Likewise. (X0MODE): Likewise. (X0BITMAP): Likewise. (X0TREE): Likewise. (X0BBDEF): Likewise. (X0ADVFLAGS): Likewise. (X0CSELIB): Likewise. (X0MEMATTR): Likewise. (XCWINT): Likewise. (XCINT): Likewise. (XCUINT): Likewise. (XCSTR): Likewise. (XCEXP): Likewise. (XCVEC): Likewise. (XCMODE): Likewise. (XCBITMAP): Likewise. (XCTREE): Likewise. (XCBBDEF): Likewise. (XCADVFLAGS): Likewise. (XCCSELIB): Likewise. (XC2EXP): Likewise. (INSN_UID): Likewise. (PREV_INSN): Likewise. (PATTERN): Likewise. (INSN_CODE): Likewise. (PUT_REG_NOTE_KIND): Likewise. (CODE_LABEL_NUMBER): Likewise. (NOTE_SOURCE_FILE): Likewise. (NOTE_BLOCK): Likewise. (NOTE_EH_HANDLER): Likewise. (NOTE_RANGE_INFO): Likewise. (NOTE_LIVE_INFO): Likewise. (NOTE_BASIC_BLOCK): Likewise. (NOTE_EXPECTED_VALUE): Likewise. (NOTE_LINE_NUMBER): Likewise. (LABEL_NAME): Likewise. (LABEL_NUSES): Likewise. (LABEL_ALTERNATE_NAME): Likewise. (ADDRESSOF_DECL): Likewise. (JUMP_LABEL): Likewise. (LABEL_NEXTREF): Likewise. (REGNO): Likewise. (ORIGINAL_REGNO: Likewise. (HARD_REGISTER_NUM_P): Add parenthesis. (SUBREG_REG): Whitespace. (SUBREG_BYTE): Likewise. (ASM_OPERANDS_TEMPLATE): Remove parenthesis. (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise. (ASM_OPERANDS_OUTPUT_IDX): Likewise. (ASM_OPERANDS_INPUT_VEC): Likewise. (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise. (ASM_OPERANDS_INPUT): Likewise. (ASM_OPERANDS_INPUT_LENGTH): Likewise. (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise. (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise. (ASM_OPERANDS_INPUT_MODE): Likewise. (ASM_OPERANDS_SOURCE_FILE): Likewise. (ASM_OPERANDS_SOURCE_LINE): Likewise. (MEM_SET_IN_STRUCT_P): Minor reformat. (TRAP_CONDITION): Whitespace. (TRAP_CODE): Likewise. (COND_EXEC_TEST): Likewise. (COND_EXEC_CODE): Likewise. (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis. (PHI_NODE_P): Add parenthesis. (plus_constant): Whitespace and add parenthesis. 2002-01-03 Kazu Hirata * config/avr/avr.c: Fix comment typos. * config/c4x/c4x.md: Likewise. * config/dsp16xx/dsp16xx.h: Likewise. * config/dsp16xx/dsp16xx.md: Likewise. * config/i386/i386.md: Likewise. * config/ia64/ia64.c: Likewise. * config/m32r/m32r.h: Likewise. * config/m68hc11/m68hc11.md: Likewise. * config/mmix/mmix.c: Likewise. * config/mn10200/mn10200.c: Likewise. * config/romp/romp.c: Likewise. * config/sh/sh.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/stormy16/stormy16.h: Likewise. * config/stormy16/stormy16.md: Likewise. 2002-01-03 Graham Stott * loop.h: Update copyright date. (LOOP_MOVABLES): Fix typo. (LOOP_REGS): Likewise. (LOOP_IVS): Likewise. 2002-01-03 Graham Stott * cppinit.c: Update copyright date. Don't include output.h * Makefile.in: Update copyright date. Update dependency. 2002-01-02 Craig Rodrigues PR c/5226 * invoke.texi (-mthreads): Remove from documented RS/6000 options. (-pthread) Add to RS/6000 options. 2002-01-02 Kazu Hirata * except.c: Fix comment typos. * loop.c: Likewise. * varasm.c: Likewise. * doc/tm.texi: Fix a typo. 2002-01-02 Jakub Jelinek * c-typeck.c (output_init_element): Allow initializing static storage duration objects with compound literals. 2002-01-02 Richard Henderson * objc/objc-act.c (hack_method_prototype): Clear current_function_decl after abusing it. 2002-01-02 Kaveh R. Ghazi * gcc.c (default_compilers): Const-ify. * mips-tdump.c (stab_names): Likewise. * mips-tfile.c (map_coff_types, map_coff_storage, map_coff_sym_type, map_coff_derived_type, stabs_symbol, pseudo_ops_t, pseudo_ops): Likewise. * protoize.c (default_include): Likewise * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness. (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify. Add array size in declaration. (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi, emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm, esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe, etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe, eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc, efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm, c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens, emtens, make_nan): Const-ify. (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan, DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify. 2002-01-02 Joseph S. Myers * config.gcc (ia64-*-*): Set extra_headers. (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf. * config/alpha/t-osf: Remove. * config/ia64/t-ia64 (EXTRA_HEADERS): Remove. 2002-01-02 David Edelsohn * config/rs6000/t-aix43: Revert previous change. 2002-01-02 Jason Merrill * c-decl.c (c_expand_body): Call outlining_inline_function when emitting an inline function out of line. 2002-01-02 Richard Henderson * dwarf2out.c (limbo_die_node): Add created_for member. (new_die): New argument created_for. Update all callers. (mark_limbo_die_list): New. (dwarf2out_init): Register limbo_die_list as a root. (dwarf2out_finish): Force insert limbo dies into their function context. 2002-01-02 Nathan Sidwell PR c++/5089 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts. 2002-01-02 Kazu Hirata * config/h8300/fixunssfsi.c: Update copyright. Fix comment typos. Fix formatting. * config/h8300/h8300.c: Update copyright. Eliminate warnings. 2002-01-02 Kazu Hirata * config/romp/romp.c: Fix comment formatting. * config/romp/romp.h: Likewise. * config/romp/romp.md: Likewise. * config/s390/s390.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/stormy16/stormy16.h: Likewise. 2002-01-02 Alexandre Oliva * c-common.h (genrtl_expr_stmt_value): Declare. * c-semantics.c (genrtl_goto_stmt): Redirect to... (genrtl_goto_stmt_value): ... this new function. Pass new argument down to expand_expr_stmt_value, taking TREE_ADDRESSABLE into account. * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a STMT_EXPR as addressable, i.e., one whose result we want. * expr.c (expand_expr): Don't save expression statement value of labeled_blocks or loop_exprs. * stmt.c (expand_expr_stmt): Redirect to... (expand_expr_stmt_value): ... this new function. Use new argument to tell whether to save expression value. (expand_end_stmt_expr): Reset last_expr_type and last_expr_value if we don't have either. * tree-inline.c (declare_return_variable): Mark its use statement as addressable. * tree.h: Document new use of TREE_ADDRESSABLE. (expand_expr_stmt_value): Declare. 2002-01-01 Tom Rix * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by rs6000_emit_allocate_stack. 2002-01-01 Joseph S. Myers * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of ${srcdir}/ginclude/ to every entry in extra_headers. * configure: Regenerate. * ginclude/math-3300.h: Rename to config/m68k/math-3300.h. * ginclude/math-68881.h: Rename to config/m68k/math-68881.h. * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h. * ginclude/proto.h: Rename to config/convex/proto.h. Tue Jan 1 17:12:56 2002 Richard Kenner * attribs.c (handle_vector_size_attribute): Use host_integerp and tree_int_cst; remove warnings. * caller-save.c (insert_restore): Add cast to get rid of warning. (insert_save): Likewise. * emit-rtl.c (adjust_address_1, offset_address): Likewise. * regmove.c (find_matches): Add temporary var to kill a warning. 2002-01-01 Douglas B Rupp * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX, LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define. * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o (vms-dwarf2eh.o): Add Makefile rule. * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o. * config/alpha/vms-dwarf2eh.asm: New file. * gcc.c (delete_if_ordinary): Delete all versions. 2002-01-01 Hans-Peter Nilsson * config/mmix/mmix.md: Update FIXME to not mention define_constants. (MMIX_rJ_REGNUM): New define_constants constant. ("movqi", "movsi", "movdi", "*movdicc_real_foldable", "*movdicc_real"): Adjust contraints formatting. ("*bCC_foldable"): Add %+ for P in output format and delete FIXME for branch prediction. ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in output template. ("*call_real", "*call_value_real", "nonlocal_goto_receiver", "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of number. Delete related FIXMEs. * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change from number to MMIX_rJ_REGNUM. (TARGET_MASK_BRANCH_PREDICT): New. (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT. (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols value. Add -mbranch-predict and -mno-branch-predict. (TARGET_VERSION): Drop date. (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number. * config/mmix/mmix.c (mmix_encode_section_info): Correct condition for finding out global symbols. (mmix_asm_output_labelref): Revert condition for global symbol. (mmix_print_operand): : Emit P for a likely branch. (mmix_print_operand_punct_valid_p): A '+' is valid. See ChangeLog.6 for earlier changes.