| Fri Dec 31 19:10:31 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * function.c (update_temp_slot_address): Handle case where sum of |
| temporary address plus offset in register is a valid address. |
| |
| 1999-12-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * genrecog.c (change_state) Corrected typo. |
| |
| 1999-12-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free, |
| getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc, |
| strerror, getrlimit, setrlimit, abort): Add prototype arguments. |
| |
| 1999-12-30 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * i386.c (ix86_expand_fp_compare): In non-sahf non-TARGET_IEEE |
| case, expand GT comparisons correctly. Fix a comment before this |
| part of the code. |
| |
| 1999-12-30 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> |
| |
| * dwarfout.c: Include "frame.h" |
| * dwarf2out.c: Likewise. |
| * Makefile.in (dwarfout.o): Depend on frame.h |
| (dwarf2out.o): Likewise. |
| |
| 1999-12-29 "Martin v. Löwis" <martin@loewis.home.cs.tu-berlin.de> |
| |
| Restore i386 binary compatibility in Dwarf EH info. |
| * config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old |
| value of FIRST_PSEUDO_REGISTER. |
| * frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER. |
| (struct frame_state): Use DWARF_FRAME_REGISTERS. |
| * dwarfout.c (output_reg_number): Ditto. |
| * dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto. |
| (DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS. |
| |
| 1999-12-29 Bruce Korb <autogen@linuxbox.com> |
| |
| * fixinc/fixincl.c(wait_for_pid): sometimes a WSTOPSIG of zero is OK |
| * fixinc/fixincl.tpl(<hack>TEST_CT): Just do the existence test once |
| (<hack>_RE_CT): not needed |
| * fixinc/fixlib.c(is_cxx_header): moved from fixtests.c |
| rewritten to scan the file text once only |
| "template<..." test added |
| * fixinc/fixlib.h(apply_fix_p_t): moved from fixtests.c |
| (is_cxx_header): declaration added |
| * fixinc/fixtests.c(is_cxx_header): removed |
| (apply_fix_p_t): removed |
| (double_slash_test): is_cxx_header is only called once now |
| * fixinc/hackshell.tpl: indexing the fixes is now done under DEBUG |
| * fixinc/inclhack.def(FIXINC_DEBUG): added for testing DEBUG state |
| within the templates. |
| The borken spelling of "broken" was fixed. |
| * fixinc/inclhack.tpl: The $VERBOSE level is used on various messages |
| The default level depends on FIXINC_DEBUG. |
| |
| 1999-12-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h. |
| Otherwise provide a declaration for atexit. |
| (init_dummy): Make sure dummy call to atexit is nevertheless |
| called with correct number of args. |
| |
| * frame.c: Update comments referring to other files. |
| |
| * libgcc2.c: Likewise. |
| |
| 1999-12-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cse.c (free_element, get_element): Remove unused prototypes. |
| |
| * fold-const.c (extract_muldiv): Initialize variables `op0' and |
| `op1'. |
| |
| * jump.c (invert_exp): Add explicit braces to avoid ambiguous |
| `else' clauses. |
| |
| Wed Dec 29 12:44:54 1999 Donald Lindsay <dlindsay@cygnus.com> |
| |
| * configure.in,configure: case arm for mn10200-*-* now sets |
| float_format=i32 so that float.h will correctly claim "double" |
| to be 32 bits. Ran autoconf to generate configure from .in file. |
| |
| Wed Dec 29 10:53:21 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.md (conditional zero): If op1 is a register, force it into |
| the same register as op0. |
| |
| 1999-12-28 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (BINFO_BASETYPES): Improve documentation. |
| |
| 1999-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (--enable-checking): Use a more portable `for' |
| loop syntax. |
| |
| 1999-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h, |
| arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use. |
| |
| * xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h: |
| Delete files. |
| |
| * gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED): |
| Delete descriptions. |
| |
| * i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h, |
| m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h, |
| m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h, |
| pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h, |
| xm-svr4.h: Remove all instances of sys_siglist handling. |
| |
| 1999-12-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (cmp_zero_qi, |
| cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64, |
| cmp_zero_extendqidi2_andcc_set): New patterns. |
| |
| 1999-12-28 Manfred Hollstein <mhollstein@cygnus.com> |
| |
| * m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a. |
| (LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define. |
| (fpgnulib.c, xfgnulib.c): Add rules. |
| * m68k/t-mot3300-gas: Likewise. |
| |
| 1999-12-27 Ian Lance Taylor <ian@zembu.com> |
| |
| * configure.in: Avoid [[ by using test and changequote. Add |
| changequote required by 1999-12-14 change. |
| * configure: Rebuild. |
| |
| 1999-12-27 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix. |
| |
| 1999-12-27 Christophe Jaillet <jaillet.christophe@caramail.com> |
| |
| * alias.c (nonlocal_reference_p): Add else for disjoint ifs. |
| * flow.c (find_use_as_address): Likewise. |
| * function.c (fixup_var_refs_1): Likewise. |
| (walk_fixup_memory_subreg, fixup_stack_1): Likewise. |
| * jump.c (invert_exp, redirect_exp): Likewise. |
| * loop.c (replace_call_address): Likewise. |
| (count_nonfixed_reads): Likewise. |
| * rtlanal.c (modified_between_p): Likewise. |
| (modified_in_p, volatile_insn_p, volatile_refs_p): Likewise. |
| (side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise. |
| * unroll.c (remap_split_bivs): Likewise. |
| |
| 1999-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * diagnostic.c (v_message_with_decl): Use .* format specifier |
| instead of building the format specifier width manually. |
| |
| * system.h (strsignal): Don't check HAVE_STRSIGNAL when |
| determining whether to provide a prototype. Remove the |
| sys_siglist clause in the conditional. |
| |
| 1999-12-23 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * fold-const.c (operand_equal_p): Use memcmp to compare string |
| constants. |
| Suggested by D. J. Bernstein |
| |
| 1999-12-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure |
| UNITS_PER_WORD and BITS_PER_WORD are compile time constants when |
| compiling libgcc2. |
| * config/mips/mips.h (TARGET_64BIT): Likewise. |
| * config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise. |
| * libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead |
| of {SI,DI}type and DIunion. Define these types to QI/HI modes on |
| dsps. Give routines proper names if SI/DI modes are not used. |
| * longlong.h: Use DWunion instead of DIunion. |
| |
| 1999-12-26 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING, |
| GC_CHECKING, GC_ALWAYS_COLLECT. |
| * configure.in: Allow --enable-checking with an argument |
| listing check modes to enable. |
| * config.in, configure: Rebuilt. |
| * ggc-page.c, ggc-simple.c: Define GGC_POISON (and |
| GGC_ALWAYS_VERIFY for ggc-simple.c) only if |
| ENABLE_GC_CHECKING. Define GGC_ALWAYS_COLLECT only if |
| ENABLE_GC_ALWAYS_COLLECT. |
| * rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING |
| throughout. |
| * tree.h, tree.c: Change ENABLE_CHECKING to |
| ENABLE_TREE_CHECKING throughout. |
| |
| Sun Dec 26 07:48:20 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * fold-const.c (fold_truthop): Properly check for FP RHS. |
| |
| 1999-12-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * toplev.h (note_deferall_of_defined_inline_function): Declare. |
| * toplev.c (note_deferral_of_defined_inline_function): New |
| function, split out from ... |
| (rest_of_compilation): ... here. Use it. |
| |
| Fri Dec 24 12:34:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_constructor): Don't call clear_storage if size is |
| variable. |
| |
| 1999-12-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (toplev.o): Depend on loop.h. |
| |
| * dwarfout.c: Include tm_p.h. |
| |
| * emit-rtl.c (restore_emit_status): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| |
| * final.c (final_scan_insn): Likewise. |
| |
| * flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump, |
| flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find, |
| flow_depth_first_order_compute, flow_loop_pre_header_find, |
| flow_loop_tree_node_add, flow_loops_tree_build, |
| flow_loop_level_compute, flow_loops_level_compute, |
| flow_loop_outside_edge_p): Add prototypes. |
| (recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED. |
| |
| * ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack): |
| Mark with ATTRIBUTE_NORETURN. |
| |
| * hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED. |
| |
| * local-alloc.c (no_conflict_p): Likewise. |
| |
| * loop.c (insert_bct): Hide definitions of variables with hidden |
| usage. |
| (note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED. |
| |
| * regclass.c (memory_move_secondary_cost): Mark variable `mem' |
| with ATTRIBUTE_UNUSED. |
| (record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED. |
| (reg_scan): Likewise. |
| |
| * reload.c (find_reloads): Remove unused variables `changed'. |
| |
| * reload1.c (reload_reg_class_lower): Don't unnecessarily cast |
| away const-ness. |
| (allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED. |
| Remove unused variable `insn'. |
| |
| * toplev.c: Include loop.h. |
| (report_file_and_line): Remove unnecessary prototype. |
| |
| * tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED. |
| |
| * unroll.c (biv_total_increment): Likewise. |
| |
| Thu Dec 23 23:15:22 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload1.c (emit_input_reload_insns): Restore old behavior |
| wrt. 'special' reloads. |
| |
| 1999-12-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on |
| hash.h. (cse.c): Don't depend on hashtab.h. |
| |
| * cse.c: Don't include hashtab.h. |
| (hash_cse_reg_info, cse_reg_info_equal_p): Delete prototypes |
| of dead functions. |
| * ggc-simple.c: Don't include hash.h. |
| |
| 1999-12-22 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (add_abstract_origin_attribute): Call |
| gen_abstract_function on our function context. |
| |
| Thu Dec 23 03:57:10 1999 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H. |
| |
| 1999-12-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.c (c4x_address_cost): Add statement to default |
| case in switch. |
| |
| 1999-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (*addqi3_noclobber_reload): Change operand 0 |
| constraints to "a!r". |
| |
| 1999-12-21 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (calls.o): Depend on function.h. |
| (alias.o): Likewise. |
| |
| 1999-12-21 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload1.c (emit_reload_insns): Break out code and variables into... |
| (input_reload_insns, other_input_address_reload_insns, |
| other_input_reload_insns, input_address_reload_insns, |
| inpaddr_address_reload_insns, output_reload_insns, |
| output_address_reload_insns, outaddr_address_reload_insns, |
| operand_reload_insns, other_operand_reload_insns, |
| other_output_reload_insns): ... new static variables, and... |
| (emit_input_reload_insns, emit_output_reload_insns, do_input_reload, |
| do_output_reload): ... new functions. |
| |
| Tue Dec 21 07:06:36 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * pa.h (FUNCTION_ARG_BOUNDARY): Never return 0. |
| |
| 1999-12-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * md.texi: Add c4x constraints documentation. |
| |
| 1999-12-21 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * config/i386/dgux.c (struct option): Rename to |
| lang_independent_option. |
| (struct m_options): Add description field. |
| (output_options): Rename option type, add sep declaration, output |
| ix86_cpu_string and ix86_arch_string only if set. |
| (output_file_start): Rename option type. |
| |
| Mon Dec 20 23:15:36 1999 Mike Stump <mrs@wrs.com> |
| |
| * Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on |
| stmp-int-hdrs. |
| (libgcc2.a): Similarly. |
| |
| Mon Dec 20 23:06:47 1999 David Edelsohn <edelsohn@gnu.org> |
| |
| * longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss |
| with W_TYPE_SIZE == 32. Do not fall through to POWER architecture |
| for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER. |
| |
| Mon Dec 20 23:02:03 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * fold-const.c (real_hex_to_f): Remove unused "isldouble" variable. |
| Remove redundant initialization of "frexpon" and "expon". |
| |
| Mon Dec 20 15:00:04 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first. |
| |
| * expr.c (store_constructor): New argument SIZE; pass to clear_storage. |
| (store_constructor_field, expand_expr): Pass new arg. |
| |
| 1999-12-20 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (explow.o): Depend on function.h. |
| |
| * stor-layout.c (set_sizetype): Fix typo. |
| |
| 1999-12-20 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * function.c (cfun): Renamed from current_function. All users |
| changed. |
| * function.h (cfun): Rename declaration as well. |
| |
| * reload.h (struct insn_chain): Change live_throughout and dead_or_set |
| to be of type regset_head, not regset. All users changed by adding |
| address operator. |
| * reload1.c (new_insn_chain): Don't allocate regsets, just clear them. |
| |
| 1999-12-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/rtems.h: New file. |
| |
| 1999-12-19 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload1.c (spill_failure): Take class of failed reload as argument |
| and print it. Caller changed. |
| |
| Sun Dec 19 07:50:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * rs6000.h (SUBTARGET_DEFAULT): New macro. |
| (TARGET_SWITCHES): Allow subtargets to default switches. |
| * rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro. |
| |
| 1999-12-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize |
| in a main program. |
| |
| Sat Dec 18 20:42:43 1999 Richard Henderson <rth@cygnus.com> |
| |
| * cccp.c (main): Define __STDC_VERSION__ as necessary. |
| * cppinit.c (cpp_handle_option): Likewise. |
| |
| * ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to |
| determine when to define. |
| |
| Sat Dec 18 20:34:00 1999 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle |
| cmove with mismatched test and data modes. |
| |
| Sat Dec 18 20:30:15 1999 Richard Henderson <rth@cygnus.com> |
| |
| * c-typeck.c (c_expand_start_case): Don't warn for long switch |
| in system headers. |
| |
| Sat Dec 18 16:28:43 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c: Minor reformatting. |
| * flow.c: Likewise. |
| * regs.h: Likewise. |
| * stor-layout.c: Likewise. |
| * fold-const.c: Likewise. |
| (OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign. |
| (struct cb_args, const_binop_1, const_binop): Pass type of arg, |
| not arg itself. |
| (size_int_wide): Cache nodes even if garbage collecting. |
| (twoval_comparison_p): Reenable SAVE_EXPR case if operand |
| of SAVE_EXPR has no side effects. |
| * cse.c: Move a comment. |
| * tree.c: Minor reformatting. |
| (int_size_in_bytes): Return -1 if constant overflows. |
| |
| Sat Dec 18 18:30:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * unroll.c (copy_loop_body): Don't treat a REG like a PLUS. |
| |
| 1999-12-18 10:42 -0800 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * objc/objc-parse.c: Regenerate. This file must be rebuilt |
| after any change to c-parse.in, even if objc-parse.y didn't |
| change. Oops. |
| |
| 1999-12-18 David S. Miller <davem@redhat.com> |
| |
| * toplev.c (rest_of_compilation): Restore BLOCK tree |
| reconstruction and branch shortening changes lost in |
| December 18th change. |
| |
| Sat Dec 18 05:29:29 1999 Scott Bambrough <scottb@netwinder.org> |
| |
| * config/arm/linux-elf.h: Change all instances of |
| ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS. |
| * config/arm/uclinux-elf.h: Likewise. |
| |
| 1999-12-18 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * toplev.c (notice, vmessage, v_message_with_file_and_line, |
| v_message_with_decl, file_and_line_for_asm, |
| v_error_with_file_and_line, v_error_with_decl, v_error_for_asm, |
| verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl, |
| v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl, |
| v_pedwarn_with_file_and_line, vsorry, vnotice, count_error, |
| pfatal_with_name, fatal_io_error, need_error_newline, |
| last_error_function, last_error_tick, announce_function, |
| default_print_error_function, print_error_function, |
| report_error_function, fnotice, error_with_file_and_line, |
| error_with_decl, error_for_asm, error, set_fatal_function, fatal, |
| _fatal_insn, _fatal_insn_not_found, warning_with_file_and_line, |
| warning_with_decl, warning_for_asm, warning, pedwarn, |
| pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to |
| diagnostic.c |
| (compile_file): Use fnotice instead of notice. Adjust call. |
| |
| * diagnostic.c: New file. |
| |
| * Makefile.in (OBJS): Include diagnostic.o |
| (diagnostic.o): Define dependence. |
| |
| 1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0). |
| Tweak formatting. |
| |
| 1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re. |
| |
| 1999-12-17 13:21 -0800 Zack Weinberg <zack@rabi.columbia.edu> |
| |
| * fixtests.c (is_cxx_header): New fn, split out of |
| double_slash_test. |
| (else_endif_label): Allow "#endif // comment" in C++ headers, |
| as determined by is_cxx_header. |
| * fixfixes.c (else_endif_label_fix): Update comment. |
| * fixincl.c: Don't output VERB_PROGRESS lines if stdout is not |
| a tty. |
| * genfixes: Correct double thinko in commandline parsing. |
| * hackshell.tpl: Generate correct sh syntax for bypass |
| entries. |
| |
| * inclhack.def (all): Whenever an inserted preprocessor |
| conditional is split over multiple lines, use double |
| backslashes in this file so the fixed header will be readable. |
| |
| (AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h |
| and add bypass entry for correct version of this header. |
| (AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h. |
| (AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h. |
| |
| (hpux8_bogus_inlines): New fix, split from... |
| (ultrix_atof_param) ... here. |
| (math_expression): Add bypass entry keyed to glibc comment |
| indicating the problem has been dealt with; disable |
| unnecessary sed operations; update commentary. |
| (math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max, |
| add select and bypass entries, simplify shell operation. |
| (math_huge_val_ifndef): Split from math_gcc_ifndefs. |
| |
| (ip_missing_semi, rs6000_param, tinfo_cplusplus, |
| ultrix_atof_param): Add select entry. |
| (stdio_va_list, sunos_mather_decl): Add bypass entry. |
| (systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the |
| comments with the fixes they describe. |
| |
| * c-parse.in (string action): Do not warn about ANSI string |
| concatenation in system headers. Affects C parser only. |
| * c-parse.y, c-parse.c, c-parse.h: Rebuild. |
| |
| 1999-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if |
| compiling libgcc2 the macro depends always on arch cpp defines. |
| |
| Fri Dec 17 10:34:16 1999 Richard Earnshaw <rearnsha@arm.com> |
| |
| * loop.c (insert_loop_mem): Don't record MEMs from inside |
| EXPR_LISTs. |
| |
| Fri Dec 17 12:08:11 MET 1999 Jan Hubicka <hubicka@freesoftr.cz> |
| |
| * regclass.c (regclass): Do not use flowgraph when not optimizing. |
| |
| * gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV |
| notes too, create one when replacement failed, attempt to simplify |
| resulting notes. |
| (cprop_insn): Propagate even to registers mentioned only in REG_EQUAL |
| or REG_EQUIV notes. |
| |
| 1999-12-16 Mark Mitchell <mark@codesourcery.com> |
| |
| * crtstuff.c (__dso_handle): Declare. |
| (__cxa_finalize): Likewise. |
| (do_global_dtors_aux): Call __cxa_finalize if __dso_handle is |
| non-NULL. |
| |
| * invoke.texi: Document -fuse-cxa-atexit. |
| |
| * tree.h (ptr_type_node): Document. |
| (const_ptr_type_node): Likewise. |
| |
| Fri Dec 17 01:32:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * regmove.c (optimize_reg_copy_1): Ignore LOOP notes. |
| (optimize_reg_copy_2): Likewise. |
| (optimize_reg_copy_3): Likewise. |
| (fixup_match_2): Likewise. |
| (regmove_optimize): Likewise. |
| (fixup_match_1): Liekwise. |
| |
| * i386.md (HI to SImode promoting splitters): Rewrite. |
| (pushsf mem peep2): New. |
| (testhi to andhi peep2): Remove. |
| * i386.h (x86_promote_QImode): New. |
| (TARGET_PROMOTE_QImode): New. |
| (PREDICATE_CODES): Add promotable_binary_operator. |
| * i386.c (x86_promote_QImode0: New. |
| (promotable_binary_operator): New. |
| * i386-protos.h (promotable_binary_operator): New. |
| |
| * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify |
| condition. |
| (one_cmpl?i*): Pass "NOT" to unary_operator_ok. |
| |
| 1999-12-16 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H. |
| * function.c (insert_block_after_note): Remove. |
| (retrofit_block): Likewise. |
| (identify_blocks): Fix indentation. |
| (reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a |
| NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END. |
| * function.h (insert_block_after_note): Remove prototype. |
| (retrofit_block): Likewise. |
| * integrate.c (expand_inline_function): Don't call |
| find_loop_tree_blocks. Use expand_start_bindings_and_block, not |
| just expand_start_bindings. Use the block_map to remap old |
| NOTE_BLOCKs to new ones. |
| (integrate_decl_tree): Keep track of remapped blocks. |
| * integrate.h (struct inline_remap): Add block_map. |
| * stmt.c (expand_fixup): Don't try to retrofit_blocks. Just set |
| NOTE_BLOCK on the notes. |
| (expand_start_bindings): Rename to ... |
| (expand_start_bindings_and_block): Add parameter. Set NOTE_BLOCK. |
| (expand_end_bindings): Set NOTE_BLOCK. |
| * toplev.c (rest_of_compilation): In function-at-a-time-mode, |
| reconstruct the BLOCK tree. |
| * tree.h (expand_start_bindings): Macroize. Call ... |
| (expand_start_bindings_and_block): New function. |
| |
| 1999-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (print_operand): Cast fprintf arguments |
| to match the format. |
| |
| 1999-12-16 David S. Miller <davem@redhat.com> |
| |
| * expr.c (emit_move_insn_1): Only emit clobbers if one of |
| the outputs is a SUBREG. |
| * rtlanal.c (reg_overlap_mentioned_p): Revert December 15th |
| change. |
| |
| * config/sparc/sparc.c (epilogue_renumber): Add default case |
| to switch stmt. |
| |
| Thu Dec 16 11:33:57 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * toplev.c (rest_of_compilation): Run branch shortening after |
| reg-stack. |
| |
| * regclass.c (loop_depth): Remove |
| (scan_one_insn): Do not handle LOOP_NOTE insns. |
| (regclass): Go through basic blocks and set loop_cost |
| |
| Thu Dec 16 02:56:25 1999 Zack Weinberg <zack@bitmover.com> |
| |
| * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too. |
| |
| Thu Dec 16 10:43:35 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (movqi): Use "nonimmediate_operand" for output operand. |
| (movstrictqi, movdi, movsf, movdf, movxf): Likewise. |
| (adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise. |
| |
| Thu Dec 16 02:41:26 1999 Richard Henderson (rth@cygnus.com) |
| |
| * loop.c (insert_loop_mem): Ignore memory clobbers. |
| |
| * combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0) |
| to (OP A B). |
| |
| Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * profile.c: Remove redundant #include "output.h". |
| |
| * h8300.md (HImode preinc peephole): Fix typo. |
| |
| 1999-12-15 Jason Merrill <jason@casey.cygnus.com> |
| |
| * function.c (retrofit_block): Abort if we don't find a suitable insn. |
| (insert_block_after_note): Abort if we don't have a previous block. |
| Remove FN parameter. |
| * function.h: Adjust. |
| |
| 1999-12-15 Mark Mitchell <mark@codesourcery.com> |
| |
| * builtins.c (expand_builtin_mathfn): Make sure not to expand the |
| argument more than once. |
| |
| 1999-12-15 Jason Merrill <jason@casey.cygnus.com> |
| |
| * stmt.c (expand_decl): Expand upper bound of a dynamic array. |
| |
| 1999-12-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.c (emit_group_load): Use dst mode if src is VOIDmode. |
| |
| Wed Dec 15 16:11:55 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * function.c (PREFERRED_STACK_BOUDNARY): Provide default value. |
| (assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY, |
| update stack_alignment_needed. |
| (prepare_function_start): Initialize stack_alignment_needed |
| * function.h (struct function): Add field stack_alignment_needed. |
| |
| Wed Dec 15 14:55:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * caller-save.c (insert_one_insn): Returns struct insn_chain *. |
| Handle live_throughout / dead_or_set instead of live_before / |
| live_after. |
| (save_call_clobbered_regs): Get register livenessinformation from |
| chain->live_throughout. |
| (add_stored_regs): New function. |
| (insert_restore, insert_save): Add restored / saved registers to |
| dead_or_set. |
| * global.c (reg_dies): New parameter chain. |
| (reg_becomes_live): Third parameter is regs_set now. |
| Changed all callers. |
| (reg_dies): New parameter chain. Changed all callers. |
| (build_insn_chain): Set live_throughout instead of |
| live_before / live_after. |
| * reload.h (struct insn_chain): Replace members live_before / |
| live_after with live_throughout / dead_or_set. |
| * reload1.c (new_insn_chain): Handle live_throughout / dead_or_set |
| instead of live_before / live_after. |
| (maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise. |
| (order_regs_for_reload, find_reg, finish_spills): Likewise. |
| (choose_reload_regs_init): Likewise. |
| * stupid.c (current_chain, find_clobbered_regs): Delete. |
| (stupid_life_analysis): Set chain->live_throughout chain->dead_or_set |
| instead of chain->live_before / chain->live_after. |
| (mark_hard_ref): New function. |
| (stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout. |
| |
| 1999-12-15 David S. Miller <davem@redhat.com> |
| |
| * rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT. |
| |
| Wed Dec 15 15:05:30 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * flow.c (calculate_loop_depth): Make global, remove prototype, |
| rewrite to use new loop infrastructure. |
| (find_basic_block): Remove calculate_loop_depth call. |
| * toplev.c (rest_of_compilation): Call find_basic_block. |
| * output.h (calculate_loop_depth): Declare. |
| |
| * flow.c (dump_flow_info): Dump loop_depth. |
| (flow_loops_nodes_find): Increase loop_depth for basic block in the |
| body. |
| (flow_loops_find): Initialize the loop_depth for each basic block. |
| |
| 1999-12-15 Jason Merrill <jason@casey.cygnus.com> |
| |
| * tree.c (decl_function_context): Handle virtual functions. |
| |
| * tlink.c (scan_linker_output): Don't look in demangled name when |
| looking for linker output keywords. |
| |
| * dwarfout.c (output_type): We can defer namespace-scope classes. |
| |
| Wed Dec 15 01:23:29 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * regclass.c (record_reg_classes): Update comment for merging |
| register class preferences in reg->reg copies. Tighten conditions |
| for merging register class preferences in reg->reg copies. |
| |
| Wed Dec 15 02:19:32 1999 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.md (tablejumpdi): Generate DImode LABEL_REF. |
| |
| 1999-12-14 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete. |
| (INIT_SECTION_ASM_OP): Delete. |
| (FINI_SECTION_ASM_OP): Delete. |
| (STARTFILE_SPEC): Define to hold just crtbegin.o. |
| |
| 1999-12-14 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (add_abstract_origin_attribute): Do call abort if |
| the abstract origin wasn't emitted. |
| |
| * dwarf2out.c (class_scope_p): New fn. |
| (gen_subprogram_die): Use it. |
| (gen_variable_die): Use it. Tweak logic. |
| (gen_struct_or_union_type_die): Check context_die to determine |
| if we're function-local. |
| (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE. |
| |
| 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c (check_dbra_loop): Can't reverse a biv that has |
| maybe_multiple set. |
| |
| 1999-12-14 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c: Add support for -mcpu=arm720 command line |
| switch. |
| |
| Tue Dec 14 18:13:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * loop.c (strength_reduce): Fix sign of giv lifetime calculation |
| for givs made from biv increments. |
| |
| Tue Dec 14 08:11:27 1999 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in (alpha-osf, alpha-linux): Handle ev6[78]. |
| * alpha.c (override_options): Recognize -mcpu=ev67. |
| * alpha.h (CPP_CPU_EV67_SPEC): New. |
| (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it. |
| (EXTRA_SPECS): Update. |
| |
| Tue Dec 14 08:04:28 1999 Richard Henderson <rth@cygnus.com> |
| |
| * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as |
| appropriate for -lang-c89 and -std=*. |
| * cppinit.c (cpp_handle_option): Likewise. |
| (new_pending_define): New, split out from cpp_handle_option. |
| * gcc.c (default_compilers): Don't define __STRICT_ANSI__ |
| or enable trigraphs for -ansi/-std=*. |
| |
| * ginclude/stdarg.h (__va_copy): New. |
| (va_copy): Don't define for C89. |
| |
| Tue Dec 14 08:37:27 CST 1999 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns |
| for long long multiply-accumulate. |
| |
| Tue Dec 14 13:51:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * regclass.c (scan_one_insn): Set loop_cost to 1 when |
| optimizing for size. |
| |
| 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload1.c (reload): Can't avoid select_reload_regs/finish_spills |
| if something changed. Back out that part of yesterday's changes. |
| |
| * loop.c (loop_max_reg): New static variable. |
| (loop_optimize): Initialize it. Eliminate one unnecessary call to |
| max_reg_num. |
| (scan_loop): Call reg_scan_update whenever we may have added new |
| registers, and update loop_max_reg. |
| |
| Tue Dec 14 12:07:29 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * regclass.c (record_reg_classes): Do not do the copying preferrencing |
| when source does not die. |
| |
| * regclass.c (record_reg_classes): Handle INOUT operands properly. |
| |
| 1999-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/linux64.h (TARGET_LIVE_G0, |
| TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC |
| variants on Linux. |
| * config/sparc/linux.h (TARGET_LIVE_G0, |
| TARGET_BROKEN_SAVERESTORE): Likewise. |
| * config/sparc/linux-aout.h (TARGET_LIVE_G0, |
| TARGET_BROKEN_SAVERESTORE): Likewise. |
| |
| * config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32. |
| (CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64, |
| not %g2. |
| (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2 |
| as sparc64 block profiling register. |
| * config/sparc/sparc.c (sparc_override_options): Allow block |
| profiling with -m32. |
| (sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block |
| profiling register. |
| * config/sparc/linux64.h (MACHINE_STATE_*): Only provide these |
| macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64. |
| * config/sparc/sol2.h (MACHINE_STATE_*): Likewise. |
| |
| * config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing |
| for sparc64. |
| * config/sparc/sparc.h: Likewise. |
| * config/sparc/xm-sysv4-64.h: Likewise. |
| * config/float-sparc.h: Likewise. |
| * glimits.h: Likewise. |
| * longlong.h: Likewise. |
| |
| * config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1. |
| (ASM_IDENTIFY_GCC): Remove. |
| |
| 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * combine.c (combine_simplify_rtx): Don't make shared rtl. |
| (simplify_logical): Likewise. |
| |
| 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin. |
| * cppfiles.c (INO_T_EQ): Likewise. |
| |
| 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support. |
| * i386/mingw32.h (LIB_SPEC): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| * i386/uwin.h (LIB_SPEC): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| |
| * i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition. |
| * i386/uwin.h (SUBTARGET_PROLOGUE): Likewise. |
| |
| Mon Dec 13 20:25:29 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * combine.c (combine_simplify_rtx): Fix order of checks for |
| (ashiftrt foo C) -> (lt foo (const_int 0)) simplification. |
| |
| 1999-12-13 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi) Backed out |
| 12/10/99 change, reapplied to merged-arm-thumb-backend-branch. |
| |
| 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is |
| defined. |
| * regclass.c (inv_reg_alloc_order): New array. |
| (regclass_init): If REG_ALLOC_ORDER is defined, initialize it. |
| |
| * reload.h (struct insn_chain): Delete fields group_size, group_mode, |
| counted_for_groups, counted_for_nongroups. Add fields rld and |
| n_reloads. |
| * reload.c (push_secondary_reload): Don't set nongroup field of |
| new reloads. |
| (push_reload): Likewise. |
| (find_reloads): Delete code to compute nongroup fields. |
| * reload1.c (reload_insn_firstobj): New static variable. |
| (pseudos_counted, spilled_pseudos): Now of type regset_head. All |
| users changed. |
| (calculate_needs, find_tworeg_group, find_group, possible_group_p, |
| count_possible_groups, modes_equiv_for_class_p, new_spill_reg, |
| dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete |
| functions. |
| (count_pseudo, select_reload_regs, copy_reloads, find_reg): New |
| functions. |
| (struct hard_reg_n_uses): Deleted. |
| (potential_reload_regs): Deleted. |
| (init_reload): Initialize spilled_pseudos and pseudos_counted. |
| (reload): Don't try to allocate reload registers if we already know |
| we have to make another pass. Call select_reload_regs. Free memory |
| starting with reload_firstobj when starting another pass. |
| Don't allocate spilled_pseudos. |
| (calculate_needs_all_insns): Call copy_reloads for an insn that |
| needs reloads; don't call calculate_needs. |
| (spill_cost): New static array. |
| (used_spill_regs_local): New static variable. |
| (order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code |
| to compute potential_reload_regs. |
| (find_reload_regs): Completely rewritten to use find_reg. |
| (allocate_reload_reg): Don't test counted_for_groups or |
| counted_for_nongroups. Lose NOERROR arg and code to give an error; |
| all cllers changed. |
| (choose_reload_regs): Add fallback code that uses the existing |
| register allocation from find_reload_regs. |
| |
| Mon Dec 13 00:54:14 1999 Philippe De Muyter <phdm@macqel.be> |
| |
| * flow.c (create_edge_list): Cast xmalloc return value. |
| |
| Mon Dec 13 00:47:58 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * doprnt.c: Remove incorrect comment closure. |
| |
| * cse.c: Fix a few minor whitespace goofs. |
| |
| 1999-12-13 Don Bowman <don@pixstream.com> |
| |
| * mips/vxworks.h: Fix problem with comment termination. |
| (EXTRA_SECTIONS): Add in_sbss. |
| (EXTRA_SECTION_FUNCTIONS): Corresponding changes. |
| |
| 1999-12-12 David S. Miller <davem@redhat.com> |
| |
| * cse.c (struct cse_reg_info): Add hash_next member, |
| reorder rest of struct for better packing on 64-bit |
| hosts. |
| (cse_reg_info_tree): Kill. |
| (REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash, |
| REGHASH_FN): New custom pow2 hash mechanism. |
| (NBUCKETS): Kill. |
| (HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to |
| use a pow2 hash table. |
| (get_cse_reg_info): Rework to use new REGHASH. |
| (new_basic_block): Likewise, use HASH_SIZE, and inline |
| free_element call. |
| (remove_from_table): Rework to use HASH_SIZE/HASH_MASK, |
| and inline free_element call. |
| (lookup_as_function, insert, flush_hash_table, invalidate, |
| remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg, |
| invalidate_for_call, use_related_value, find_comparison_args, |
| fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise. |
| (hash_cse_reg_info, cse_reg_info_equal_p, free_element, |
| get_element): Kill. |
| |
| Sun Dec 12 21:31:44 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * cse.c (cse_basic_block): Free qty_table consistently. |
| |
| 1999-12-12 David S. Miller <davem@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (movtf reg/reg split): Don't generate |
| SUBREGs by hand, gen the appropriate hard reg directly. |
| (movtf reg/mem split): Likewise and alter_subreg on destination |
| if necessary. |
| (movtf mem/reg split): Similarly. |
| (movdf_cc_sp64): Rename from hidden pattern. |
| (movtf_cc_hq_sp64): Renamed from movtf_cc_sp64. |
| (movtf_cc_sp64, following split): New pattern and splitter. |
| (movdf_cc_reg_sp64): Rename from hidden pattern. |
| (movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require |
| TARGET_HARD_QUAD. |
| (movtf_cc_reg_sp64, following split): New pattern and splitter. |
| |
| 1999-12-12 Stephen L Moshier <moshier@mediaone.net> |
| |
| * loop.c (load_mems): Don't hoist written floating point mem |
| if -ffloat-store. |
| |
| 1999-12-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * except.h (struct eh_queue): Add `next' pointer. |
| (struct eh_status): Make x_ehqueue a pointer. |
| (push_ehqueue): Declare. |
| (pop_ehqueue): Likewise. |
| * except.c (expand_eh_region_end): Adjust now that ehqueue is a |
| pointer. |
| (expand_fixup_region_end): Likewise. |
| (expand_leftover_cleanups): Likewise. |
| (push_ehqueue): Define. |
| (pop_ehqueue): Likewise. |
| (emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather |
| than doing it inline. |
| (expand_start_all_catch): Adjust now that ehqueue is a |
| pointer. |
| (mark_eh_queue): Mark all level of the queue. |
| (mark_eh_status): Adjust now that ehqueue is a |
| pointer. |
| (init_eh_for_function): Allocate ehqueue. |
| (free_eh_status): Free it. |
| * stmt.c (expand_cleanups): Save the ehqueue around the cleanup |
| expansion for a fixup. |
| |
| 1999-12-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gthr-single.h (__gthread_active_p): Add prototype arguments. |
| |
| * libgcc2.c (__udivmoddi4): Remove unnecessary decls. |
| (__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg, |
| __bb_trace_func, __bb_trace_func_ret, __bb_trace_ret, |
| function_ptr, getpagesize, __enable_execute_stack, |
| __enable_execute_stack, __clear_insn_cache, |
| __enable_execute_stack, __do_global_dtors, __do_global_ctors, |
| _cleanup, _exit, __default_terminate, __terminate_func, |
| __terminate, __empty, __throw, new_eh_context, |
| eh_context_initialize, eh_context_static, eh_context_specific, |
| get_eh_context, __get_eh_context, __get_eh_info, |
| init_reg_size_table, eh_threads_initialize, |
| __get_dynamic_handler_chain, __sjthrow, __sjpopnthrow, |
| __unwinding_cleanup, throw_helper, __throw, __rethrow, |
| __pure_virtual): Add prototype arguments. |
| (__bb_exit_func): Cast a sizeof to long when comparing against one. |
| Cast a signed value to unsigned long when comparing against one. |
| (new_eh_context): Wrap in _GTHREADS macro. |
| (__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at |
| declaration. |
| (in_reg_window): Mark parameters with __attribute__ ((__unused__)). |
| (throw_helper): Initialize variables `handler_p' and `pc_p'. |
| |
| 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * combine.c (record_promoted_value): Remove unused variable |
| `links2'. |
| |
| * emit-rtl.c (renumber_insns): Likewise for `old_max_uid'. |
| |
| * global.c (record_conflicts): Likewise for `j'. |
| |
| * genoutput.c (output_insn_data): Don't unnecessarily cast away |
| const-ness. |
| |
| 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * i386-protos.h (output_387_binary_op, output_fix_trunc, |
| output_fp_compare): Constify a char*. |
| |
| * i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add |
| static prototypes. |
| (override_options, ix86_comp_type_attributes, print_operand, |
| output_387_binary_op, output_fix_trunc, output_fp_compare): |
| Constify a char*. |
| (ix86_sched_reorder): Mark parameter `clock_var' with |
| ATTRIBUTE_UNUSED. |
| |
| * i386.h (DEBUG_PRINT_REG): Constify a char*. |
| |
| Fri Dec 10 16:12:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> |
| |
| * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third |
| operand, for use in the Java front-end. |
| |
| 1999-12-10 Ben Collins <bcollins@debian.org> |
| |
| * configure.in: Fix typo for "-64" in 64bit as check. |
| * configure: Rebuilt. |
| |
| 1999-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| * longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where |
| appropriate. |
| |
| 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-parse.in (string): With -Wtraditional, warn if ANSI string |
| concatenation is utilized. |
| |
| * invoke.texi (-Wtraditional): Document it. |
| |
| 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * flow.c (flow_loops_dump): Avoid ANSI string concatenation. |
| Cast a ptrdiff_t to long and pass it to printf with %ld. |
| |
| 1999-12-10 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no |
| 68881, we have no 68881 registers at all. |
| (HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT |
| value in a 68881 register if it is available. |
| |
| 1999-12-10 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns |
| for long long multiply-accumulate. |
| |
| 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c (insert_loop_mem): Undo last change. |
| |
| 1999-12-10 David S. Miller <davem@redhat.com> |
| |
| * config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p): |
| New functions. |
| * config/sparc/sparc-protos.h: Add them. |
| * config/sparc/sparc.h: Add them to PREDICATE_CODES. |
| (EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S |
| constraints which use those helpers. |
| (EXTRA_CONSTRAINT): Use this new macro. |
| * md.texi: Update sparc target constraints documentation. |
| * config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg, |
| movsf_const_high, movsf_const_lo, movsf_insn): Delete. |
| (movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0, |
| movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns. |
| (movsf high/lo_sum split): Rework for new patterns. |
| (movsf expander): Allow storing fp_zero to memory if ! live_g0. |
| |
| 1999-12-09 Gavin Romig-Koch <gavin@cetus.cygnus.com> |
| |
| * c-common.c (c_common_nodes_and_builtins): |
| Create __builtin_ptrdiff_t and __builtin_size_t. |
| |
| Thu Dec 9 18:05:48 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * pa/elf.h (MAX_OFILE_ALIGNMENT): Define. |
| |
| Fri Dec 10 00:53:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * regclass.c (globalize_reg): Re-instate test that allows |
| fixed registers to be declared as a variable even after functions |
| are defined. |
| |
| Fri Dec 10 00:52:13 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (cpu attribute): Add "athlon". |
| (athlon_decode): New attribute. |
| (Athlon scheduling units definitions): New. |
| (fcmp and shld patterns): Set athlon_decode to "vector". |
| * i386.c (athlon_cost): New. |
| (m_ATHLON): New. |
| (x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch, |
| x86_use_sahf): Set for Athlon. |
| (x86_use_fiop): Unset for Athlon. |
| (override_options): Define Athlon alignments and "athlon" name. |
| (x86_adjust_cost): Penalize AGI and delayed latencies for Athlon. |
| * i386.h (TARGET_ATHLON): New. |
| (enum processor_type): Add PROCESSOR_ATHLON. |
| (TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__" |
| for CPU_DEFAULT==5 |
| (TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon. |
| |
| 1999-12-09 Andreas Jaeger <aj@suse.de> |
| |
| * loop.c (record_biv): Declare parameter as int. |
| |
| * config/i386/i386-protos.h: Declare long_memory_operand. |
| |
| 1999-12-09 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.c (copy_node): Do zero the TREE_CHAIN, even for an |
| EXPR_WITH_FILE_LOCATION. |
| |
| Thu Dec 9 11:36:24 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand |
| in expander. |
| |
| * flow.c (recompute_reg_usage): Use basic block info to get loop_depth. |
| |
| * combine.c (try_combine, distribute_notes): Remove REG_N_REFS |
| updating code. |
| |
| 1999-12-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs |
| default on linux64 again. |
| * config/sparc/t-linux64: Add mno-app-regs and non-medlow code |
| models for multilibing. |
| * genmultilib: Accept | as alternative separator within a set in |
| MULTILIB_OPTIONS. |
| |
| * config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define. |
| |
| * calls.c (precompute_arguments): Make sure initial_value contains |
| value pseudo which CSE expects. |
| * cse.c (struct set): New entry orig_src. |
| (cse_insn): Set it early on entry, use it for libcall EQUIV note |
| replacement. |
| |
| Wed Dec 8 22:24:15 1999 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns. |
| |
| 1999-12-08 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c (insert_loop_mem): Don't hoist volatile mems out of loops. |
| |
| 1999-12-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (ultra_cmove_results_ready_p, |
| ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix. |
| |
| * config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits |
| if TARGET_ARCH32. |
| |
| * longlong.h: Merge in changes from glibc. |
| Also don't clobber %g2 register in 32bit SPARC assembly, so that |
| -mno-app-regs libgcc can be compiled. |
| * libgcc2.c: Add defines so that the updated longlong.h |
| can be used in libgcc2.a. Also, make sure on most architectures |
| (at least on all which have optimized code in longlong.h defined |
| for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests. |
| |
| 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that |
| `-m EMULATION' is added to non-default LINK_ARCH_SPECs. |
| * configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker |
| is GNU ld. |
| * configure: Rebuilt. |
| |
| Wed Dec 8 03:45:40 1999 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (secondary_reload_class): For !BWX, sub-simode |
| outputs require a register. |
| |
| 1999-12-08 Brendan Kehoe <brendan@cygnus.com> |
| |
| * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi |
| _df_to_usi. Required by some targets, so US_SOFTWARE_GOFAST calls to |
| functions like dptoul will be resolved. |
| (libgcc2.a): Make sure that the object files from DPBIT are named |
| differently (prefix `_dp') from those that would be coming from |
| FPBIT. |
| |
| 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.in: When target is sparc* and tm_file contains 64, |
| test for 64bit support in assembler. If not supported, remove |
| sparc/t-sol2-64 from target-dependent Makefile fragments. |
| (AS_SPARC64_FLAG): Define to the assembler flag for 64bit. |
| (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags. |
| (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache. |
| * acconfig.h (AS_SPARC64_FLAG): Added. |
| * configure, config.in: Rebuilt. |
| * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit |
| support. Use AS_SPARC64_FLAG. |
| |
| 1999-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers |
| suitable for holding OFmode values so that gcc works with complex |
| quad long doubles. |
| (hard_64bit_mode_classes): Likewise. |
| |
| * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern |
| so that it is actually matched. |
| (sethi_di_medlow): Likewise. |
| |
| * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L |
| as legitimate constant if -mvis. |
| * config/sparc/sparc.md (movtf): Likewise. |
| (clear_sf): Use const_double_operand. |
| (clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns. |
| |
| * config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function. |
| * config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype. |
| * config/sparc/sparc.h (*_LIBCALL): Only use for _Q_* |
| routines, _Qp_* cannot be handled like that now. |
| (INIT_TARGET_OPTABS): Likewise. |
| * config/sparc/sparc.md (cmptf): Accept soft float ARCH64. |
| (seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call |
| sparc_emit_float_lib_cmp if ARCH64 and soft float. |
| (extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2, |
| floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3, |
| divtf3, sqrttf3): New expanders. |
| (extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq, |
| floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq, |
| addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from |
| non-_hq patterns. |
| |
| * configure.in (sparc64-*-linux*): Use posix threads if enabled. |
| * configure: Rebuilt. |
| * config/sparc/linux64.h: Default to -mcpu=ultrasparc if no |
| -mcpu is given and we're doing 64bit compiles. |
| |
| Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com> |
| |
| * loop.h (struct induction): Add multi_insn_incr. |
| * loop.c (basic_induction_var): New multi_insn_incr argument. |
| Set it if we search back through previous insns for the biv. |
| (record_biv): New multi_insn_incr argument; fill in struct induction. |
| (strength_reduce): Discard an iv with multiple bivs, any of |
| which require multiple insns to increment. |
| |
| 1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std |
| documentation. |
| |
| 1999-12-06 David S. Miller <davem@redhat.com> |
| |
| * combine.c (check_promoted_subreg): Do not conditionalize this upon |
| PROMOTE_FUNCTION_RETURN. |
| |
| Mon Dec 6 15:12:14 1999 Jim Wilson <wilson@cygnus.com> |
| |
| * regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for |
| and handle REG_UNUSED note on insn. |
| |
| * combine.c (force_to_mode, case LSHIFTRT): New local inner_mask. Set |
| inner_mask instead of mask. |
| |
| 1999-12-06 Brendan Kehoe <brendan@cygnus.com> |
| |
| * dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be |
| zero if there was an error. |
| |
| 1999-12-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (return_losum_di): Fix typo in asm |
| output string. |
| |
| * longlong.h: Fix clobbers in SPARC asm statements. |
| |
| * config/sparc/sparc.c (input_operand): Allow HImode and QImode |
| valid sethi operations when TARGET_ARCH64. |
| |
| * calls.c (save_fixed_argument_area): If save_mode is BLKmode, |
| always use move_by_pieces to avoid infinite recursion. |
| (restore_fixed_argument_area): Likewise. |
| |
| * combine.c (check_promoted_subreg, record_promoted_value): New |
| functions. |
| (combine_instructions): Use them to retain nonzero and sign bit |
| information after SUBREGs are eliminated by optimizations in |
| this pass if PROMOTE_FUNCTION_RETURN. |
| |
| * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document |
| .register declaration. Don't use variables with __ prefixes. |
| |
| Mon Dec 6 12:24:52 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * fold-const.c (optimize_bit_field_compare): Only use one mode |
| for both RHS and LHS in non-constant case. |
| |
| 1999-12-06 Nathan Sidwell <nathan@acm.org> |
| |
| * frame.c (start_fde_sort): Only allocate erratic array, if |
| linear one was allocated. Return allocated flag. |
| (fde_insert): Only insert, if there's a valid array. |
| (fde_end_sort): Split, sort and merge if linear and erratic |
| arrays exist, else just sort linear one. |
| (search_fdes): New function. Linear search through original fde |
| structure. |
| (frame_init): Permit multiple initializations. Cope with |
| memory shortages. |
| (find_fde): Fallback on linear search, if failed to sort array. |
| (__deregister_frame_info): Only free sorted array, if we |
| allocated it. |
| |
| 1999-12-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro. |
| |
| 1999-12-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi. |
| |
| 1999-12-05 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (special_function_p): Declare. |
| * calls.c (special_function_p): Make it global. Don't take `name' |
| as a parameter. Fix typo in 1999-11-28 change. |
| (expand_cal): Adjust. |
| |
| 1999-12-04 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting. |
| * tree.h (EXPR_WFL_FILENAME): Define in terms of |
| EXPR_WFL_FILENAME_NODE. |
| (EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than |
| the TREE_CHAIN. |
| * print-tree.c (print_note): Print TREE_PRIVATE and |
| TREE_PROTECTED. |
| |
| * dwarf2out.c (add_abstract_origin_attribute): Don't abort when |
| the original die cannot be found. |
| |
| * varray.h (varray_head_tag): Add elements_used. |
| (VARRAY_PUSH): New macro. |
| (VARRAY_POP): Likewise. |
| (VARRAY_TOP): Likewise. |
| Add variants of VARRAY_PUSH and VARRAY_POP for all varray element |
| types. |
| * varray.c (varray_init): Initialize elements_used. |
| * Makefile.in (BASIC_BLOCK_H): Add varray.h. |
| (INTEGRATE_H): New variable. |
| (integrate.o): Depend on INTEGRATE_H. |
| (unroll.o): Likewise. |
| |
| * function.h (insert_block_after_note): Declare. |
| * function.c (insert_block_after_note): Split out from ... |
| (retrofit_block): ... here. |
| |
| * stmt.c (expand_fixup): Fix typo in comment. |
| |
| Sat Dec 4 14:13:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * regmove.c (copy_src_to_dest): Remove loop_depth parameter. |
| (optimize_reg_copy_1): Remove REG_N_REFS updating code. |
| (optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise. |
| (regmove_optimize, fixup_match_1): Likewise. |
| |
| 1999-12-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * flow.c (flow_loops_dump): Add missing argument when calling |
| flow_loop_nested_p. |
| |
| 1999-12-04 Geoffrey Keating <geoffk@cygnus.com> |
| Greg McGary <gkm@gnu.org> |
| |
| * c-common.c (enum attrs): Add A_NO_LIMIT_STACK. |
| (init_attributes): Add A_NO_LIMIT_STACK. |
| (decl_attributes): Handle A_NO_LIMIT_STACK. |
| * c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK. |
| * explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]: |
| Handle stack bounds checking. |
| * flags.h (flag_stack_check): Use the word 'probe' rather than |
| 'check', because the flag doesn't actually cause any checking to |
| be done. |
| * function.c (expand_function_start): Set |
| current_function_limit_stack. |
| * function.h (struct function): Add limit_stack. |
| (current_function_limit_stack): Define. |
| * invoke.texi (Code Gen Options): Document new options. |
| * rtl.h: Declare stack_limit_rtx. |
| * toplev.c (stack_limit_rtx): New variable. |
| (decode_f_option): Handle new options -fstack-limit-register=REG, |
| -fstack-limit-symbol=IDENT, -fno-stack-limit. |
| (main): Add stack_limit_rtx as GC root. |
| * tree.h (DECL_NO_LIMIT_STACK): New macro. |
| (struct tree_decl): New member no_limit_stack. |
| |
| * config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle |
| stack_limit_rtx. |
| * config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx. |
| (conditional_trap+1): Get new mnemonic correct. |
| (conditional_trap+2): New pattern for DImode traps. |
| |
| * config/m68k/m68k.c (output_function_prologue): Handle |
| stack_limit_rtx. |
| * config/m68k/m68k.md (trap): New insn. |
| (conditional_trap): New insn. |
| * md.texi (Standard Names): Document `trap' and |
| `conditional_trap'. |
| * optabs.c (gen_cond_trap): Use start_sequence()/end_sequence() |
| so a cc0 setter doesn't get emitted at some random place in the |
| function. |
| |
| * config/i960/i960.md (trap): New insn. |
| (conditional_trap): New expander. |
| (conditional_trap+1, conditional_trap+2): New insns for signed |
| and unsigned cases. |
| * config/i960/i960.c (i960_function_prologue): Use |
| STARTING_FRAME_OFFSET. Handle stack_limit_rtx. |
| |
| Thu Dec 2 21:22:45 1999 Greg McGary <gkm@gnu.org> |
| Geoffrey Keating <geoffk@cygnus.com> |
| |
| * flags.h (warn_padded, warn_packed): Add global var decls. |
| * toplev.c (warn_padded, warn_packed): Add global var defns. |
| (W_options): Add warnings `-Wpacked' and `-Wpadded'. |
| * stor-layout.c (layout_record): Add local variable `type' |
| to hold often-used TREE_TYPE (field). Add local variable |
| `unpacked_align' to hold alignment that would be in force |
| if no `packed' attribute were present. Warn if `packed' attribute |
| is unnecessary, or even harmful. Warn when gcc inserts padding |
| to satisfy alignment requirements of members. Use NULL_TREE |
| when checking whether var_size is set. |
| * invoke.texi: Document new flags. |
| |
| 1999-12-03 Nathan Sidwell <nathan@acm.org> |
| |
| * frame.c (fde_split): Reimplement to avoid variable sized array. |
| |
| Thu Dec 2 18:59:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * combine.c (try_combine): Before fixing up LOG_LINKS for the |
| i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL. |
| |
| 1999-12-02 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * invoke.texi: Document the mips option -mno-crt0 |
| |
| 1999-12-02 Mike Karr <mkarr@mathworks.com> |
| |
| * cccp.c (argdata): Added free_ptr member. |
| (macroexpand): Initialize free_ptr of each argument. When an |
| argument's buffers are freed, if the argument's free_ptr corresponds |
| to a buffer on the input stack, then return the free_ptr to that stack |
| frame, otherwise, free it. |
| (macarg): If an argument begins and ends on the same input stack level, |
| then transfer the free_ptr of that buffer to the argument in case |
| the stack is popped during the processing of a subsequent argument. |
| |
| 1999-12-02 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c (note_reg_stored): New function. |
| (struct note_reg_stored_arg): New structure. |
| (try_copy_prop): Change to be more conservative; only replace within |
| one extended basic block and stop replacing if a store to the |
| replacement reg is seen. |
| |
| 1999-12-02 Nick Clifton <nickc@cygnus.com> |
| |
| * config/fp-bit.c: Initialize all fields of the NAN |
| constants. |
| |
| * c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc |
| to HANDLE_PRAGMA. |
| |
| Wed Dec 1 18:16:38 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (extend?f?f2): Force the input into a register, not |
| the output. |
| |
| 1999-12-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (movsf_const_intreg): Add constraints for |
| regclass' sake. |
| (movdf_const_intreg_sp32): Likewise. Prefer the memory load |
| alternative because setting up 64bit constant is usually costly, |
| especially when reload is in progress or completed. |
| (movdf_const_intreg_sp64): Likewise. |
| (movdf_const_intreg split): Fix building up constants when |
| HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit. |
| |
| Wed Dec 1 16:51:22 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * combine.c (if_then_else_cond): Use const_true_rtx instead of |
| const1_rtx for return values in EQ/NE comparison against (const_int 0) |
| case. |
| |
| * mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers. |
| (asm_file_start): Emit .am33 into assembly file when compiling for |
| the AM33. |
| (print_operand_address): Handle POST_INC addresses. |
| (can_use_return_insn, initial_offset): Check AM33 registers too. |
| (expand_prologue): Check & save AM33 registers too. |
| (expand_epilogue): Similarly. |
| (secondary_reload_class): Handle AM33 specific secondary reloads. |
| (output_tst): Emit efficient code for the AM33 too. |
| * mn10300.h (CPP_SPEC, TARGET_AM33): Define. |
| (TARGET_SWITCHES): Add -mam33 switch. |
| (FIRST_PSEUDO_REGISTER): Handle new AM33 registers. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise. |
| (REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise. |
| (HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise. |
| (enum reg_class, REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise. |
| (INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise. |
| (REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise. |
| (PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise. |
| (REGISTER_MOVE_COST, REGISTER_NAMES): Likewise. |
| (HAVE_POST_INCREMENT): Define. |
| (GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33. |
| (GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address. |
| * mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants. |
| (mulsi, andsi, iorsi, xorsi, notsi): Likewise. |
| (ashiftsi, lshiftrtsi, ashiftrtsi): Likewise. |
| (zero_extend to SI from QI/HI): Likewise. |
| (sign_extend to SI from QI/HI): Likewise. |
| (mulsidi3, umulsidi3): New patterns for the AM33. |
| (tstsi with zero extension from QI/HI): Add AM33 variants. |
| (movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too. |
| (return_internal_regs, store_movm): Handle new AM33 registers. |
| * t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define. |
| (LIBGCC, INSTALL_LIBGCC): Likewise. |
| * invoke.texi: Document new flags. |
| |
| Fri Nov 26 10:59:12 CET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (addsi3_cc): Add "binary_operator_ok" to the condition. |
| (addsi3_carry): Likewise. |
| (sbbsi3_cc): Add "binary_operator_ok" to the condition. |
| (sbbsi3_carry): Likewise. |
| (mulsi3): Rewrite to expander, ensure that only one operand is memory. |
| (mulhi3): Likewise. |
| (test?i_1): Ensure that only one operand is memory. |
| (conditional move patterns): likewise. |
| (shift and rotate patterns): Rewrite to expander, add |
| "binary_operator_ok" to the condition. |
| |
| * i386.md (QImode patterns): Remove '*' before the 'r' constraints. |
| * i386.h (procesor_costs): Add movzbl_load field. |
| (HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in |
| non-Q registers, accept DImode registers anywhere. |
| (Q_CLASS_P): New. |
| (MEMORY_MOVE_COST): Calculate QImode moves correctly. |
| * i386.c (*_cost): Set value for movxbl_load field. |
| |
| * (addsi): New add to lea splitter. |
| (ashlsi): Likewise. |
| (lea to add/shift peep2): New. |
| |
| 1999-12-01 Mark Salter <msalter@cygnus.com> |
| |
| * config/mips/elf.h (STARTFILE_SPEC): Add no-crt0. |
| * config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0. |
| * config/mips/mips.h (TARGET_SWITCHES): Add no-crt0. |
| |
| Tue Nov 30 15:20:52 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.c (ix86_expand_move): Never add clobbers to move patterns. |
| * i386.md (movsi_xor): New. |
| (movsi_or): New. |
| (movsi_1, movhi_1, movqi_1): Remove. |
| (movsi_2): Rename to movsi_1. |
| (movhi_2): Rename to movhi_1. |
| (movqi_2): Rename to movqi_1. |
| (movdi_1): Remove; remove splitter. |
| (movdi_2): Rename to movdi_1. |
| (divmodsi4 splitter): Do not emit clobbers for move patterns. |
| (long move peep2): Do not create QI or HI mode mov0s |
| (mov -1,reg -> or peep2s): Enable again, rewrite to single peephole. |
| |
| * i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns, |
| rewrite splitters. |
| |
| * i386.md (neg?f2_if): Split "r" and "f" to separate alternatives. |
| (abs?f2_if): Likewise. |
| |
| 1999-11-30 Alex Samuel <samuel@codesourcery.com> |
| |
| * ggc.h (ggc_test_and_set_mark): New macro. |
| (ggc_mark_rtx): Use ggc_test_and_set_mark. |
| (ggc_mark_tree): Likewise. |
| (ggc_mark_rtvec): Likewise. |
| * ggc-common.c (ggc_mark_rtx_children): Reduce recursion. |
| |
| 1999-11-30 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (scope_die_for): Only handle types. Only search for |
| containing types. |
| (decl_scope_table): Just an array of trees now. |
| (push_decl_scope): Simplify. |
| (dwarf2out_init): Adjust. |
| (local_scope_p): New fn. |
| (gen_inlined_enumeration_type_die): Don't call scope_die_for. |
| (gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise. |
| (gen_typedef_die): Likewise. |
| (gen_lexical_block_die): Don't call push/pop_decl_scope. |
| (gen_inlined_subroutine_die): Likewise. |
| (gen_abstract_function): Set current_function_decl temporarily. |
| (gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration. |
| Handle block extern declarations. Don't call push/pop_decl_scope. |
| (gen_decl_die): Fix logic for block externs. |
| |
| 1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * calls.c (special_function_p): Remove `realloc' and add `strdup' |
| to the list of functions which have attribute malloc by default. |
| |
| 1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-lex.c (yylex): With -Wtraditional, when the ANSI type of an |
| integer constant does not match the traditional type, limit the |
| warnings to cases where the base of the type is ten. |
| |
| * invoke.texi (-Wtraditional): Document it. |
| |
| Tue Nov 30 15:18:35 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST |
| * rs6000.md: Only access a CONST_INT with INTVAL |
| |
| Tue Nov 30 14:21:00 1999 Richard Henderson <rth@cygnus.com> |
| |
| * lcm.c (compute_laterin): Cast bb->aux to size_t not int. |
| (compute_nearerout): Likewise. |
| * ggc-page.c (ggc_page_print_statistics): Explicitly cast |
| size_t to unsigned long for formatting. |
| |
| 1999-11-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE): |
| Allow the user to override call-used/fixed state of %g2-5 |
| registers from the command line (with the exception of %g4 for |
| embedded model). |
| (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that |
| there is a higher chance of having a leaf function. |
| (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros |
| for ARCH64 which has %ccr register. |
| * config/sparc/sparc.md (return_losum_si, return_losum_di): New |
| patterns. |
| * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return |
| insn accept into delay slot any insn which does not use %[ol] |
| registers. Accept some LO_SUM and shift left by 1 for the normal |
| restore case. |
| (output_function_epilogue): Likewise. |
| (epilogue_renumber): Added argument which inhibits any renumbering |
| and just tests if the rtx does not use any %[ol] registers. |
| (output_return): Reflect above change. |
| |
| 1999-11-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg |
| aggregate passing for sizes <= 16 bytes. |
| |
| 1999-11-30 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P. |
| * global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code. |
| * reload.c (find_dummy_reload): Likewise. |
| (find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P. |
| * reload1.c (reload_as_needed): Likewise. |
| * stupid.c (stupid_find_reg): Likewise. |
| * tm.texi (Obsolete Register Macros): Delete section. |
| * gmicro.h: Remove all traces of the two macros. |
| * i386.h: Likewise. |
| * m88k.h: Likewise. |
| * mips.h: Likewise. |
| |
| 1999-11-30 Brendan Kehoe <brendan@cygnus.com> |
| |
| * sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define. |
| (TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags. |
| (ROUND_TYPE_ALIGN): Use better value if -mfaster-structs. |
| * sparc.md (sparclite86x_branch, sparclite86x_shift): New function |
| units for the sparclite86x chip. |
| (flush): Revert October 14th change; add SImode specifically. |
| (flushdi): Copy of flush, but DImode, to avoid genrecog warnings. |
| * invoke.texi: Document it. |
| |
| Tue Nov 30 14:58:14 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/mn10200/mn10200.h (PREDICATE_CODES): Add |
| psimode_truncation_operand. |
| |
| * config/mn10200/mn10200.c (psimode_truncation_operand): New |
| function. Return true if the operand is either a MEM valid |
| for a PSImode address or not a MEM at all. |
| |
| * config/mn10200/mn10200.md (truncsipsi2): Use |
| psimode_truncation_operand. |
| |
| 1999-11-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions. |
| (flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise. |
| (flow_loop_exits_find, flow_loop_nodes_find): Likewise. |
| (flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise. |
| (flow_loop_tree_node_add, flow_loops_tree_build): Likewise. |
| (flow_loop_level_compute, low_loops_level_compute): Likewise. |
| (flow_loops_find, flow_loop_outside_edge_p): Likewise. |
| * basic-block.h: Protect from multiple inclusion. |
| (flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes. |
| (struct loops, struct loop): Define structures. |
| * sbitmap.c (sbitmap_a_subset_b_p): New function. |
| * sbitmap.h: Protect from multiple inclusion. |
| (sbitmap_a_subset_b_p): Add prototype. |
| * Makefile.in (LOOP_H): New macro. |
| (stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H. |
| |
| Tue Nov 30 01:34:47 1999 Philippe De Muyter <phdm@macqel.be> |
| |
| * cppinit.c (CAT): The argument list of this macro may not contain |
| spaces ! |
| |
| 1999-11-29 David S. Miller <davem@redhat.com> |
| |
| Move quantity tables and register equivalence chains into |
| per-qty and per-register structure arrays respectively. |
| * cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const, |
| qty_const_insn, qty_comparison_code, qty_comparison_const, |
| qty_comparison_qty): Delete, replace with... |
| (qty_table): this structure table. |
| (reg_next_eqv, reg_prev_eqv): Delete, replace with... |
| (reg_eqv_table): this structure table. |
| (make_new_qty): Add argument MODE. Caller updated. |
| Update to use qty_table and reg_eqv_table. |
| (make_regs_eqv, delete_reg_equiv, insert_regs, |
| insert, exp_equiv_p, cse_rtx_varies_p, canon_reg, |
| fold_rtx, equiv_constant, record_jump_cond, cse_insn, |
| cse_process_notes, cse_main, cse_basic_block): Likewise. |
| |
| Mon Nov 29 16:56:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse |
| operation if C is negative. |
| (extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects. |
| (extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive |
| law for some divisions if constant is negative and change other |
| divisions to the opposite rounding. |
| |
| * expr.c (store_constructor_field): If bit position is not multiple |
| of alignment of TARGET's mode, use BLKmode. |
| |
| * expr.c (expand_expr_unaligned): Add more code from full case |
| that is needed when OP0 is in a register. |
| |
| Mon Nov 29 18:09:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * dwarfout.c (field_byte_offset): Size can be zero if there was |
| an error. |
| |
| 1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE. |
| (associate_trees): Delete unused var TEM. |
| (extract_muldiv): Delete unused var CANCEL_P. |
| |
| * fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT] |
| (target_isinf, target_isnan, target_negative): Add return types to |
| function definitions. |
| |
| 1999-11-29 Bruce Korb <autogen@linuxbox.com> |
| |
| * fixinc/fixincl.c(process): don't skip GLIBC files any more. |
| * fixinc/hackshell.tpl: ditto |
| * fixinc/fixtests.c(double_slash_test): more C++ header testing |
| * fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach |
| |
| 1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload.c (push_reload): When looking for a register to put into |
| reg_rtx, make sure all hard regs in a multi-reg register are in the |
| right class and nonfixed. |
| |
| * haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers, |
| pending_read_insns, pending_write_insns, pending_read_mems, |
| pending_write_mems, pending_list_length, last_pending_memory_flush, |
| last_function_call, sched_before_next_call): Move static variables |
| into a structure. |
| (bb_ prefixed versions): Replace with single array bb_deps. |
| (struct deps): New structure. |
| (add_insn_mem_dependence, flush_pending_lists, sched_analyze_1, |
| sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new |
| argument of type "struct deps *"; use that instead of global |
| variables. All callers changed. |
| (init_rgn_data_dependencies): Delete function. |
| (init_rtx_vector): Delete function. |
| (init_deps): New function. |
| |
| (free_pending_lists): Simplify, we always use the bb_deps array even |
| if only one basic block. |
| (compute_block_backward_dependences): Likewise. |
| (schedule_region): Likewise. |
| |
| (propagate_deps): New function, broken out of |
| compute_block_backward_dependences. |
| (compute_block_backward_dependences): Use it. |
| |
| * alpha.md: Delete useless patterns that tried to work around |
| register elimination problems. |
| |
| * unroll.c (loop_iterations): Don't abort if iteration variable |
| was made by loop. |
| |
| From Joern Rennecke: |
| * reload1.c (reloads_conflict): Reverse test comparing operand |
| numbers when testing for conflict between output/outaddr reloads. |
| |
| 1999-11-29 David S. Miller <davem@redhat.com> |
| |
| * config/sparc/sparc.c (init_cumulative_args): Fix type of third |
| arg. |
| * config/sparc/sparc-protos.h: Update proto, move into RTX_CODE. |
| |
| 1999-11-28 Robert Lipe <robertl@cygnus.com> |
| |
| * i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn |
| table from .fini into .dtor. |
| |
| 1999-11-28 Anthony Green <green@cygnus.com> |
| |
| * tree.h (struct tree_decl): Add malloc_flag. |
| (DECL_IS_MALLOC): Define. |
| * c-common.c (attrs): Add A_MALLOC attribute. |
| (init_attributes): Add this attribute to the table. |
| (decl_attributes): Handle malloc attribute. |
| * calls.c (special_function_p): Check for the malloc attribute. |
| * extend.texi (Function Attributes): Document malloc attribute. |
| |
| Sun Nov 28 13:21:00 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.md (reload shift-add patterns): Remove. |
| |
| 1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * reorg.c (dbr_schedule) Print more statistics. Corrected |
| problem when printing info when 3 delay slots are filled. |
| |
| 1999-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * combine.c (setup_incoming_promotions): Pass an outgoing |
| regno to FUNCTION_ARG_REGNO_P which it expects. |
| |
| 1999-11-28 Andreas Jaeger <aj@suse.de> |
| |
| * mips/linux.h (CPP_PREDEFINES): Undefine before redefining. |
| |
| Sun Nov 28 00:48:15 1999 Philippe De Muyter <phdm@macqel.be> |
| |
| * cccp.c (do_include): Avoid initialization of automatic variable. |
| |
| * integrate.c (mark_stores): Function definition made void, to match |
| previous declaration. |
| * regclass.c (dump_regclass): Ditto. |
| * Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'. |
| |
| Sat Nov 27 08:38:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is |
| known to be multiple of divisor. |
| |
| * expr.c (store_constructor): Don't clobber TARGET if CLEARED. |
| |
| * combine.c (try_combine): Add code to try to merge a set of a |
| two-word pseudo to a constant with a setting of one of those words |
| to a constant. |
| |
| * fold-const.c (negate_expr, associate_trees, extract_muldiv): New. |
| (split_tree): Completely rework to make more general. |
| (make_range, fold): Call negate_expr. |
| (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math. |
| (fold, associate): Call new split_tree and associate_trees. |
| (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv. |
| |
| 1999-11-26 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c (try_copy_prop): Avoid GNU C extension. |
| |
| 1999-11-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * except.c (init_eh_for_function): Still zero eh_return_context, |
| eh_return_stack_adjust, and eh_return_handler. |
| |
| * except.h (eh_status): Adjust documentation for x_protect_list. |
| (begin_protect_partials): New function. |
| * except.c (enqueue_eh_entry): Fix formatting. |
| (get_first_handler): Add consistency check. |
| (add_partial_entry): Adjust usage of protect_list. |
| (emit_cleanup_handler): Save and restore ehqueue. |
| (expand_start_all_catch): Add comment. |
| (begin_protect_partials): New function. |
| (end_protect_partials): Adjust usage of protect_list. |
| (init_eh_for_function): Use xcalloc. |
| |
| 1999-11-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (check_format_info): Don't call a variadic function |
| with a non-literal format string. |
| |
| * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise. |
| |
| * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else, |
| pedantic_lvalue_warning, error_init, pedwarn_init, warning_init): |
| Likewise. |
| |
| * cccp.c (check_macro_name, do_xifdef, vwarning_with_line): |
| Likewise. |
| |
| * collect2.c (collect_wait): Likewise. |
| |
| * dbxout.c (dbxout_type): Likewise. |
| |
| * gcc.c (do_spec_1): Likewise. |
| |
| * genemit.c (gen_insn, gen_expand): Likewise. |
| |
| * genrecog.c (write_switch, write_subroutine): Likewise. |
| |
| * mips-tfile.c (catch_signal, botch): Likewise. |
| |
| * print-rtl.c (print_rtx): Likewise. |
| |
| * toplev.c (default_print_error_function, report_error_function, |
| _fatal_insn): Likewise. |
| |
| 1999-11-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.c (unsave_expr_now): Handle NULL_TREE as input. |
| |
| Wed Nov 24 17:08:09 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * reg-stack.c (subst_stack_regs_pat): Swap operands in commutative |
| operations when needed. |
| * i386.md (fop_?f_comm): New. |
| (fop_?f_1): Do not accept commutative operands. |
| |
| 1999-11-25 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/mips.md (casesi_internal): Add missing brace. |
| |
| 1999-11-25 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose. |
| (splice_child_die): Handle moving a child DIE from the declaration |
| DIE of a class to its specification. |
| (gen_struct_or_union_type_die): Use 'complete' consistently. |
| (gen_decl_die): Generate the virtual context DIE first. |
| Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN. |
| |
| 1999-11-24 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * config/mips/mips.md (call_value_multiple_interanal1): New. |
| |
| 1999-11-24 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (free_AT, free_die): New fns. |
| (remove_children): Call them. |
| (output_line_info): Disable removal of duplicate notes. |
| |
| Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set. |
| * dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO |
| means pretend the type isn't defined. |
| Don't defer emitting types. |
| (gen_type_die_for_member): New fn. |
| (gen_decl_die): Call it. |
| (splice_child_die): New fn. |
| (gen_member_die): Call it rather than generate duplicate dies. |
| |
| Defer emitting information for the abstract instance of an inline |
| until we either inline it or emit an out-of-line copy. |
| * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN |
| from output_inline_function if DECL_ABSTRACT is also set. |
| (block_ultimate_origin): Likewise. |
| (gen_abstract_function): New fn. |
| (gen_decl_die, gen_inlined_subroutine_die): Call it. |
| (gen_subprogram_die): An abstract instance is not a declaration |
| just because it doesn't match current_function_decl. Don't abort |
| because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration |
| has an abstract origin. |
| * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the |
| abstract instance here. |
| |
| Wed Nov 24 18:39:18 1999 Andrew Haley <aph@cygnus.com> |
| |
| * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case |
| where we need to reload fpul from a system register. |
| |
| 1999-11-24 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h (CPP_PREDEFINES): Added. |
| (LINK_SPEC): Remove -Y since this is only needed on sparc. |
| |
| 1999-11-24 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h (TARGET_VERSION): Added. |
| (HANDLE_SYSV_PRAGMA): Added. |
| (DEFAULT_VTABLE_THUNKS): Added. |
| |
| Wed Nov 24 14:12:15 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * local-alloc.c (qty): New structure and static variable. |
| (qty_phys_reg): Remove, all references changed to qty. |
| (qty_n_refs): Likewise. |
| (qty_min_class): Likewise. |
| (qty_birth): Likewise. |
| (qty_death): Likewise. |
| (qty_size): Likewise. |
| (qty_mode): Likewise. |
| (qty_n_calls_crossed): Likewise. |
| (qty_alternate_class): Likewise. |
| (qty_changes_size): Likewise. |
| (qty_first_reg): Likewise. |
| (alloc_qty): Rename variable QTY to QTYNO. |
| (finf_free_reg): Likewise. |
| (local_alloc): Allocate qty, do not allocate the removed variables. |
| |
| Wed Nov 24 17:26:05 1999 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler |
| when -membedded-pic is passed. |
| |
| * config/mips/mips.md (casesi): Handle 64-bit case too. |
| (casesi_internal_di): New insn. |
| |
| * config/mips/mips.c (embedded_pic_offset): Always make the |
| embedded-pic subtractions relative to the name of the current |
| function by use of the magic string "..CURRENT_FUNCTION". |
| * config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen. |
| |
| 1999-11-24 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/mips/mips.md (div_trap_normal): Don't ask for the REGNO |
| of (const_int 0), when what we really care about is |
| whether it's a zero constant anyway. |
| (div_trap_mips16): Likewise. |
| |
| 1999-11-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * loop.c (loop_optimize): Always find_loop_tree_blocks and |
| unroll_block_trees when generating debuggable code. |
| |
| * tree.h (unsave_expr_1): New function. |
| (lang_unsave): New variable. |
| (get_callee_fndecl): New function. |
| * tree.c (unsave_expr_now_r): New function. |
| (lang_unsave): Define. |
| (unsave_expr_1): Likewise. |
| (unsave_expr_now_r): Split out from unsave_expr_now. |
| (unsave_expr_now): Call lang_unsave if it is non-NULL. Otherwise, |
| call unsave_expr_now_r. |
| (get_callee_fndecl): Define. |
| |
| * Makefile.in (gencheck): Don't depend on lang_tree_files. |
| (gencheck.o): Do depend on lang_tree_files. |
| |
| * integrate.h (copy_decl_for_inlining): New declaration. |
| * integrate.c (copy_and_set_decl_abstract_origin): Remove. |
| (copy_decl_for_inlining): New function. |
| (integrate_parm_decls): Use it. |
| (integrate_decl_tree): Likewise. |
| |
| 1999-11-23 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split |
| the second two from the first. |
| (CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4. |
| * config/mips/mips.md (movcc,reload_incc,reload_outcc, |
| conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than |
| ISA_HAS_FP4. |
| * config/mips/mips.c (mips_move_1word,gen_conditional_branch, |
| override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than |
| ISA_HAS_FP4. |
| |
| Tue Nov 23 11:15:04 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.md (call_internal_symref, call_value_internal_symref): No mode |
| needed on the address operand. |
| * pa.c (call_operand_address): Check for the correct mode. |
| |
| 1999-11-23 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c: Include "basic-block.h". |
| (try_copy_prop, replace_loop_reg): New functions. |
| (load_mems): Detect registers that just hold copies of the hoisted |
| mem, and call try_copy_prop to eliminate them. |
| * Makefile.in (loop.o): Update dependencies. |
| |
| Tue Nov 23 01:03:29 1999 Hans-Peter Nilsson <hp@axis.com> |
| |
| * Makefile.in (gencheck.o): Depend on gencheck.h. |
| (insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h. |
| (insn-peep.o): Depend on except.h and function.h. |
| (insn-attrtab.o): Depend on RECOG_H. |
| (insn-output.o): Depend on toplev.h and flags.h. |
| (gengenrtl.o): Depend on real.h. |
| (gen-protos.o): Depend on cpplib.h and cpphash.h. |
| Unify all dependencies to be on RECOG_H rather than recog.h. |
| |
| Tue Nov 23 00:57:10 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998: |
| * configure.in: Try building a bi-arch 32/64-bit compiler on |
| sparc-*-solaris2.7 and higher. |
| * configure: Rebuild. |
| |
| Mon Nov 22 23:09:44 1999 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/freebsd.h: New, FreeBSD architecture independent file. |
| * config/i386/freebsd-elf.h: removed FreeBSD architecturally |
| independent pieces. |
| * config/i386/freebsd.h: include i386/perform.h via tm.h rather than |
| directly by i386/freebsd.h. |
| * configure.in (*-*-freebsdelf): Include new FreeBSD architecturally |
| independent configuration file. |
| (*-*-freebsdelf): Include i386/perform.h via tm.h rather than |
| directly by i386/freebsd.h. |
| * configure: Rebuilt. |
| |
| * xm-i386.h: Define `__i386__' if not defined, rather than `i386' |
| which is in the user's namespace. |
| * libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs. |
| `i386' which is not in our namespace. |
| |
| Mon Nov 22 22:58:01 1999 "R. Kelley Cook" <KelleyCook@attglobal.net> |
| |
| * invoke.texi (ARM Options): Add in -mno-alignment-traps |
| |
| 1999-11-22 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (die_struct): Remove die_attr_last and die_child_last. |
| (add_dwarf_attr, add_child_die): Just push onto the front. |
| (reverse_die_lists): New fn. |
| (add_sibling_attributes): Use it. |
| (push_decl_scope): Reorganize. |
| (add_name_and_src_coords_attributes): Don't set file and line for |
| an artificial decl. |
| (gen_subprogram_die): An artificial function doesn't need to match |
| file and line. |
| (gen_compile_unit_die): Return the generated die. Only add |
| AT_comp_dir if the filename is relative. |
| (remove_AT): Simplify loop. Also free string values. |
| (output_die): A DIE ref can't be null. |
| (output_value_format, value_format): Take a dw_attr_ref. |
| (dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove. |
| (AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc, |
| AT_addr, AT_lbl): New fns. |
| (various): Use them. |
| (various): Constify. |
| |
| Mon Nov 22 23:53:50 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * combine.c (combine_simplify_rtx): When handling a SUBREG, |
| take SUBREG_WORD into account. |
| (if_then_else_cond): Likewise. |
| |
| 1999-11-22 Jason Merrill <jason@casey.cygnus.com> |
| |
| * gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising |
| clause from BSD license, pursuant with |
| |
| ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change |
| |
| 1999-11-22 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * loop.c (load_mems): Reformat slightly. |
| * basic-block.h (regset_head): New typedef. |
| (INIT_REG_SET): New macro. |
| |
| 1999-11-22 Bruce Korb <autogen@linuxbox.com |
| |
| * fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe |
| (mips-dec-bsd*): non-functional code |
| (alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*" |
| |
| * fixinc/inclhack.def(AAB_fd_zero_glibc_*): |
| added three replacement fixes |
| (no_double_slash): removed comments that are not (any longer) pertinent |
| (bad_lval): this fix currently runs against many files. |
| The comment seems to indicate that we should select for files |
| containing 'pragma extern_prefix'. |
| |
| * fixinc/fixinc.x86-linux-gnu: deleted |
| * fixinc/inclhack.sh: regen |
| * fixinc/fixincl.x: regen |
| * fixinc/fixincl.sh: regen |
| |
| Fri Nov 12 14:08:40 1999 Andrew Haley <aph@cygnus.com> |
| |
| * emit-rtl.c (gen_sequence): Only return the pattern of an insn if |
| its code is INSN and it has no notes. |
| |
| 1999-11-22 Andrew Haley <aph@cygnus.com> |
| |
| * varasm.c (function_defined): Remove. |
| (make_function_rtl): Don't set function_defined. |
| (make_decl_rtl): Remove global register warning. |
| * regclass.c (no_global_reg_vars): New variable. |
| (globalize_reg): Warn if function has already been defined. |
| (regclass_init): Set no_global_reg_vars. |
| |
| Mon Nov 22 14:42:22 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * regclass.c (reg_pref): New structure and static variable |
| (prefclass): Delete. |
| (altclass): Delete. |
| (all uses of prefclass and altclass): Use reg_pref instead. |
| |
| 1999-11-21 Nick Clifton <nickc@cygnus.com> |
| |
| * invoke.texi (ARM Options): Replace -mshort-load-bytes with |
| -malignment-traps. |
| (arm.h): Replace -mshort-load-bytes with -malignment-traps. |
| (arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS. |
| (arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS. |
| |
| Sun Nov 21 17:11:13 1999 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * varasm.c (output_constructor): Solve problem with long long |
| bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1). |
| |
| Fri Nov 19 05:48:45 CET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * global.c (allocno): New structure and static variable. |
| (allocno_reg): Remove, all references replaced by allocno. |
| (allocno_size): Likewise. |
| (hard_reg_conflicts): Likewise. |
| (hard_reg_preferences): Likewise. |
| (hard_reg_copy_preferences): Likewise. |
| (hard_reg_full_preferences): Likewise. |
| (regs_someone_prefers): Likewise. |
| (allocno_calls_crossed): Likewise. |
| (allocno_n_refs): Likewise. |
| (allocno_live_length): Likewise. |
| (find_reg): Rename ALLOCNO to NUM. |
| |
| * regclass.c (may_move_in_cost): Rename from may_move_cost, all |
| references updated. |
| (may_move_out_cost): New variable. |
| (init_reg_sets_1): Initialize may_move_out_cost. |
| (record_reg_classes): Use may_move_out_cost. |
| |
| * regclass.c (dump_regclass): New function. |
| (regclass): New parameter DUMP, call DUMP_REGCLASS. |
| * toplev.c (rest_of_compilation): Open lreg dump file before regclass, |
| pass rtl_dump_file to regclass. |
| * rtl.h (regclass): Update prototype. |
| |
| Fri Nov 19 06:32:19 CET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (neg, not and abs patterns): Revmap to use |
| ix86_expand_unary_operator and ix86_unary_operator_ok. |
| (add?f and sub?f expanders): Force operand 1 to register. |
| * i386.c (ix86_expand_unary_operator): Rewrite. |
| (ix86_unary_operator_ok): Ensure that memory operands |
| match real opcode. |
| (ix86_binary_operator_ok): Do not allow operand 1 to |
| come into memory and operand 0 not. |
| (ix86_expand_binary_operator): Ensure that |
| src1 is not non-matching memory. |
| |
| * i386.md (negs?2): Rewrite to expanders, new patterns and splitters |
| to support integer registers and memory. |
| (abss?2_integer): Likewise. |
| |
| * i386.h (enum reg_class): Add FLOAT_INT_REGS. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS |
| and GENERAL_REGS. |
| * i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS. |
| (movsf): Likewise; unify 4th and 5th alternative. |
| (pushdf): Likewise. |
| (movdf_1): Likewise; rename to movdf_integer. |
| (pushxf): Likewise; rename to pushxf_integer; fix output template; |
| remove redundant splitter. |
| (movxf_1): Likewise; rename to movxf_integer; fix splitter's condition. |
| (movdf_nointeger): New. |
| (movxf_nointeger): New. |
| (pushxf_nointeger): New. |
| |
| * i386.md (extend?f?f): Split to expander and pattern, refuse two |
| memory operands in patterns. |
| (fop*): Refuse two memory operands. |
| |
| * i386.md (ashrsi3_31): Allow cltd when optimizing for size even |
| on !TARGET_USE_CLTD CPUs. |
| |
| Fri Nov 19 10:41:15 GMT 1999 Nathan Sidwell <nathan@acm.org> |
| |
| * extend.texi: Document C++ restricted pointers and references. |
| |
| 1999-11-19 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC. |
| (invalidate_skipped_set): Call it unconditionally. |
| (cse_set_around_loop): Likewise. |
| |
| Thu Nov 18 17:29:34 MST 1999 Diego Novillo <dnovillo@cygnus.com> |
| |
| * rtl.texi (mem): Add documentation for alias-set argument |
| to RTX `mem'. |
| |
| Fri Nov 18 13:39:22 CET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.h (struct_processor_costs): New fields int_load, int_store, |
| fp_move, fp_load and fp_store |
| (REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of |
| fp->int moves |
| (MEMORY_MOVE_COST): New macro. |
| * i386.c (386_cost): Define new fields. |
| (i486_cost): Likewise. |
| (pentium_cost): Likewise. |
| (pentiumpro_cost): Likewise. |
| (k6_cost): Likewise. |
| |
| Fri Nov 19 11:11:55 1999 Greg McGary <gkm@gnu.org> |
| Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/m68k/m68kelf.h: Suppress '/* within comment' warning. |
| |
| * config/m68k/m68k.h (MASK_PCREL): Don't use same value as |
| MASK_ALIGN_INT. |
| |
| * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro. |
| (TARGET_STRICT_ALIGNMENT): New macro. |
| (TARGET_SWITCHES): Add "strict-align" and "no-strict-align". |
| (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT. |
| * invoke.texi (M680x0 Options): Document -mstrict-align. |
| |
| Thu Nov 18 11:10:03 1999 Jan Hubicka <hubicka@freesoft.cz> |
| Richard Henderson <rth@cygnus.com> |
| |
| * i386-protos.h (split_xf, ix86_split_movdi): Remove. |
| (ix86_split_long_move): Declare. |
| * i386.c (split_xf, ix86_split_movdi): Remove. |
| (ix86_split_to_parts, ix86_split_long_move): New. |
| * i386.md (dimode move splitters): Use ix86_split_long_move. |
| (dfmode move splitters): Likewise. |
| (xfmode move splitters): Likewise. |
| (movsf_1): Allow F->r. |
| (movdf_1, movxf_1): Allow F->ro. |
| |
| 1999-11-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * except.h (struct eh_entry): Add goto_entry_p. |
| (eh_region_from_symbol): Remove prototype. |
| * except.c (find_func_region_from_symbol): New function. |
| (emit_cleanup_handler): Likewise. |
| (eh_region_from_symbol): Make it static. |
| (add_new_handler): Verify the argument. |
| (find_func_region): Update comment. |
| (expand_eh_region_end): Expand handlers here, rater than waiting |
| until expand_leftover_cleanups or start_all_catch. |
| (expand_leftover_cleanups): Don't expand here. |
| (expand_start_all_catch): Or here. |
| (expand_rethrow): Check the return value from find_func_region. |
| * function.c (expand_function_end): Emit the catch_clauses. |
| |
| 1999-11-18 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * integrate.c (expand_inline_function): Add necessary check for NULL. |
| |
| 1999-11-18 Nick Clifton <nickc@cygnus.com> |
| |
| * toplev.c (main): Correctly detect an unrecognized option. |
| |
| * cppinit.c (cpp_handle_option): Do not claim to have consumed |
| a -f option if it has not been recognized. |
| |
| Thu Nov 18 00:59:11 1999 Michael Gschwind <mikeg@alagoas.watson.ibm.com> |
| |
| * basic-block.h (update_life_extent): Remove trailing comma on |
| enumeration type list. |
| |
| 1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * varasm.c (output_constructor) Solved problem with long long |
| bitfields. Corrected calculating this_time and shift. Also |
| corrected calculating mask when BITS_PER_UNIT == 32 (c4x). |
| |
| Wed Nov 17 23:46:14 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (split_edge): Take looping structure into account when |
| determining where to put the new block note. |
| |
| Wed Nov 17 20:42:43 1999 Jeff Holcomb <jeffh@cygnus.com> |
| |
| * Makefile.in (ggc-none.o): Provide host specific version if |
| needed. |
| |
| Wed Nov 17 16:51:23 1999 Richard Henderson <rth@cygnus.com> |
| |
| * cse.c (delete_trivially_dead_insns): Identify no-op insns |
| containing subregs too. |
| |
| Wed Nov 17 17:39:48 MST 1999 Diego Novillo <dnovillo@cygnus.com> |
| |
| * invoke.texi: Add documentation for -muninit-const-in-rodata. |
| * config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define. |
| (TARGET_UNINIT_CONST_IN_RODATA): Define. |
| (text_section): Add switches -munint-const-in-rodata and |
| -mno-uninit-const-in-rodata. |
| (ASM_OUTPUT_COMMON): Remove. |
| (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized |
| const objects should be placed in read-only data. Otherwise declare |
| them in common. |
| |
| Wed Nov 17 16:38:32 1999 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Revert last change. |
| |
| Wed Nov 17 15:18:30 1999 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Don't try to duplicate the loop exit |
| test if optimizing for size. |
| |
| 1999-11-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (toplev.o): Depend on except.h. |
| (dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise. |
| |
| Mon Nov 15 22:45:39 CET 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.md (divmodsi4): Rewrite to expander. |
| (*divmodsi4_nocltd): New. |
| (*divmodsi4_cltd): New. |
| (divmodsi4 splitter): Handle the case when input comes in edx. |
| (udivmodhi4): Do not use constraints in exander. |
| (ashrsi3_31): Conditionize by TARGET_USE_CLTD. |
| |
| 1999-11-17 Jason Merrill <jason@yorick.cygnus.com> |
| |
| * dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1 |
| for the common case. |
| |
| 1999-11-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * explow.c (hard_function_value): Add outgoing argument. |
| * expr.h (hard_function_value): Declare it. |
| * calls.c (expand_call, emit_library_call_value): Update callers. |
| * function.c (aggregate_value_p): Ditto. |
| (diddle_return_value): Must look at the outgoing registers |
| on archs with register windows. |
| |
| Mon Nov 15 20:46:45 1999 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_build_va_list): Use make_lang_type and |
| initialize TYPE_NAME for the va_list record. |
| |
| * flow.c (calculate_global_regs_live): Zero bb->aux to begin. |
| |
| * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long |
| for printing. |
| * ggc.h (struct ggc_statistics): Rearrange elements for better |
| packing on 64-bit hosts. |
| * lcm.c (compute_laterin): Store a size_t not an int in bb->aux. |
| (compute_nearerout): Likewise. |
| |
| Tue Nov 16 14:37:52 1999 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (first_reg_to_save): Save |
| PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed. |
| |
| 1999-11-15 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table |
| notion of nesting to find the DIE for a type or function. |
| DIEs can go in limbo even if we got a context_die. |
| (push_decl_scope): Our context doesn't need to be in decl_scope_table. |
| (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test |
| for local type. |
| (gen_decl_die): Ignore NAMESPACE_DECLs for now. |
| (gen_type_die): Writing out the context doesn't cause member class |
| template instantiations to be written out as well. |
| |
| Mon Nov 15 15:33:18 1999 Richard Henderson <rth@cygnus.com> |
| |
| * rs6000.h (ASM_OUTPUT_DEF): New. |
| Based on proposed addition from David Edelsohn. |
| |
| 1999-11-15 Robert Lipe <RobertLipe@usa.net> |
| Bruce Korb <autogen@linuxbox.com> |
| |
| * fixinc/inclhack.def |
| (AAB_svr4_replace_byteorder): added. Takes advantage of GCC features |
| (unixware7_byteorder_fix): added. Removes conflicts for new defs |
| in net/inet.h. |
| (svr5_mach_defines): added. Like svr4_mach_defines, with new syntax |
| (svr4_endian): enabled with SVR5 |
| (svr4_mkdev): simplified syntax and enabled with SVR5 |
| |
| Sun Nov 14 18:49:37 1999 David O'Brien <obrien@FreeBSD.org> |
| |
| * configure.in: Handle libgcc2 threads support on FreeBSD platforms. |
| * configure: Rebuilt. |
| * config/t-freebsd-thread: New file. |
| |
| Sun Nov 14 23:11:05 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * i386.c (ix86_decompose_address): Verify the base is a REG |
| before trying to examine its register number. |
| |
| * basic-block.h: Remove all #defines and prototypes related to |
| integer lists. |
| (free_bb_mem, compute_preds_succs): Remove prototype. |
| * rtl.h (free_bb_mem): Remove prototype. |
| * flow.c (alloc_int_list_node); Remove function. |
| (add_inst_list_node, free_int_list, add_pred_succ): Likewise. |
| (compute_preds_succs, free_bb_mem): Likewise. |
| * gcse.c (gcse_main): Do not call free_bb_mem anymore. |
| * toplev.c (rest_of_compilation): Likewise. |
| * haifa-sched.c (build_control_flow): Use flow generated edge |
| list to build the haifa specific edge list. |
| (find_rgns): Use new CFG data structures instead of pred/succ lists. |
| (schedule_insns): Do not build pred/succ lists anymore. Instead |
| build the edge table. |
| |
| * basic-block.h (dump_bb_data): Remove declaration. |
| * flow.c (dump_bb_data): Remove function. |
| * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function. |
| (sbitmap_union_of_predsucc): Likewise. |
| |
| * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds |
| argument. All callers changed. |
| (delete_null_pointer_checks_1): No longer need to compute the |
| pred/succ lists. |
| |
| * gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument. |
| All callers changed. |
| (pre_expr_reaches_here_p_work): Likewise. |
| (pre_edge_insert): No longer call pre_expr_reaches_here_p. |
| * lcm.c (compute_laterin): Fix initialization of LATER. |
| (compute_nearerout): Similarly for NEARER. |
| |
| Sun Nov 14 12:41:57 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cse.c (set_nonvarying_address_components): Delete unused function. |
| (refers_to_p): Likewise. |
| |
| Fri Nov 12 20:53:22 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as |
| needed. |
| |
| Sat Nov 13 16:20:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro |
| definition in do while (0). |
| |
| Fri Nov 12 16:26:25 1999 Jim Wilson <wilson@cygnus.com> |
| |
| * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change. |
| |
| Fri Nov 12 12:43:49 1999 Richard Henderson <rth@cygnus.com> |
| |
| * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT. |
| |
| Fri Nov 12 15:14:19 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com> |
| |
| * i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it. |
| (FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto. |
| (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New. |
| (INITIAL_FRAME_POINTER_OFFSET): Remove it. |
| |
| * i960.c (i960_function_prologue): Don't allocate space for g8-g11 |
| saved on the stack. Output more accurate stack frame statistics |
| into assembler file. |
| |
| 1999-11-12 11:47 -0800 Zack Weinberg <zack@bitmover.com> |
| |
| * genextract.c (record_insn_name): New function. |
| (get_insn_name): No longer a stub. |
| (main): Call record_insn_name for each insn. After each label |
| written, print the insn name in a comment. |
| |
| Fri Nov 12 13:45:02 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * output.h (const_section, init_section, fini_section): Add |
| prototypes. |
| |
| * alpha/elf.h (const_section): Delete declaration. |
| |
| * svr4.h (const_section): Likewise. |
| |
| Fri Nov 12 08:54:22 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (SAVE_EXPR_PERSISTENT_P): New macro. |
| * tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially. |
| (unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P |
| expressions. |
| * stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on |
| variable-sized array bounds. |
| |
| Fri Nov 12 08:04:45 1999 Catherine Moore <clm@cygnus.com> |
| |
| * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Use |
| ASM_OUTPUT_LABEL. |
| |
| Fri Nov 12 13:31:54 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode |
| addresses the same way GO_IF_LEGITIMATE_INDEX does. |
| |
| Fri Nov 12 12:36:04 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cse.c (hash_arg_in_struct): Delete. |
| (struct table_elt): Delete elt in_struct. |
| (struct set): Delete elt src_in_struct. |
| (merge_equiv_classes): Don't set either hash_arg_in_struct or |
| the corresponding in_struct elts. |
| (canon_hash): Likewise. |
| (safe_hash): Likewise. |
| (find_best_addr): Likewise. |
| (record_jump_cond): Likewise. |
| (cse_insn): Likewise. |
| |
| Thu Nov 11 19:45:24 1999 Jim Wilson <wilson@cygnus.com> |
| |
| * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back. |
| |
| * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large |
| unsigned types. |
| |
| Thu Nov 11 18:54:24 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * function.c (diddle_return_value): Put back check that the DECL_RTL |
| for the function is a register. |
| |
| * function.c (diddle_return_value): Use hard_function_value to |
| get an rtx suitable for use in the USE/CLOBBER insn. |
| |
| * global.c (global_conflicts): Update comments. |
| (record_conflicts): No need to record conflicts between pseudos here. |
| |
| 1999-11-11 Bruce Korb <autogen@linuxbox.com> |
| |
| * fixinc/fixincl.c: Added verbose levels for status messages |
| |
| Thu Nov 11 13:23:04 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * jump.c (jump_optimize_1): Avoid passing an rtx that is not an |
| operand as argument to expand_and or expand_binop. |
| |
| Thu Nov 11 02:21:16 1999 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * xcoffout.c (xcoffout_source_file): Change ggc_add_root to |
| gcc_add_string_root. |
| |
| Wed Nov 10 21:24:19 1999 Jason Eckhardt <jle@cygnus.com> |
| |
| * config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4. |
| |
| Wed Nov 10 15:56:16 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (compute_flow_dominators): Initially put all blocks on |
| the worklist. |
| * lcm.c (compute_antinout_edge, compute_available): Similarly. |
| * gcse.c (compute_cprop_avinout): Remove. |
| (compute_cprop_data): Use compute_available. |
| (delete_null_pointer_checks_1): Use compute_available. |
| |
| * basic-block.h (compute_available): Returns a void now. |
| * gcse.c (one_classic_gcse_pass): Do not expect compute_available |
| to return a value anymore. |
| * lcm.c (compute_available, compute_antinout_edge): Revamp to use |
| worklists. Fix boundary cases. Compute maximal solutions. |
| (compute_laterin, compute_nearerout): Similarly. |
| |
| * dwarf2out.c (add_AT_location_description): Allow |
| (mem (plus (pseudo) (...)) too. |
| |
| Wed Nov 10 10:52:42 1999 Tom Tromey <tromey@cygnus.com> |
| |
| * gcc.c (do_spec_1): Support text between `%u' and `%O'. |
| |
| Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be> |
| Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'. |
| |
| * gansidecl.h: Likewise. |
| |
| * rtl.c: Likewise. |
| |
| * rtl.h: Likewise. |
| |
| * toplev.h: Likewise. |
| |
| * tree.c: Likewise. |
| |
| * tree.h: Likewise. |
| |
| * varray.c: Likewise. |
| |
| * varray.h: Likewise. |
| |
| Wed Nov 10 10:57:22 1999 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * gcov.c (struct arcdata): Add hits and total, remove prob. |
| (output_branch_counts): New. |
| (process_args): Set output_branch_counts if -c. |
| (calculate_branch_probs): Store hits and total instead of |
| percentage. |
| (output_data): Emit counts if output_branch_counts is true. |
| * gcov.texi (Invoking Gcov): Document -c switch.. |
| |
| Wed Nov 10 01:10:41 1999 Philippe De Muyter <phdm@macqel.be> |
| |
| * genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and |
| `INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type. |
| |
| Wed Nov 10 00:51:41 1999 Hans-Peter Nilsson <hp@axis.se> |
| |
| * invoke.texi (C Dialect Options): Add missing builtins from |
| c-common.c to list. |
| * extend.texi (Other Builtins): Copy to this list. |
| |
| Wed Nov 10 04:58:09 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * Makefile.in (recog.o): Use BASIC_BLOCK_H macro. |
| (print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise. Remove |
| redundant bitmap.h. |
| |
| Wed Nov 10 00:02:53 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (compute_flow_dominators): No longer treat basic block 0 |
| or (n_basic_blocks - 1) specially. Clear the AUX field before |
| starting computation of doms/pdoms. Fix initial state for pdoms. |
| |
| Wed Nov 10 03:58:08 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to |
| match rtl.o's: added ggc.h and toplev.h |
| ($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h. |
| ($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h. |
| ($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H). |
| |
| Tue Nov 9 10:30:08 1999 Tom Tromey <tromey@cygnus.com> |
| |
| * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed |
| from HAVE_DOS_BASED_FILESYSTEM. |
| * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not |
| HAVE_DOS_BASED_FILESYSTEM. |
| (main): Likewise. |
| (split_directories): Only special-case DOS file names if |
| HAVE_DOS_BASED_FILE_SYSTEM is defined. Use IS_DIR_SEPARATOR |
| instead of explicit tests. Conditionalize on !VMS. |
| (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit |
| tests. Conditionalize on !VMS. |
| (process_command): Only use make_relative_prefix if !VMS. |
| (free_split_directories): Conditionalize on !VMS. |
| (DIR_UP): Conditionalize on !VMS. |
| |
| Wed Jun 9 16:57:11 1999 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * gcc.c (STANDARD_BINDIR_PREFIX): Provide default. |
| |
| Fri Feb 5 14:22:01 1999 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX |
| case. |
| |
| Mon Nov 8 14:16:57 1999 Michael Meissner <meissner@cygnus.com> |
| |
| * invoke.texi (Environment Variables): Document relative path |
| lookup. |
| * gcc.c (DIR_UP): If not defined, define as "..". |
| (standard_bindir_prefix): New static, holds target location to |
| install binaries. |
| (split_directories): New function to split a filename into |
| component directories. |
| (free_split_directories): New function, release memory allocated |
| by split_directories. |
| (make_relative_prefix): New function, make a relative pathname if |
| the compiler is not in the expected location. |
| (process_command): If GCC_EXEC_PREFIX was not specified, see if we |
| can figure out an appropriate prefix from argv[0]. |
| * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of |
| STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX. Define |
| STANDARD_BINDIR_PREFIX. |
| |
| Wed Nov 10 11:47:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x-protos.h: New file. Prototypes for functions defined |
| in c4x.c. |
| * config/c4x/c4x.h: Moved prototypes to c4x.h. |
| * config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class, |
| c4x_secondary_memory_needed) Delete. |
| (fp_zero_operand): Add mode argument. |
| |
| Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com> |
| |
| * reload1.c (reload_reg_free_for_value_p): Don't use a register |
| that is in reload_reg_used. |
| |
| Tue Nov 9 16:43:00 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm-protos.h: New file: Prototypes for functions |
| defined in arm.c and pe.c. |
| * config/arm/arm.h: Fix compile time warnings. |
| * config/arm/arm.c: Fix compile time warnings. |
| * config/arm/pe.h: Fix compile time warnings. |
| * config/arm/aout.h: Fix compile time warnings. |
| |
| Tue Nov 9 14:55:44 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/m32r/m32r-protos.h: New file: Prototypes for functions |
| defined in m32r.c |
| |
| * config/m32r/m32r.h: Move prototypes to m32r-protos.h |
| Add support for subtargets. |
| Add prototypes for new predicates. |
| Add scheduling macros. |
| |
| * config/m32r/m32r.c: Fix compile time warnings. |
| (int8_operand): New predicate function. |
| (reg_or_cmp_int16_operand): New predicate function. |
| (extend_operand): New predicate function. |
| (m32r_adjust_code): New scheduling function. |
| (m32r_adjust_priority): New scheduling function. |
| (m32r_sched_init): New scheduling function. |
| (m32r_sched_reorder): New scheduling function. |
| (m32r_sched_variable_issue): New scheduling function. |
| (direct_return): New codegen function. |
| (m32r_not_same_reg): New rtl testsing function. |
| |
| * config/m32r/m32r.md: Fix compile time warnings. |
| Add support for pre decrement and post increment memory |
| references. |
| Add S<cc> patterns. |
| Add fabs patterns. |
| |
| Mon Nov 8 22:20:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * global.c (EXECUTE_IF_CONFLICT): Don't define. |
| (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead. |
| (find_reg): Likewise. |
| |
| Mon Nov 8 13:16:46 1999 Jason Eckhardt <jle@cygnus.com> |
| |
| * config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0 |
| to avoid assembler errors. |
| |
| Mon Nov 8 15:38:41 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/v850/v850-protos.h: New file: Prototypes for functions |
| defined in v850.c |
| * config/v850/v850.h: Move prototypes to v850-protos.h |
| * config/v850/v850.c: Move prototypes to v850-protos.h |
| * config/v850/v850.md: Fix compile time warnings. |
| |
| * config/fr30/fr30-protos.h: New file: Prototypes for functions |
| defined in fr30.c |
| * config/fr30/fr30.h: Move prototypes to fr30-protos.h |
| * config/fr30/fr30.c: Fix compile time warnings. |
| * config/fr30/fr30.md: Fix compile time warnings. |
| |
| Mon Nov 8 07:25:37 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (get_containing_scope): Declare it. |
| * tree.c (get_containing_scope): New fucntion. |
| (decl_function_context): Use it. |
| * toplev.c (rest_of_compilation): Use get_containing_scope. |
| |
| aMon Nov 8 03:03:07 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * Makefile.in (rtl.o): Depend on toplev.h. |
| |
| Sun Nov 7 20:55:14 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * cse.c (delete_trivially_dead_insns): Replace alloca with |
| xmalloc/xcalloc. |
| * except.c (update_rethrow_references): Likewise. |
| (init_eh_nesting_info): Likewise. |
| * function.c (identify_blocks): Likewise. |
| * gcse.c (dump_hash_table): Likewise. |
| * graph.c (print_rtl_graph_with_bb): Likewise. |
| * loop.c (combine_movables): Likewise. |
| (move_movables): Likewise. |
| (count_loop_regs_set): Likewise. |
| (strength_reduce): Likewise. |
| * profile.c (compute_branch_probabilities): New function, split |
| out from ... |
| (branch_prob): Here. Replace alloca with xmalloc/xcalloc. |
| * regclass.c (regclass): Likewise. |
| * regmove.c (regmove_optimize): Likewise. |
| * toplev.c (compile_file): Likewise. |
| (main): Don't mess with the stack rlimit. |
| |
| Sun Nov 7 19:41:17 1999 Catherine Moore <clm@cygnus.com> |
| |
| * config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define. |
| (ASM_DECLARE_FUNCTION_SIZE): Conditionally define. |
| |
| Sun Nov 7 10:23:28 1999 Mark P. Mitchell <mark@codesourcery.com> |
| |
| * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns. |
| |
| Sun Nov 7 02:58:48 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * global.c (EXECUTE_IF_CONFLICT): Undo Robert's change. |
| (EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in |
| macro expansion. |
| |
| Sat Nov 6 23:48:30 1999 Robert Lipe (robertlipe@usa.net) |
| |
| * global.c (EXECUTE_IF_CONFLICT): Correct quoting typo. |
| |
| Sat Nov 6 17:34:39 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * gcse.c (post_dominators): Kill. |
| (alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators. |
| (compute_code_hoist_data): Use compute_flow_dominators. Do not |
| pass in a pdom array since we do not need pdoms. |
| * haifa-sched.c (schedule_insns): Similarly. |
| * flow.c (compute_dominators): Remove dead function. |
| (compute_flow_dominators): Do not compute doms or pdoms if the |
| caller does not request them. Split up loop to build doms and |
| pdoms. Use a worklist to compute doms and pdoms. |
| * basic-block.h (compute_dominators): Remove prototype. |
| |
| Sat Nov 6 11:38:39 1999 Richard Henderson <rth@cygnus.com> |
| |
| * haifa-sched.c (struct haifa_insn_data, h_i_d): New. |
| (insn_luid, insn_priority, insn_costs, insn_units): Remove. |
| (insn_reg_weight, insn_depend, insn_dep_count): Remove. |
| (insn_blockage, insn_ref_count, line_note, insn_tick): Remove. |
| (cant_move, fed_by_spec_load, is_load_insn): Remove. |
| (schedule_region): Remove unused variable. |
| (schedule_insns): Allocate h_i_d, and not all the separate arrays. |
| |
| Sat Nov 6 10:00:34 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca. |
| (update_equiv_regs): Likewise. |
| (block_alloc): Likewise. |
| * reg-stack.c (reg_to_stack): Likewise. |
| (convert_regs_2): Likewise. |
| * reload1.c (reload_as_needed): Likewise. |
| |
| Sat Nov 6 09:57:59 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (dbxout.o): Depend on ggc.h. |
| (dwarf2out.o): Likewise. |
| (xcoffout.o): Likewise. |
| * dbxout.c: Include ggc.h. |
| (dbxout_init): Register lastfile as a root. |
| * dwarf2out.c: Include ggc.h. |
| (dwarf2out_line): Register lastfile as a root. |
| * xcoffout.c: Include ggc.h. |
| (xcoffout_source_line): Register xcoff_lastfile as a root. |
| |
| Sat Nov 6 09:52:09 1999 Richard Henderson <rth@cygnus.com> |
| |
| * i386.md (movdf_1, movxf_1): Earlyclobber general regs destination. |
| |
| Sat Nov 6 07:48:59 1999 Catherine Moore <clm@cygnus.com> |
| |
| * config/svr4.h (ASM_DECLARE_FUNCTION): Check if already |
| defined. |
| (ASM_DECLARE_FUNCTION_SIZE): Likewise. |
| |
| Fri Nov 5 18:33:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro. |
| (EXECUTE_IF_CONFLICT): Likewise. |
| (ALLOCNO_LIVE_P): Avoid signed division. |
| (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise. |
| (prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT. |
| (record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET. |
| |
| Fri Nov 5 12:04:02 1999 Richard Henderson <rth@cygnus.com> |
| |
| * haifa-sched.c (schedule_block): Don't crash if there's no |
| next insn for an interblock movement. |
| (add_branch_dependences): Don't allow clobber insns to move either. |
| |
| Fri Nov 5 10:18:11 1999 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (split_xf): New. |
| * i386-protos.h: Declare it. |
| * i386.md (movxf_1): Add general regs alternatives. |
| (movxf_1+1): New splitter for same. |
| |
| Fri Nov 5 12:05:52 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * function.c (purge_addressof_1): Add missing return values. |
| |
| Fri Nov 5 10:07:25 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * function.c (is_addressof): New function. Returns true if |
| the given piece of RTL is an ADDRESSOF. |
| (purge_addressof_1): Make boolean. Return false if the |
| ADDRESSOFs could not be purged. |
| (purge_addressof): If ADDRESSOFs could not be purged from the |
| notes attached to an insn, remove the offending note(s), |
| unless they are attached to a libcall. |
| |
| 1999-11-05 Andreas Jaeger <aj@suse.de> |
| |
| * genoutput.c (null_operand =): Initialize all fields. |
| |
| * errors.h: Add extern to prototypes. |
| |
| Fri Nov 5 01:44:09 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * configure.in (m68k-next-nextstep4): Handle Openstep 4.2. |
| * configure: Rebuilt. |
| |
| Fri Nov 5 01:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * global.c (CONFLICTP, SET_CONFLICT): Avoid signed division. |
| (mirror_conflicts): New function. |
| (global_alloc): Call it. |
| (expand_preferences): Remove redundant CONFLICTP test. |
| (find_reg, dump_conflicts): Likewise. |
| (prune_preferences): Process conflicts one word at a time. |
| |
| Fri Nov 5 01:05:21 1999 Richard Henderson <rth@cygnus.com> |
| |
| * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP |
| instead of an explicit loop. |
| |
| Thu Nov 4 23:07:14 1999 Jim Wilson <wilson@cygnus.com> |
| |
| * cse.c (cse_insn): Revert Oct 31 change. When computing src_elt, |
| if REG_RETVAL check succeeds, then put classp in src_elt. |
| |
| Thu Nov 4 23:48:14 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * function.c (pad_to_arg_alignment): Only update argument_pad |
| if the argument's alignment is greater than STACK_BOUNDARY. |
| |
| Thu Nov 4 16:44:53 1999 Richard Henderson <rth@cygnus.com> |
| |
| * bitmap.h (BITMAP_XFREE): New. |
| * flow.c (life_analysis): Use it. |
| (life_analysis_1): Free blocks. |
| |
| * combine.c (undo_commit): New. |
| (try_combine): Use it. Don't zap undobuf.undos. |
| (combine_instructions): Don't zap undobuf.undos; free the |
| undobuf.frees list. |
| |
| * local-alloc.c (local_alloc): Free qty_phys_num_sugg. |
| |
| * stmt.c (cost_table_): New. |
| (estimate_case_costs): Use it instead of xmalloc. |
| |
| * toplev.c (compile_file): Reuse dumpname memory instead |
| of strdup'ing it. |
| |
| Thu Nov 4 16:36:44 1999 Richard Henderson <rth@cygnus.com> |
| |
| * reg-stack.c (convert_regs_1): Initialize target_stack->top |
| after verifying an EH edge. |
| |
| * haifa-sched.c (init_rgn_data_dependences): Correctly |
| size bb_pending_lists_length when zeroing. |
| |
| Thu Nov 4 16:36:36 1999 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (diddle_return_value): New. |
| (expand_function_end): Use it. |
| * stmt.c (expand_null_return): Likewise. |
| (expand_value_return): Likewise. |
| |
| * reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level. |
| |
| * reload1.c (reload): Don't remove return value clobbers. |
| |
| Thu Nov 4 13:33:46 1999 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.c (read_rtx): Use fatal_with_file_and_line not fatal. |
| |
| Thu Nov 4 12:49:52 1999 Richard Henderson <rth@cygnus.com> |
| |
| * cse.c (cse_main): Use xmalloc, not alloca. |
| (cse_basic_block): Likewise. |
| * local-alloc.c (local_alloc): Likewise. |
| |
| Thu Nov 4 14:22:12 1999 David Billinghurst <David.Billinghurst@riotinto.com.au> |
| Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * rtl.c: Include toplev.h. |
| (fatal): Remove declaration. |
| |
| Thu Nov 4 06:39:47 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * haifa-sched.c (schedule_block): Fix thinko. |
| |
| 1999-11-03 James McKelvey <mckelvey@fafnir.com> |
| |
| * fixinc/fixincl.c(create_file): Allow for systems that do not have |
| S_IR* defined values |
| |
| 1999-11-03 Philippe De Muyter <phdm@macqel.be> |
| |
| * fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer; |
| call `malloc' instead. |
| |
| Wed Nov 3 23:05:14 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * flags.h (flag_renumber_insns): Declare. |
| * emit-rtl.c (renumber_insns): Check flag_renumber_insns. Print |
| renumbering table. |
| * rtl.h (renumber_insns): Change prototype. |
| * toplev.c (flag_renumber_insns): Define. |
| (rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns. |
| |
| Wed Nov 3 15:11:27 1999 David S. Miller <davem@redhat.com> |
| |
| * config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts |
| and fpsqrtd. Use them and create fdiv function unit to more |
| accurately represent fpu sqrt pipeline semantics on UltraSPARC. |
| * config/sparc/sparc.c: Account for fpsqrt{s,d} changes. |
| |
| Wed Nov 3 15:11:27 1999 Matteo Frigo <athena@fftw.org> |
| |
| * config/sparc/sparc.md: Adjust FADD/FMUL result latencies to |
| 3 on UltraSPARC. |
| * config/sparc/sparc.c (ultra_schedule_insn): Insert launched |
| insn into ready list, do not use just a raw swap. |
| |
| Wed Nov 3 14:51:59 1999 Mark P. Mitchell <mark@codesourcery.com> |
| |
| * rtl.h (renumber_insns): New function. |
| (remove_unnecessary_notes): Likewise. |
| * emit-rtl.c (renumber_insns): Define. |
| (remove_unnecessary_notes): Likewise. |
| * toplev.c (rest_of_compilation): Remove dead code. |
| Use renumber_insns and remove_unnecessary_notes. |
| |
| * gcse.c (struct null_pointer_info): New type. |
| (get_bitmap_width): New function. |
| (current_block): Remove. |
| (nonnull_local): Likewise. |
| (nonnull_killed): Likewise. |
| (invalidate_nonnull_info): Take a null_pointer_info as input. |
| (delete_null_pointer_checks_1): New function. |
| (delete_null_pointer_checks): Use it. |
| |
| * haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc. |
| (split_edges): Likewise. |
| (schedule_block): Likewise. |
| (compute_block_backward_dependencies): Likewise. |
| (schedule_region): Likewise. |
| (schedule_insns): Likewise. |
| |
| Wed Nov 3 15:40:23 1999 Catherine Moore <clm@cygnus.com> |
| |
| * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default. |
| * emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME. |
| * final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME. |
| * ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME. |
| * jump.c (delete_unreferenced_labels): Don't delete if |
| LABEL_ALTERNATE_NAME is set. |
| * print-rtl.c (print_rtx): Dump alternate name. |
| * rtl.def (CODE_LABEL): Change format to "iuuis00s". |
| * rtl.h (LABEL_ALTERNATE_NAME): Define. |
| * rtl.texi (LABEL_ALTERNATE_NAME): Document. |
| * tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document. |
| |
| Wed Nov 3 15:39:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fix-header.c (recognized_extern, recognized_function): Constify |
| a char*. |
| |
| * lcm.c (compute_laterin): Remove unused variable `temp_bitmap'. |
| (pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED. |
| (compute_available): Remove unused variable `last'. |
| (compute_nearerout): Remove unused variable `temp_bitmap'. |
| (pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED. |
| Remove unused variable `x'. |
| |
| * scan.h (recognized_function, recognized_extern): Constify a |
| char*. |
| |
| * simplify-rtx.c (simplify_rtx): Remove unused variable `new'. |
| |
| Wed Nov 3 10:40:53 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * varasm.c (decode_rtx_const): Use XSTR to access the string |
| of a SYMBOL_REF. |
| |
| Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com> |
| |
| * c-decl.c (duplicate_decls): Copy DECL_MODE too. |
| |
| Wed Nov 3 12:12:59 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes. |
| |
| Wed Nov 3 03:26:28 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.c (ireg_operand): New function. |
| * pa.h (PREDICATE_CODES): Handle ireg_operand. |
| * pa.md (parallel_addb, parallel_movb): Use ireg_operand. |
| Fix out of date comment. |
| |
| * pa.md (negdi2): Turn into expander + anonymous pattern. |
| |
| * reload.c (find_reloads): Fix typos in recent change. |
| |
| * dwarf2out.c: Do not include ctype.h. |
| |
| Tue Nov 2 21:53:44 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * regclass.c (record_reg_classes): Always use may_move_cost when |
| seeing how operand fits with various register classes. |
| |
| Tue Nov 2 15:38:17 1999 Richard Henderson <rth@cygnus.com> |
| |
| * resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes. |
| * toplev.c: Revert Nov 1 13:22 change. |
| |
| Tue Nov 2 14:21:37 1999 Jason Eckhardt <jle@cygnus.com> |
| |
| * config/pa/pa.md (height reduction patterns): Add checks for |
| overlapping operands to avoid semantic-destroying splits for |
| height reduction patterns. |
| |
| Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should |
| have been an hyphen, fixed. |
| * configure: Rebuilt. |
| |
| Tue Nov 2 17:04:36 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/tpe.h: Add prototypes for exported functions. |
| * config/arm/pe.c: Fix compile time warnings. |
| * config/arm/semi.h: Fix compile time warnings. |
| * config/arm/arm.c: Fix compile time warnings. |
| * config/arm/arm.h: Fix compile time warnings. |
| * config/arm/arm.md: Fix compile time warnings. |
| * config/arm/thumb.c: Fix compile time warnings. |
| * config/arm/thumb.h: Fix compile time warnings. |
| * config/arm/thumb.md: Fix compile time warnings. |
| |
| Tue Nov 2 04:10:24 1999 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * jump.c (jump_optimize_1): Swap the incscc and the conditional mode |
| detection code |
| |
| * unroll.c (unroll_loop): Remove LOOP notes when loop is |
| completely unrolled. |
| |
| Tue Nov 2 16:57:22 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cse.c (simplify_plus_minus, check_fold_const): Delete declarations. |
| |
| Tue Nov 2 09:43:00 1999 Catherine Moore <clm@cygnus.com> |
| |
| * Makefile.in (genattrtab): Don't use (HOST_RTLANAL). |
| * rtl.h (rtx_equal_p): Move prototype. |
| * rtl.c (rtx_equal_function_value_matters): Move from |
| rtlanal.c |
| (rtx_equal_p): Likewise. |
| * rtlanal.c (rtx_equal_function_value_matters): Delete. |
| (rtx_equal_p): Likewise. |
| |
| Mon Nov 1 23:21:17 1999 Jason Merrill <jason@yorick.cygnus.com> |
| |
| * libgcc2.c (__do_global_dtors): Only do EH frame stuff if |
| ! HAS_INIT_SECTION. |
| |
| Mon Nov 1 23:37:38 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * gcc.1 (PA options): Remove obsolete -mshared-libs options. |
| |
| * pa.h (ADDR_VEC_ALIGN): Define. |
| |
| * jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT |
| notes when presented with "if (foo) break; end_of_loop" and |
| the break sequence gets moved out of the loop. |
| |
| * unroll.c (unroll_loop): Allocate memory for MAP using xcalloc. |
| Remove explicit zero initializations of entries within MAP. |
| |
| Mon Nov 1 18:09:14 1999 Richard Henderson <rth@cygnus.com> |
| |
| * reg-stack.c (convert_regs_1): Handle EH edges specially. |
| |
| Mon Nov 1 15:41:01 1999 Mark P. Mitchell <mark@codesourcery.com> |
| |
| * bitmap.h (BITMAP_XMALLOC): New macro. |
| * flow.c (CLEAN_ALLOCA): Remove. |
| (delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca. |
| (life_analysis): Likewise. |
| (update_life_info): Don't use CLEAN_ALLOCA. |
| (life_analysis_1): Use xmalloc/xcalloc instead of alloca. |
| (calculate_global_regs_live): Likewise. |
| (print_rtl_with_bb): Likewise. |
| (verify_flow_info): Likewise. |
| * global.c (global_alloc): Likewise. |
| (global_conflicts): Likewise. |
| * integrate.c (save_for_inline_nocopy): Likewise. |
| (expand_inline_function): Likewise. |
| * jump.c (jump_optimize_1): Likewise. |
| (duplicate_loop_exit_test): Likewise. |
| (thread_jumps): Likewise. |
| * loop.c (loop_optimize): Likewise. |
| (combine_givs): Likewise. |
| (recombine_givs): Likewise. |
| * reorg.c (dbr_schedule): Likewise. |
| * unroll.c (unroll_loop): Likewise. |
| |
| * combine.c (combine_instructions): Use xmalloc instead of alloca. |
| |
| Mon Nov 1 13:22:30 1999 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Don't optimize the CFG |
| when rebuilding, just before dbr. |
| |
| Mon Nov 1 14:35:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * output.h (assemble_end_function, assemble_destructor, |
| assemble_constructor, assemble_gc_entry, assemble_global, |
| assemble_label, output_constant_pool) Constify a char*. |
| |
| * varasm.c (assemble_destructor, assemble_constructor, |
| assemble_gc_entry, assemble_end_function, assemble_global, |
| assemble_label, output_constant_pool): Likewise. |
| |
| Mon Nov 1 14:22:51 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/thumb.c (thumb_expand_prologue): Add comments |
| explaining what is goin on in this function. |
| |
| Mon Nov 1 08:03:15 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * regclass.c (record_reg_classes): In matching case, recompute |
| costs since the direction of movement is different. |
| |
| Sun Oct 31 21:59:34 MST 1999 Diego Novillo <dnovillo@cygnus.com> |
| |
| * resource.c (mark_target_live_regs): For unconditional branches, |
| the resources found at the branch target should be added to the |
| resources found so far, not intersected. |
| |
| Sun Oct 31 15:48:49 1999 Philippe De Muyter <phdm@macqel.be> |
| |
| * fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for |
| old cpp's. |
| * fixinc/fixincl.c (fcntl.h) : Do not include this file twice. |
| (sys/mman.h): Include this file only if #HAVE_MMAP. |
| (run_compiles): Initialize `esac_fmt' with one old KR string, not |
| with automatically concatenated ANSI strings. |
| |
| Sun Oct 31 23:57:07 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * ggc-page.c (struct page_entry): Remove save_num_free_objects. |
| (DIV_ROUND_UP): Robustify. |
| (ggc_recalculate_in_use_p): New function. |
| (release_pages): Don't inline it. |
| (ggc_alloc_obj): Don't refuse to allocate objects on pages for |
| outer contexts. |
| (ggc_pop_context): Use ggc_recalculate_in_use_p. |
| (clear_marks): Always save in_use_p. |
| (sweep_pages): Use ggc_recalculate_in_use_p. |
| (ggc_page_print_statistics): Avoid signed/unsigned comparisons. |
| Release pages before counting statistics. |
| |
| Sun Oct 31 23:42:37 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * toplev.c (rest_of_compilation): Fix thinko in this change: |
| |
| Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR> |
| |
| (rest_of_compilation): If inside an inlined external function, |
| pretend we are just being declared. |
| |
| Sun Oct 31 23:03:25 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (calculate_global_regs_live): Fix thinko. |
| |
| * integrate.c (expand_inline_function): Fix bugs in previous |
| change from Oct 28, 1999. |
| |
| Sun Oct 31 20:27:45 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * stmt.c (expand_value_return): Fix typo in this change: |
| |
| Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| (expand_value_return): Correctly convert VAL when promoting function |
| return; support RETURN_REG being a PARALLEL. |
| |
| Sun Oct 31 20:25:42 1999 Mark P. Mitchell <mark@codesourcery.com> |
| |
| * expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs. |
| |
| Sun Oct 31 20:42:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * hard-reg-set.h (reg_names): Constify a char*. |
| |
| * regclass.c (reg_names): Likewise. |
| |
| * regs.h (reg_names): Likewise |
| |
| * a29k/a29k.c (reg_names): Delete declaration. |
| |
| * a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*. |
| |
| * arc/arc.c (arc_save_restore, arc_output_function_prologue, |
| arc_output_function_epilogue): Likewise. |
| |
| * elxsi/elxsi.c (reg_names): Likewise. |
| |
| * gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise. |
| |
| * m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move): |
| Likewise. |
| |
| * m88k/m88k.c (output_function_profiler): Likewise. |
| |
| * sparc/sparc.c (sparc_flat_output_function_prologue, |
| sparc_flat_output_function_epilogue): Likewise. |
| |
| Sun Oct 31 13:32:15 CET 1999 Marc Lehmann <pcg@goof.com> |
| |
| * toplev.c (rest_of_compilation): Separate the setjmp/vfork clobber |
| warning from -Wuninitialized and put it under -W. |
| * function.c (uninitialized_vars_warning): Warn only when the |
| corresponding flag is set. |
| |
| Sun Oct 31 01:53:30 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * cse.c (cse_insn): If an insn has only a single set, SRC_EQV |
| is nonzero and the single set does not have an elt, then assign |
| it an elt. |
| |
| * simplify-rtx.c: New file. |
| * Makefile.in (OBJS): Add simplify-rtx.o |
| (simplify-rtx.o): Add dependencies. |
| * rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes. |
| * cse.c: Use simplify_gen_binary intead of cse_gen_binary. |
| (cse_gen_binary, simplify_unary_operation): Delete. |
| (simplify_binary_operation, simplify_plus_minus): Likewise. |
| (check_fold_consts, simplify_relation_operation): Likewise. |
| (simplify_ternary_operation): Likewise. |
| (delete_trivially_dead_insns): Simplify the contents of the |
| REG_EQUAL note before trying to substitute it into the source |
| of the reg-reg copy at the end of a libcall sequence. |
| |
| * combine.c (combine_simplify_rtx): Renamed from simplify_rtx. All |
| references/callers changed. |
| |
| * mn10200.c (mn10200_va_arg): Force the return value into a |
| register. |
| |
| * fr30.h (EXTRA_CC_NAMES): Remove obsolete macro. |
| |
| * cccp.c (macroexpand): Avoid out of range accesses for omitted |
| arguments. |
| |
| Sat Oct 30 22:42:50 1999 Stephen L Moshier <moshier@mediaone.net> |
| |
| * c-lex.c (yylex): Accept 'f' in mantissa of hex float constant. |
| |
| Sat Oct 30 22:19:26 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * fold-const.c (fold): Fix thinko when optimizing comparisons |
| against -0.0. |
| |
| Sat Oct 30 21:32:17 1999 David Starner <dstarner98@aasaa.ofe.org> |
| |
| * gcc.texi (Passes): Update front-end files to their current |
| location. |
| |
| Sat Oct 30 14:41:40 1999 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class. |
| (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. |
| (PREDICATE_CODES): Add addition_operation. |
| * alpha-protos.h (addition_operation): Declare. |
| (secondary_reload_class): Likewise. |
| * alpha.c (addition_operation): New. |
| (secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS. |
| * alpha.md (adddi3): Turn into expander. |
| (*lda, *adddi_2): New. |
| (movsf, movdf patterns): Don't preference integer regs. |
| (movsi, movdi patterns): Don't preference fp regs. |
| |
| Sat Oct 30 14:38:22 1999 Richard Henderson <rth@cygnus.com> |
| |
| * genrecog.c (write_switch): Check for duplicate CODE cases. |
| |
| Sat Oct 30 14:31:48 1999 Richard Henderson <rth@cygnus.com> |
| |
| * ggc-common.c: Update pre-function commentary. |
| * ggc-page.c: Likewise. |
| (poison): Remove. |
| (poison_pages): Use memset directly. |
| (ggc_alloc_obj): Likewise. Use a different pattern than poison_pages. |
| (ggc_collect): Poison before sweeping. |
| * ggc-simple.c: Update pre-function commentary. |
| (ggc_alloc_obj): Poison nonzeroed memory. |
| |
| Sat Oct 30 14:28:52 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * ggc-common.c (ggc_print_statistics): Make arguments to fprintf |
| match format string, even on 64-bit hosts. |
| * gcc-page.c (ggc_page_print_statistics): Likewise. |
| |
| Sat Oct 30 14:38:04 1999 Catherine Moore <clm@cygnus.com> |
| |
| * config/i386/i386.c (ix86_cpu): Revert last patch. |
| * config/i386/i386.h (ix86_cpu): Ditto. |
| |
| Fri Oct 29 17:00:42 1999 Jim Wilson <wilson@cygnus.com> |
| |
| * stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from |
| TYPE_SIZE, convert type of result to sizetype. |
| |
| Fri Oct 29 14:34:17 1999 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (count_or_remove_death_notes): Equate NULL with the |
| universal set. |
| |
| * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change. |
| * toplev.c (rest_of_compilation): Rebuild CFG immediately before |
| dbr_schedule. |
| |
| * i386.c (pic_label_no): Delete. |
| (ix86_attr_length_default): Don't use single_set to peek |
| inside a parallel. |
| |
| * recog.c (peephole2_optimize): Allow recog_next_insn to index |
| the first insn after bb->end. |
| * i386.md (push mem peeps): Scratch is live after evaluation |
| of the memory. |
| (cmp mem peep): Similarly. |
| |
| Fri Oct 29 11:50:11 1999 Catherine Moore <clm@cygnus.com> |
| |
| * calls.c (emit_library_call_value): Fix declaration of alignment_pad. |
| * function.c (pad_to_arg_alignment): Add missing braces. |
| |
| Fri Oct 29 13:53:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * alpha/alpha-protos.h (literal_section): Add prototype. |
| (alpha_need_linkage, alpha_start_function,alpha_end_function): |
| Constify a char*. |
| |
| * alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add |
| prototype. |
| (alpha_start_function, alpha_end_function, float_strings, |
| alpha_need_linkage): Constify a char* |
| |
| * alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise. |
| |
| * alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise. |
| |
| * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise. |
| |
| Fri Oct 29 13:49:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * flow.c (debug_flow_info): Add prototype. |
| |
| * gcc.c (main): Likewise. |
| |
| * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work): |
| Likewise. |
| |
| * reload1.c (failed_reload, set_reload_reg): Likewise. |
| |
| * mips-tfile.c (main): Likewise. |
| (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark |
| with ATTRIBUTE_NORETURN. |
| |
| Fri Oct 29 18:16:03 1999 Andrew Haley <aph@cygnus.com> |
| |
| * config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if |
| DECL is not a memory ref. |
| |
| Fri Oct 29 09:05:34 1999 Catherine Moore <clm@cygnus.com> |
| |
| * config/i386/i386.h (ix86_cpu): Remove extern attribute. |
| * config/i386/i386.c (ix86_cpu): Add extern attribute. |
| |
| Fri Oct 29 16:30:04 1999 Andrew Haley <aph@cygnus.com> |
| |
| * config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN. |
| * config/mips/elf64.h: ditto. |
| |
| Fri Oct 29 08:03:57 1999 Catherine Moore <clm@cygnus.com> |
| |
| * expr.c (emit_push_insn): New argument alignment_pad. |
| Update all callers. Adjust stack pointer based on alignment pad. |
| * function.c (pad_to_arg_alignment): New argument alignment_pad. |
| Update all callers. Track alignment_pad if boundary > PARM_BOUNDARY. |
| (locate_and_pad_parm): New argument alignment_pad. Update all |
| callers. |
| * expr.h (emit_push_insn): Update prototype. |
| (locate_and_pad_parm): Update prototype. |
| * calls.c (arg_data): Add new field alignment_pad. |
| (initialize_argument_information): Initialize alignment_pad. |
| |
| Fri Oct 29 02:51:35 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * except.c (free_eh_nesting_info): Free the info itself. |
| * function.c (free_after_compilation): Don't free NULL. |
| * gcse.c (alloc_pre_mem): Free the temp_bitmap, too. |
| (pre_edge_insert): Free inserted. |
| * stmt.c (free_stmt_status): Don't free NULL. |
| |
| Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR> |
| |
| * gcov.c (DIR_SEPARATOR): Provide default. |
| (output_data): Add test for MS-DOS format absolute filename. |
| (fancy_abort): Correct program name. |
| (open_files): Open all files in binary mode. |
| * libgcc2.c (__bb_exit_func): Likewise. |
| |
| * profile.c (init_branch_prob): Specify binary when opening files. |
| |
| * flags.h (flag_unwind_tables): New decl. |
| * toplev.c (flag_unwind_table): New definition. |
| (f_options): Add -funwind-tables. |
| (decode_g_option): Clarify warning when unknown -g option is given. |
| (rest_of_compilation): If inside an inlined external function, |
| pretend we are just being declared. |
| |
| * dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables. |
| (dwarf2out_frame_finish): Likewise. |
| |
| Fri Oct 29 07:44:26 1999 Vasco Pedro <vp@di.fct.unl.pt> |
| |
| * fold-const.c (merge_ranges): If not in0, but in1, handle |
| upper bounds equal like subset case. |
| |
| Thu Oct 28 19:22:24 1999 Douglas Rupp <rupp@gnat.com> |
| |
| * dbxout.c (dbxout_parms): Generate a second stabs line for parameters |
| passed in a register but moved to the stack. |
| |
| Thu Oct 28 19:12:57 1999 Sam Tardieu <tardieu@act-europe.fr> |
| |
| * gcc.c (pass_exit_codes, greatest_status): New variables. |
| (struct option_map): Add entry for "--pass-exit-codes". |
| (execute): Update greatest_status if error. |
| (display_help): Add documentation for -pass-exit-codes. |
| (process_command): Handle -pass-exit-codes. |
| (main): Look at pass_exit_codes and greatest_status on call to exit. |
| |
| Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * reload.c (find_reloads): Refine test for no input reload |
| case to not includes reloads emitted after insn. |
| |
| * function.c (find_temp_slots_from_address): Handle sum involving |
| a register that points to a temp slot. |
| (update_temp_slot_address): Make recursive call if both old and |
| new are PLUS with a common operand. |
| * calls.c (expand_call): Mark temp slot for result as having |
| address taken. |
| |
| * rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case. |
| |
| * gcc.c (process_command): Add standard_exec_prefix with "GCC" |
| component as well as "BINUTILS". |
| |
| * integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS. |
| * integrate.c (copy_rtx_and_substitute): Likewise. |
| (expand_inline_function, integrate_parm_decls, integrate_decl_tree): |
| All callers changed. |
| * unroll.c (inital_reg_note_copy, copy_loop_body): Likewise. |
| |
| * dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use |
| gdb extensions, write size of type; also be more consistent |
| in using references when this is a subtype. |
| |
| * pa.md (extv, extzv, insv): Use define_expand to reject constant |
| that is out of range. |
| |
| * loop.c (unknown_constant_address_altered): New variable. |
| (prescan_loop): Initialize it. |
| (note_addr_stored): Set it for RTX_UNCHANGING_P MEM. |
| (invariant_p, case MEM): Remove handling for volatile and readonly; |
| check new variable if readonly. |
| (check_dbra_loop): Chdeck unknown_constant_address_altered. |
| |
| * cse.c (canon_hash, case MEM): Do not record if BLKmode. |
| (addr_affects_sp_p): Removed from note_mem_written and only |
| define #ifdef AUTO_INC_DEC. |
| |
| * alpha.c (input_operand, case ADDRESSOF): Treat as REG. |
| |
| * regclass.c (record_reg_classes): Properly handle register move |
| directions. |
| |
| * varasm.c (initializer_constant_valid_p, case MINUS_EXPR): |
| Don't think valid if both operands are invalid. |
| (struct constant_descriptor): New field RTL. |
| (mark_const_hash_entry): Mark it. |
| (record_constant{,_rtx}): Initialize it. |
| (output_constant_def): Allocate RTL in permanent obstack and |
| save in table. |
| ({record,compare}_constant_1): Modes must match for |
| CONSTRUCTOR of ARRAY_TYPE. |
| |
| * c-common.h (initializer_constant_valid_p): Delete decl from here. |
| * output.h (initializer_constant_valid_p): Move decl to here. |
| * c-common.c (initializer_constant_valid_p): Delete function from here. |
| * varasm.c (initializer_constant_valid_p): Move function to here. |
| |
| * tree.h (STRIP_SIGN_NOPS): New macro. |
| * fold-const.c (optimize_minmax_comparison): New function. |
| (invert_truthvalue, case WITH_RECORD_EXPR): New case. |
| (fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS. |
| (fold, case EQ_EXPR): Call optimize_minmax_comparison and add |
| cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and |
| widening conversions. |
| (fold, case LE_EXPR): Rework changing unsigned to signed comparisons |
| to look at size of mode, not precision of type; also add missing cases. |
| (optimize_bit_field_compare, decode_field_reference): Don't try to |
| optimize COMPONENT_REF of a PLACEHOLDER_EXPR. |
| |
| * dwarf2out.c (ctype.h): Include. |
| (dwarf2out_set_demangle_name_func): New function. |
| (size_of_line_info): Deleted. |
| (output_line_info): Compute size of line info table from difference |
| of labels. |
| (base_type_die, add_name_attribute): Call demangle function, if any. |
| (field_byte_offset): Use bits per word for variable length fields. |
| (gen_array_type_die): Add array name. |
| (gen_subprogram_die): Ignore DECL_INLINE if -fno-inline. |
| (dwarf2out_add_library_unit_info): New function. |
| |
| * explow.c (set_stack_check_libfunc): New function. |
| (stack_check_libfunc): New static variable. |
| (probe_stack_range): Allow front-end to set up a libfunc to call. |
| |
| * combine.c (simplify_comparison): When making comparison in wider |
| mode, check for having commuted an AND and a SUBREG. |
| (contains_muldiv): New function. |
| (try_combine): Call it when dividing a PARALLEL. |
| (simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart. |
| (simplify_comparison, case ASHIFTRT): Recognize sign-extension of |
| a PLUS. |
| (record_value_for_reg): If TEM is a binary operation with two CLOBBERs, |
| use one of the CLOBBERs instead. |
| (if_then_else_cond): If comparing against zero, just return thing |
| being compared. |
| |
| * optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x). |
| Don't generate shifts and subtract if have conditional arithmetic. |
| |
| * rtl.h (delete_barrier): New declaration. |
| * jump.c (jump_optimize): Set up to handle conditional call. |
| In conditional arithmetic case, handle CALL_INSN followed by a BARRIER. |
| (delete_barrier): New function. |
| |
| * rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode. |
| |
| * recog.c (nonmemory_operand): Accept ADDRESSOF. |
| |
| * tree.c (build_type_attribute_variant): Push to obstack of |
| ttype around type_hash_canon call. |
| |
| * expr.c (placeholder_list): Move decl to file scope. |
| (expand_expr): Don't force access to volatile just because its |
| address is taken. |
| If ignoring reference operations, just expand the operands. |
| (expand_expr, case COMPONENT_REF): Propagate |
| EXPAND_CONST_ADDRESS to recursive call when expanding inner. |
| Refine test for using bitfield operations vs pointer punning. |
| (expand_expr, case CONVERT_EXPR): If converting to |
| BLKmode UNION_TYPE from BLKmode, just return inner object. |
| Use proper mode in store_field call. |
| Properly set sizes of object to store and total size in store_field |
| call for convert to union. |
| (expand_expr, case ARRAY_REF): If OP0 is in a register, put it in |
| memory (like for ADDR_EXPR). Also, don't put constant in register if |
| we'll want it in memory. |
| (readonly_fields_p): New function. |
| (expand_expr, case INDIRECT_REF): Call it if LHS. |
| (expand_assignment): Handle a RESULT_DECL where |
| DECL_RTL is a PARALLEL. |
| (do_jump, case WITH_RECORD_EXPR): New case. |
| (get_inner_reference): Always go inside a CONVERT_EXPR |
| and NOP_EXPR if both modes are the same. |
| (store_field): Use bitfield operations if size of bitsize is not same |
| as size of RHS's type. |
| Check for bitpos not a multiple of alignment in BLKmode case. |
| Do block move in largest possible alignment. |
| (store_constructor): Set BITSIZE to -1 for variable size and properly |
| in case of array of BLKmode. |
| (expand_expr_unaligned): New function. |
| (do_compare_and_jump): Call it. |
| |
| * mips/iris5.h (SWITCHES_NEED_SPACES): New macro. |
| * collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES |
| does not include 'o'. |
| |
| * function.c (instantiate_virtual_regs_1, case SET): Handle case where |
| both SET_DEST and SET_SRC reference a virtual register. |
| (gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG. |
| |
| * integrate.c (expand_inline_function): Handle case of setting |
| virtual stack vars register (from built in setjmp); when parameter |
| lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early. |
| (subst_constant): Add new parm, MEMONLY. |
| (expand_inline_function, integrate_parm_decls): Pass new parm. |
| (integrate_decl_tree): Likewise. |
| (copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P. |
| (try_constants): Call subst_constants twice, with MEMONLY 0 and 1. |
| (copy_rtx_and_substitute, case SET): Add explicit calls to |
| copy_rtx_and_substitute for both sides. |
| |
| * stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for |
| constraints. |
| (pushcase{,_range}): Convert to NOMINAL_TYPE after checking for |
| within INDEX_TYPE, instead of before. |
| (fixup_gotos): Use f->target_rtl, not the next insn, |
| since latter may be from a later fixup. |
| (expand_value_return): Correctly convert VAL when promoting function |
| return; support RETURN_REG being a PARALLEL. |
| (expand_return): When checking for result in regs and having |
| cleanup, consider PARALLEL in DECL_RTL as being in regs. |
| |
| 1999-10-28 21:27 -0700 Zack Weinberg <zack@bitmover.com> |
| |
| * cpplib.h (struct cpp_buffer: fname, nominal_fname, |
| last_nominal_fname): Mark const. |
| (struct include_hash: name, nshort, control_macro): Mark |
| const. |
| (struct macrodef: symnam): Mark const. |
| (struct if_stack: fname): Mark const. |
| (is_idchar, is_idstart, is_hor_space, trigraph_table): Delete. |
| (IStable): New character-syntax array which encompasses all |
| the old is_foo arrays. |
| (is_idchar, is_numchar, is_idstart, is_numstart, is_hspace, |
| is_space): New macros for interrogating IStable. |
| (check_macro_name): Kill last argument. All callers changed. |
| |
| * cppinit.c (initialize_char_syntax): Delete. |
| (is_idchar, is_idstart, is_hor_space, is_space, |
| trigraph_table): Delete. |
| (IStable): New. Initialize with clever macros to avoid |
| information duplication. |
| (builtin_array): Table of builtins to get rid of explicit list |
| in initialize_builtins. |
| (initialize_builtins): Use builtins_array. |
| (cpp_start_read): Call init_IStable, and set IStable['$'] if |
| opts->dollars_in_ident. |
| |
| * cppexp.c: Change all refs to is_xyz[] arrays to use new |
| is_xyz() macros. |
| (cpp_parse_expr): Avoid 'format string is not constant' |
| warning. Use ISGRAPH to identify printable chars. |
| * cppfiles.c: Change all refs to is_xyz[] arrays to use new |
| is_xyz() macros. |
| (read_and_prescan): Map trigraphs to chars with open-coded |
| if-else-if-... sequence, not a lookup table. |
| * cpphash.c: Change all refs to is_xyz[] arrays to use new |
| is_xyz() macros. |
| * cpplib.c: Change all refs to is_xyz[] arrays to use new |
| is_xyz() macros. Kill SKIP_ALL_WHITE_SPACE (unused). |
| (check_macro_name): Remove ability to report an invalid |
| assertion name, which is never used. |
| (do_line): Constify a couple of char *'s. |
| * cppmain.c (main): Call cpp_cleanup before returning. |
| |
| Thu Oct 28 21:16:35 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * ggc.h (struct ggc_statistics): New type. |
| (ggc_get_size): New function. |
| (ggc_print_statistics): Likewise. |
| * ggc-common.c (ggc_stats): New variable. |
| (ggc_mark_rtx_children): Keep statistics. |
| (ggc_mark_tree_children): Likewise. |
| (ggc_print_statistics): New function. |
| * ggc-page.c (struct globals): Add bytes_mapped field. |
| (alloc_anon): Update it. |
| (release_pages): Likewise. |
| (ggc_get_size): New function. |
| (ggc_page_print_statistics): New function. |
| * ggc-simple.c (ggc_get_size): New function. |
| |
| Fri Oct 29 06:32:44 1999 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * flow.c (propagate_block): When the last reference to a label |
| before an ADDR_VEC is deleted because the reference is a dead |
| store, delete the ADDR_VEC. |
| |
| Thu Oct 28 12:28:50 1999 Richard Henderson <rth@cygnus.com> |
| |
| * resource.c (find_free_register): Don't use the frame pointer |
| if frame_pointer_needed. |
| |
| Thu Oct 28 10:02:00 1999 Jim Wilson <wilson@cygnus.com> |
| |
| * config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg. |
| (function_arg_pass_by_reference): Check for a NULL pointer in cum. |
| |
| * config/i960/i960.c (i960_va_start): New locals base, num. |
| Use INDIRECT_REF instead of ARRAY_REF on valist. |
| (i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist. |
| |
| Thu Oct 28 09:45:48 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * gcse.c (delete_null_pointer_checks): Fix typo in previous change. |
| |
| Thu Oct 28 03:37:50 1999 Peter Gerwinski <peter@gerwinski.de> |
| |
| * tree.def (PLACEHOLDER_EXPR): Update comments. |
| |
| Thu Oct 28 06:47:32 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (check_format_info): Avoid non-literal format string |
| warnings when `first_arg_num' is zero. |
| |
| Thu Oct 28 12:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s. |
| |
| Thu Oct 28 11:05:13 1999 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (casesi_insn): Add a clobber of the condition code |
| register. |
| |
| Mon Oct 18 21:16:06 1999 Fred Fish <fnf@be.com> |
| |
| * tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is |
| used by both cc1 and cc1plus. |
| |
| Thu Oct 28 10:00:48 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c: Initialize arm_structure_size_boundary to |
| DEFAULT_STRUCTURE_SIZE_BOUNDARY. |
| * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define |
| to the value 32 if it has not already been defined. |
| * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): |
| Override definition in arm.h with a value of 8. |
| |
| Thu Oct 28 03:12:02 1999 David Starner <dstarner98@aasaa.ofe.org> |
| |
| * c-pragma.c (push_alignment): Don't check the return value |
| of xmalloc. |
| |
| Thu Oct 28 03:08:38 1999 Matteo Frigo <athena@fftw.org> |
| |
| * sparc.h (ADJUST_COST): Fix thinko. |
| |
| Thu Oct 28 02:44:03 1999 Glen Nakamura <glen.nakamura@usa.net> |
| |
| * cccp.c (rescan): Fixed obp pointer handling around call to |
| check_expand subroutine. |
| |
| Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * gcse.c (delete_null_pointer_checks): Only record non-null info |
| for pseudos when examining stores. |
| |
| * arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add |
| splitters for these patterns. Use "#" for output templates. |
| (addsi3_carryin_shift): New pattern. |
| |
| Thu Oct 28 10:20:02 1999 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movsf): Don't convert a SUBREG |
| of the function return register into a plain REG until |
| after function inlining is done. |
| |
| Wed Oct 27 15:21:46 1999 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): If we did cross-jumping, and |
| the data will matter, rebuild the CFG. |
| * reg-stack.c (reg_to_stack): Only (re)build the CFG if |
| not optimizing. Don't run shorten_branches. |
| * toplev.c (rest_of_compilation): Run shorten_branches after |
| reg_to_stack. |
| |
| Wed Oct 27 12:33:40 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * rtl.h (note_stores): Add additional parameter. |
| * rtlanal.c (reg_set_p_1): Take additional parameter. |
| (reg_set_last_1): Likewise. |
| (reg_set_p): Adjust call to note_stores. |
| (reg_set_last): Likewise. |
| (note_stores): Pass data parameter to worker function. |
| * alias.c (record_set): Take additional parameter. |
| (init_alias_analysis): Pass it. |
| * caller-save.c (mark_set_regs): Take additional parameter. |
| (save_call_clobbered_regs): Pass NULL to note_stores. |
| * combine.c (set_nonzero_bits_and_sign_copies): Take additional |
| parameter. |
| (record_dead_and_set_regs_1): Likewise. |
| (reg_dead_at_p_1): Likewise. |
| (combine_instructions): Adjust calls to note_stores. |
| (try_combine): Likewise. |
| (record_dead_insn): Remove. |
| (record_dead_and_set_regs): Adjust calls to note_stores. |
| (reg_dead_at_p): Likewise. |
| * cse.c (invalidate_skipped_set): Take additional parameter. |
| (cse_check_loop_start): Likewise. |
| (cse_check_loop_start_value): Remove. |
| (cse_set_around_loop): Adjust calls to note_stores. |
| * flow.c (notice_stack_pointer_modification): Take additional |
| parameter. Remove duplicate declaration. |
| (record_volatile_insns): Adjust calls to note_stores. |
| * gcse.c (record_set_info): Take additional parameter. |
| (record_last_set_info): Likewise. |
| (invalidate_nonnull_info): Likewise. |
| (record_set_insn): Remove. |
| (compute_sets): Adjust calls to note_stores. |
| (last_set_insn): Remove. |
| (compute_hash_table): Adjust calls to note_stores. |
| (insert_insn_end_bb): Likewise. |
| (delete_null_pointer_checks): Likewise. |
| * global.c (mark_reg_store): Take additional parameter. |
| (mark_reg_clobber): Likewise. |
| (reg_becomes_live): Likewise. |
| (global_conflicts): Adjust calls to note_stores. |
| (build_insn_chain): Likewise. |
| * integrate.c (note_modified_parmregs): Take additional parameter. |
| (mark_stores): Likewise. Make it static. |
| (save_for_inline_nocopy): Adjust calls to note_stores. |
| (try_constants): Likewise. |
| * integrate.h (mark_stores): Remove declaration. |
| * jump.c (mark_modified_reg): Take additional parameter. |
| (thread_jumps): Adjust calls to note_stores. |
| * local-alloc.c (validate_equiv_mem_from_store): Take additional |
| parameter. |
| (no_equiv): Likewise. |
| (reg_is_set): Likewise. |
| (validate_equiv_mem): Adjust calls to note_stores. |
| (update_equiv_regs): Likewise. |
| (block_alloc): Likewise. |
| * loop.c (note_set_pseudo_multiple_uses_retval): Remove. |
| (note_addr_stored): Take additional parameter. |
| (note_set_pseudo_multiple_uses): Likewise. |
| (record_initial): Likewise. |
| (prescan_loop): Adjust calls to note_stores. |
| (strength_reduce): Likewise. |
| (check_dbra_loop): Likewise. |
| * regmove.c (flags_set_1): Take additional parameter. |
| (mark_flags_life_zones): Adjust calls to note_stores. |
| * reload1.c (mark_not_eliminable): Take additional parameter. |
| (forget_old_reloads_1): Likewise. |
| (reload_cse_invalidate_rtx): Likewise. |
| (reload_cse_check_clobber): Likewise. |
| (reload_combine_note_store): Likewise. |
| (move2add_note_store): Likewise. |
| (reload): Adjust calls to note_stores. |
| (reload_as_needed): Likewise. |
| (emit_reload_insns): Likewise. |
| (reload_cse_regs_1): Likewise. |
| (reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx. |
| (reload_combine): Adjust calls to note_stores. |
| * resource.c (update_live_status): Take additional parameter. |
| (mark_target_live_regs): Adjust calls to note_stores. |
| * stupid.c (find_clobbered_regs): Take additional parameter. |
| (stupid_life_analysis): Adjust calls to note_stores. |
| |
| Wed Oct 27 19:26:12 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete |
| definition. |
| |
| * config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete |
| definition. |
| |
| * config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms |
| of the variable arm_structure_size_boundary. |
| |
| Wed Oct 27 02:05:58 1999 Mark P. Mitchell <mark@codesourcery.com> |
| |
| * alias.c (init_alias_analysis): Allocate reg_known_value and |
| reg_known_equiv_p on the heap. Likewise for new_reg_base_value |
| and reg_seen. |
| (end_alias_analysis): Free reg_known_value and reg_known_equiv_p. |
| * cse.c (cse_main): Call end_alias_analysis. |
| * haifa-sched.c (schedule_insns): Likewise. |
| * local-alloc. (update_equiv_regs): Likewise. |
| * reload1.c (reload_cse_regs): Likewise. |
| |
| Wed Oct 27 01:49:17 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET. |
| * sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse |
| mapping from MASK_FPU. |
| |
| Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com> |
| |
| * sparc.md (call): Don't bound structure return size to 0xfff. |
| |
| Wed Oct 27 00:56:59 1999 Richard Henderson <rth@cygnus.com> |
| |
| * resource.c (mark_target_live_regs): Check that the target |
| insn wasn't created after compute_bb_for_insn. |
| |
| Tue Oct 26 23:15:03 1999 Mark Mitchell <mark@codesourcery.com> |
| |
| * ggc-page.c (poison_pages): Don't be overzealous. |
| |
| Tue Oct 26 23:29:18 1999 Jeffrey A Law (law@cygnus.com) |
| |
| * alias.c: Update comments for ADDRESS. |
| (nonlocal_reference_p): Look inside the ADDRESS to determine if |
| it is a local memory reference. |
| |
| * c-typeck.c (build_function_call): Check that the built-in |
| function is of class BUILT_IN_NORMAL before trying to recongize |
| it as BUILT_IN_ABS. |
| * calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA. |
| * stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE. |
| |
| Wed Oct 27 00:14:13 1999 Robert Lipe <robertlipe@usa.net> |
| |
| * gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead |
| of alloca. |
| (pre_gcse): Likewise. |
| (hoist_expr_reaches_here_p): Likewise. |
| (hoist_code): Likewise. |
| (pre_expr_reaches_here_p): Replace alloca with xcalloc. Move core |
| code to ... |
| (pre_expr_reaches_here_p_work): ... here. |
| (expr_reaches_here_p): Replace alloca with xcalloc. Move core |
| code to ... |
| (expr_reaches_here_p_work): ... here. |
| |
| Tue Oct 26 20:42:45 1999 Richard Henderson <rth@cygnus.com> |
| |
| * resource.c (find_basic_block): Delete. |
| (mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead. |
| (init_resource_info): Call compute_bb_for_insn. |
| |
| Tue Oct 26 20:21:02 1999 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (merge_blocks_move_predecessor_nojumps): Cope |
| with already adjacent blocks, but no fallthru. |
| (merge_blocks_move_successor_nojumps): Simplify. |
| (debug_flow_info): New. |
| |
| * toplev.c (rest_of_compilation): Open jump1 dump file before |
| jump and close after, as opposed to just using dump_rtl. |
| |
| Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload.h (earlyclobber_operand_p): Declare. |
| * reload.c (earlyclobber_operand_p): Don't declare. No longer static. |
| * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with |
| an earlyclobbered output conflict with RELOAD_INPUT reloads - handle |
| case where the RELOAD_OTHER reload is new. Use earlyclobber_operand_p. |
| |
| Tue Oct 26 18:23:38 1999 Jan Hubicka <hubicka@freesoft.cz> |
| Richard Henderson <rth@cygnus.com> |
| |
| * emit-rtl.c (emit_block_insn_before): New. |
| (emit_block_insn_after): New. |
| * basic-block.h: Declare them. |
| |
| * bitmap.h: Protect from multiple inclusion. |
| |
| * recog.c (scratch_operand): Handle VOIDmode correctly. |
| |
| * rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New. |
| |
| * builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack. |
| * function.c (assign_parms): Likewise. |
| * global.c (global_conflicts): Clarify STACK_REGS commentary. |
| |
| * reg-stack.c (max_uid): Remove. |
| (blocks, block_begin, block_end, block_drops_in): Remove. |
| (block_stack_in, block_out_reg_set, block_number): Remove. |
| (struct block_info_def, BLOCK_INFO): New. |
| (enum emit_where): New. |
| (current_block): New. |
| (BLOCK_NUM): Remove. |
| (mark_regs_pat, record_label_references): Remove. |
| (record_reg_life_pat, record_reg_life, find_blocks): Remove. |
| (nan): New. |
| (goto_block_pat, print_blocks, dump_stack_info): Remove. |
| (reg_to_stack): Simplified test for existence of fp code. Use |
| flow.c code. Call shorten_branches after cross-jump opt. |
| (check_asm_stack_operands): Renamed from record_asm_reg_life. |
| Return false if the asm doesn't use stack regs. Don't do life |
| analysis on the asm. |
| (emit_pop_insn): Replace function pointer arg `when' with |
| enum `where'. Update all callers. |
| (change_stack): Likewise. Update basic block end. |
| (emit_swap_insn): Use current_block->head to limit reverse search |
| for start of block. Use emit_block_insn_after. |
| (subst_stack_regs_pat): Handle USE and CLOBBER patterns. |
| (subst_asm_stack_regs): Use check_asm_stack_operands. Use direct |
| structure assignment instead of bcopy. |
| (print_stack): New. |
| (convert_regs_entry, convert_regs_exit): New. |
| (convert_regs_1, convert_regs_2): Split out from convert_regs. |
| Work on basic blocks and the CFG. |
| (convert_regs): Use them. |
| |
| * i386.c (output_fix_trunc): Remove code for DImode input operand |
| not at top-of-stack. |
| * i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with |
| appropriate mode. |
| (fix_truncdi_1): Allow any mode scratch. |
| |
| Tue Oct 26 13:30:35 1999 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.h (TARGET_MEM_FUNCTIONS): Define here. |
| * linux.h, netbsd.h, vms.h: Not here. |
| |
| 1999-10-26 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY, |
| ISA_HAS_FP4,ISA_HAS_CONDMOVE): New. |
| (GENERATE_BRANCHLIKELY,HAVE_SQRT_P, |
| CONDITIONAL_REGISTER_USEAGE): Use them. |
| * config/mips/mips.c (mips_move_1word,mips_move_2words, |
| gen_conditional_branch,override_options) : Use them. |
| * config/mips/mips.md : Use them. |
| |
| Tue Oct 26 13:09:23 1999 Richard Henderson <rth@cygnus.c
|