mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-28 11:57:28 +00:00
14470 lines
523 KiB
Groff
14470 lines
523 KiB
Groff
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. Loewis" <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.com>
|
||
|
||
* i386.md (zero_extendqihi2): Use SImode register name with andl.
|
||
|
||
Tue Oct 26 12:35:38 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* integrate.c (function_cannot_inline_p): Don't allow inlining
|
||
if setjmp is used.
|
||
|
||
Tue Oct 26 14:10:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-parse.in (cast_expr): Constify.
|
||
|
||
* cccp.c (special_symbol): Likewise.
|
||
|
||
* cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
|
||
|
||
* dwarf2out.c (base_type_die): Likewise.
|
||
|
||
* global.c (allocno_compare): Likewise.
|
||
|
||
* local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
|
||
|
||
* regclass.c (fix_register): Likewise.
|
||
|
||
* rtl.h (fix_register): Likewise.
|
||
|
||
* stupid.c (stupid_reg_compare): Likewise.
|
||
|
||
* toplev.c (decode_f_option): Likewise.
|
||
|
||
* tree.c (build_complex_type): Likewise.
|
||
|
||
Tue Oct 26 18:35:25 1999 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
|
||
|
||
Tue Oct 26 15:42:56 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads): Compute mode and nregs fields of all
|
||
reloads.
|
||
* reload1.c (calculate_needs_all_insns): Simplify a bit.
|
||
(calculate_needs): Use precomputed mode/nregs values.
|
||
(allocate_reload_reg): Likewise.
|
||
Break out two...
|
||
(failed_reload, set_reload_reg): ... new functions.
|
||
(choose_reload_regs_init): New function, mostly broken out from...
|
||
(choose_reload_regs): ... here. Lose all the save_xxx nonsense.
|
||
Also lose one #if 0 block.
|
||
|
||
Tue Oct 26 02:48:32 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET): Fix target name
|
||
substitution.
|
||
|
||
Tue Oct 26 01:27:32 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.h (BLOCK_TYPE_TAGS): Remove.
|
||
(BLOCK_END_NOTE): Likewise.
|
||
(BLOCK_LIVE_RANGE_FLAG): Likewise.
|
||
(BLOCK_LIVE_RANGE_START): Likewise.
|
||
(BLOCK_LIVE_RANGE_END): Likewise.
|
||
(tree_block): Remove live_range_flag, live_range_var_flag, and
|
||
type_tags. Remove end_note, live_range_start, and live_range_end.
|
||
(remember_end_note): Remove prototype.
|
||
* tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
|
||
* c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
|
||
remember_end_note.
|
||
* ggc-common.c (ggc_mark_tree_children): Don't mark
|
||
BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
|
||
* integrate.c (adjust_copied_decl_tree): Remove.
|
||
* print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
|
||
* stmt.c (last_block_end_note): Remove.
|
||
(init_stmt): Don't add a GC root for it.
|
||
(expand_fixup): Don't set it.
|
||
(remember_end_note): Remove.
|
||
(expand_end_bindings): Don't set last_block_end_note.
|
||
|
||
Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): Show
|
||
RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
|
||
reloads.
|
||
|
||
Mon Oct 25 23:54:45 1999 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* expmed.c (extract_bit_field): Allow for the case of non-integer
|
||
objects that are smaller than a word (like SFmode on a 64-bit
|
||
machine).
|
||
|
||
* loop.c (basic_induction_var): A non-integer variable which is
|
||
being set by a paradoxical subreg is probably not a biv.
|
||
|
||
1999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* prefix.c (translate_name) Check for empty prefix string.
|
||
|
||
Mon Oct 25 23:10:45 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* Makefile.in (CPP_CROSS_NAME): New variable.
|
||
(install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
|
||
xcpp.
|
||
(uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
|
||
names of the files to be uninstalled.
|
||
|
||
Mon Oct 25 23:03:09 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* collect2.c (IS_DIR_SEPARATOR): Define.
|
||
(prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
|
||
|
||
* som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
|
||
functions too.
|
||
|
||
* haifa-sched.c (add_dependence): Update the true dependency
|
||
cache the first time we add a true dependence to the LOG_LINKS chain.
|
||
|
||
Mon Oct 25 22:27:40 1999 Jim Kingdon <http://developer.redhat.com/>
|
||
|
||
* fold-const.c (fold): Fix comment.
|
||
|
||
Mon Oct 25 22:49:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* dbxout.c (lastfile, cwd, dbxout_type_method_1,
|
||
dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
|
||
dbxout_start_new_source_file, dbxout_source_file,
|
||
dbxout_source_line, dbxout_finish, dbxout_type_fields,
|
||
dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
|
||
Constify a char*.
|
||
(dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
|
||
(dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
|
||
(dbxout_block): Initialize variable `blocknum'.
|
||
|
||
* dbxout.h (dbxout_init, dbxout_finish,
|
||
dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
|
||
dbxout_args, dbxout_source_line): Constify a char*.
|
||
|
||
* dwarfout.c (dwarf_tag_name, dwarf_attr_name,
|
||
dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
|
||
dwarf_fund_type_name, name_attribute, stmt_list_attribute,
|
||
low_pc_attribute, high_pc_attribute, body_begin_attribute,
|
||
body_end_attribute, comp_dir_attribute, sf_names_attribute,
|
||
src_info_attribute, mac_info_attribute, producer_attribute,
|
||
lookup_filename, generate_macinfo_entry, fundamental_type_code,
|
||
dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
|
||
dwarfout_undef): Constify a char*.
|
||
(add_incomplete_type, retry_incomplete_types): Add prototypes.
|
||
|
||
* dwarfout.h (dwarfout_define, dwarfout_undef,
|
||
dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
|
||
|
||
1999-10-25 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
|
||
(MULTILIB_ISA_DEFAULT): New.
|
||
(MULTILIB_DEFAULTS): Use it.
|
||
* config/mips/mips.c (): Remove the now unnecessary definition
|
||
of MIPS_ISA_DEFAULT.
|
||
* config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
|
||
unnecessary definition.
|
||
|
||
Mon Oct 25 22:08:35 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.md (pic_load_addr): Add constraints to operand 1.
|
||
|
||
1999-10-25 Bruce Korb <autogen@linuxbox.com>
|
||
|
||
* fixinc/genfixes: Provide a means for specifying -D options to
|
||
AutoGen
|
||
|
||
Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* arm.c (arm_override_options): Correct initialization of
|
||
arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
|
||
arm_is_strong, and arm_is_6_or_7.
|
||
|
||
* loop.c (note_set_pseudo_multiple_uses_retval): New variable.
|
||
(note_set_pseudo_multiple_uses): New function.
|
||
(check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
|
||
if a pseudo set in the loop exit is used elsewhere.
|
||
|
||
Sun Oct 24 20:52:40 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
|
||
|
||
Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
|
||
a single load-address pattern.
|
||
|
||
Sun Oct 24 19:33:24 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* haifa-sched.c (schedule_insns): Don't assign LUIDs differently
|
||
depending on whether or not line-number notes are present.
|
||
|
||
Sun Oct 24 20:29:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cccp.c (progname, file_buf, default_include, include_file,
|
||
macrodef, definition, hashval, wchar_type, user_label_prefix,
|
||
directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
|
||
expand_to_temp_buffer, is_system_include, base_name,
|
||
absolute_filename, read_name_map, open_include_file,
|
||
record_control_macro, check_precompiled, check_preconditions,
|
||
pcfinclude, pass_thru_directive, create_definition,
|
||
check_macro_name, comp_def_part, collect_expansion,
|
||
check_assertion, read_token_list, assertion_install,
|
||
assertion_lookup, eval_if_expression, conditional_skip,
|
||
validate_else, skip_quoted_string, quote_string, macarg1,
|
||
error_from_errno, install, lookup, hashf, dump_defn_1,
|
||
perror_with_name, pfatal_with_name, main, trigraph_pcp,
|
||
check_white_space, rescan, handle_directive, monthnames,
|
||
special_symbol, do_include, remap_include_file, write_output,
|
||
arglist, do_assert, do_unassert, do_line, do_error, do_once,
|
||
do_ident, do_sccs, do_xifdef, skip_if_group,
|
||
output_line_directive, macroexpand, macarg, change_newlines,
|
||
initialize_builtins, make_definition): Constify a char*.
|
||
|
||
* pcp.h (stringdef): Likewise.
|
||
|
||
Sun Oct 24 13:29:28 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* unroll.c (copy_loop_body): Examine SET_DEST of single_set
|
||
not of pattern.
|
||
|
||
Sun Oct 24 13:14:20 1999 Graham <grahams@rcp.co.uk>
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
* alias.c: Include ggc.h.
|
||
(reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
|
||
(record_set): Verify enough room in reg_base_value.
|
||
(init_alias_analysis): Allocate reg_base_value with xcalloc.
|
||
Register it as a GC root.
|
||
(end_alias_analysis): Free reg_base_value. Remove it as a GC root.
|
||
* Makefile.in (alias.o): Depend on ggc.h.
|
||
|
||
* unroll.c (unroll_loop): Verify the insn before a barrier
|
||
is a JUMP_INSN before checking JUMP_LABEL.
|
||
|
||
Sun Oct 24 15:46:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
|
||
* mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
|
||
* mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
|
||
* mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
|
||
* mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
|
||
* mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
|
||
|
||
Sun Oct 24 15:35:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* output.h (ctors_section, dtors_section, bss_section): Prototype.
|
||
|
||
* alpha/alpha-interix.h (text_section): Delete prototype.
|
||
* alpha/elf.h (text_section): Likewise.
|
||
* arm/linux-elf.h (text_section): Likewise.
|
||
* arm/linux-telf.h (text_section): Likewise.
|
||
* c4x/c4x.h (text_section): Likewise.
|
||
* dsp16xx/dsp16xx.h (bss_section): Likewise.
|
||
* elfos.h (text_section): Likewise.
|
||
* i386/aix386ng.h (text_section): Likewise.
|
||
* i386/i386-interix.h (text_section): Likewise.
|
||
* i386/sco5.h (text_section): Likewise.
|
||
* i386/svr3gas.h (text_section): Likewise.
|
||
* nextstep.h (text_section): Likewise.
|
||
* psos.h (text_section): Likewise.
|
||
* ptx4.h (text_section): Likewise.
|
||
* svr3.h (text_section): Likewise.
|
||
* svr4.h (text_section, ctors_section, dtors_section): Likewise.
|
||
|
||
Sun Oct 24 15:20:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* final.c (peephole): Delete prototype.
|
||
|
||
* gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
|
||
(pre_insert_copies): Remove unused variable `bb'.
|
||
|
||
* genrecog.c (debug_decision_0, debug_decision_list, main): Add
|
||
prototypes.
|
||
|
||
* output.h (peephole): Add prototype.
|
||
|
||
Sun Oct 24 11:35:30 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
|
||
-O0.
|
||
|
||
Sat Oct 23 21:13:00 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
|
||
for inlined declarations.
|
||
|
||
Fri Oct 22 18:05:43 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* arm.c (logical_binary_operator): New fucntion.
|
||
* arm.h (logical_binary_operator): Declare it.
|
||
(PREDICATE_CODES): Handle logical_binary_operator.
|
||
* arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
|
||
output constraints. Add appropriate splitters.
|
||
(anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
|
||
(iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
|
||
(xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
|
||
|
||
Fri Oct 22 23:46:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* genoutput.c (struct operand_data): New elt eliminable.
|
||
(output_operand_data): Write it.
|
||
(scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
|
||
(compare_operands): Take it into account.
|
||
* recog.h (struct insn_operand_data): New elt eliminable.
|
||
* reload1.c (check_eliminable_occurrences, elimination_effects): New
|
||
functions.
|
||
(old_asm_operands_vec, new_asm_operands_vec): Delete.
|
||
(eliminate_regs): Move code that detects changes to elimination
|
||
target regs into new function elimination_effects.
|
||
Delete one #if 0 block.
|
||
Abort for USE, CLOBBER, ASM_OPERANDS and SET.
|
||
(eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
|
||
ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
|
||
Only call eliminate_regs for real operands of the insn, not for parts
|
||
of its structure or parts matched by things like match_operator.
|
||
Use elimination_effects and check_eliminable_occurrences. Use
|
||
copy_insn to duplicate the pattern when not in the final pass.
|
||
|
||
Fri Oct 22 09:03:44 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
|
||
and fld.
|
||
|
||
1999-10-22 Bruce Korb <autogen@linuxbox.com>
|
||
|
||
* fixinc/README: document the "mach" machine matching test
|
||
* fixinc/fixfixes.c: Implement the #else/#endif label fix
|
||
* fixinc/fixtests.c: Implement the #else/#endif label test
|
||
* fixinc/inclhack.def: utilize these tests and fixes
|
||
* fixinc/inclhack.sh: regen
|
||
* fixinc/fixincl.x: regen
|
||
* fixinc/fixincl.sh: regen
|
||
|
||
Thu Oct 21 20:37:19 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h. Also
|
||
depend on ggc.h.
|
||
|
||
Thu Oct 21 20:30:19 1999 Matthias Klose <doko@debian.org>
|
||
|
||
* gcc.1: Document exit codes.
|
||
|
||
Thu Oct 21 12:49:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* calls.c: Include tm_p.h later, so everything we need is defined.
|
||
* expr.c: Likewise.
|
||
* function.c: Likewise.
|
||
|
||
* except.c: Include tm_p.h.
|
||
|
||
* sparc.c: Likewise.
|
||
(dwarf2out_cfi_label): Don't prototype.
|
||
(check_return_regs, epilogue_renumber,
|
||
ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
|
||
ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
|
||
ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
|
||
ultra_schedule_insn): Add static prototype.
|
||
(data_segment_operand, text_segment_operand): Call itself with the
|
||
proper number of arguments.
|
||
(sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
|
||
|
||
* sparc.h: Move all declarations to sparc-protos.h.
|
||
(SELECT_RTX_SECTION): Pass a missing MODE argument to
|
||
symbolic_operand.
|
||
|
||
* sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
|
||
|
||
* config/svr4.h (text_section, ctors_section, dtors_section): Add
|
||
Prototypes.
|
||
(ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
|
||
ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
|
||
ASM_OUTPUT_ASCII): Constify a char*.
|
||
|
||
* sparc-protos.h: New file for sparc prototypes.
|
||
|
||
Thu Oct 21 12:23:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* function.c (record_insns, contains): Always declare and define.
|
||
(record_insns): Mark with ATTRIBUTE_UNUSED.
|
||
|
||
Thu Oct 21 13:03:49 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
|
||
|
||
* config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
|
||
to .section when outputting a .bss section to deal with multiple
|
||
.bss input sections (as happens with -fdata-sections)
|
||
Also output %progbits, not @progbits so the assembler doesn't treat as
|
||
a comment.
|
||
* config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
|
||
|
||
* config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
|
||
thumb parts even when building with non-thumb CPUs, by forcing
|
||
thumb mode.
|
||
|
||
Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* sparc.md (movsf_const_intreg): If splitting, length must be > 1.
|
||
(movdf_const_intreg_sp64): Similarly.
|
||
|
||
* local-alloc.c (update_equiv_regs): Check the correct insn
|
||
for pre-existing REG_EQUIV notes.
|
||
|
||
Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* cse.c (cse_end_of_basic_block): Don't return the end of a basic
|
||
block reached by a branch if we're not going to actually process
|
||
this block.
|
||
|
||
Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
|
||
a local extern function declaration.
|
||
|
||
Wed Oct 20 13:56:01 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.c (ix86_expand_prologue): Properly wrap USE around
|
||
reg for CALL_INSN_FUNCTION_USAGE.
|
||
|
||
Thu Oct 14 18:51:37 1999 Andrew Haley <aph@cygnus.com>
|
||
|
||
* config/mips/mips.md (movdf_internal1a): Allow floating-point
|
||
move between GP_REGs.
|
||
|
||
Wed Oct 20 15:36:11 1999 Andrew Haley <aph@cygnus.com>
|
||
|
||
* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
|
||
the mode size when finding out if an offset is legal.
|
||
|
||
Wed Oct 20 06:26:58 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* basic-block.h (PROP_*): Move constants from ...
|
||
* flow.c: ... here.
|
||
(compute_bb_for_insn): Free the array before reallocating.
|
||
(update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
|
||
(allocate_reg_life_data): Reset all reg variables collected by
|
||
propagate_block.
|
||
(get_block_head_tail): Don't convert from bb to block.
|
||
(get_bb_head_tail): New. Update all callers of get_block_head_tail.
|
||
(find_insn_reg_weight): Take block not bb.
|
||
(schedule_block): Don't set block num for moved insns.
|
||
(schedule_region): Don't update_life_info or find_insn_reg_weight.
|
||
(schedule_insns): Do it here instead.
|
||
* combine.c (combine_instructions): Invoke compute_bb_for_insn
|
||
before update_life_info.
|
||
* recog.c (split_all_insns, peephole2_optimize): Update for
|
||
new arg to update_life_info.
|
||
* rtlanal.c (remove_note): Cope with NULL note.
|
||
* toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
|
||
if we did sched1.
|
||
|
||
Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* jump.c (jump_optimize_1): More accurately detect casesi insns.
|
||
|
||
* flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
|
||
block records so that merge_blocks_nomove will clean up correctly.
|
||
(split_edge): Handle casesi insns.
|
||
|
||
* gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
|
||
|
||
Tue Oct 19 23:43:50 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (call, call_value): Do not emit a blockage after restoring
|
||
the PIC register.
|
||
|
||
Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-typeck.c (c_expand_asm_operands): Fix typo.
|
||
|
||
Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* arm.c (fpu_rhs_operand): Verify modes.
|
||
(fpu_add_operand): Likewise.
|
||
(di_operand): Likewise.
|
||
(soft_df_operand): Likewise.
|
||
|
||
Tue Oct 19 15:26:11 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (arm_return_in_memory): APCS rules state that the elements
|
||
of a structure returned in a register must be 'integer-like'.
|
||
|
||
1999-10-19 Bruce Korb <autogen@linuxbox.com>
|
||
|
||
* fixinc/Makefile.in: Change the generation rules to run `genfixes'
|
||
in the source tree when the generated targets are out of date
|
||
* fixinc/genfixes: Alter it to run individual fixes for make.
|
||
* fixinc/README: rewrite
|
||
* fixinc/inclhack.def: moved initial comments to README
|
||
|
||
Tue Oct 19 14:01:34 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c (main): Do not generate an error message if an
|
||
unrecognized command line switch is recognizable by another
|
||
language. If extra_warnings are enabled, then generate a
|
||
warning message instead.
|
||
|
||
Tue Oct 19 11:41:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
|
||
(insert_pack_attributes): Delete prototype.
|
||
|
||
* c-pragma.c (default_alignment): New static variable.
|
||
(push_alignment): Initialize to current effective alignment.
|
||
(pop_alignment): Use to set new alignment.
|
||
(insert_pack_attributes): Delete function.
|
||
(handle_pragma_token): Set default_alignment as well each time
|
||
a #pragma pack(<n>) is encountered.
|
||
|
||
Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reg-stack.c (stack_result): Aggregates are not returned in
|
||
stack registers.
|
||
|
||
Tue Oct 19 01:26:48 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
|
||
|
||
* fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
|
||
|
||
Mon Oct 18 15:19:41 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* basic-block.h (set_block_num): Declare.
|
||
* flow.c (update_life_info): Don't call compute_bb_for_insn
|
||
or free_basic_block_vars.
|
||
* haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
|
||
(insn_orig_block): Remove.
|
||
(INSN_BLOCK): Remove. Update all callers to use BLOCK_NUM.
|
||
(schedule_block): Keep BLOCK_NUM up-to-date.
|
||
(schedule_insns): Use compute_bb_for_insn.
|
||
* recog.c (split_all_insns): Likewise.
|
||
(peephole2_optimize): Likewise.
|
||
|
||
Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
|
||
if the pic register is used.
|
||
|
||
Mon Oct 18 02:38:46 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
|
||
(finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
|
||
if that tests TREE_PERMANENT.
|
||
|
||
Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (invalidate_for_call): Do not remove memory references from
|
||
the table here. It's handled elsewhere.
|
||
|
||
* haifa-sched.c (add_dependence): Protect references to the
|
||
true dependency cache with #ifdef INSN_SCHEDULING.
|
||
(remove_dependence): Similarly.
|
||
|
||
* mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
|
||
to the cfg code that this is a return instruction.
|
||
* mn10300.md (return_internal): Similarly.
|
||
|
||
* combine.c (get_last_value): If the last set of a register
|
||
is after subst_low_cuid, then we can not use it to determine
|
||
the register's last value.
|
||
|
||
Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in: Back out previous change.
|
||
|
||
Sun Oct 17 15:22:50 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
|
||
|
||
* haifa-sched.c (add_dependence): Only check/update the cache
|
||
if it exists.
|
||
(remove_dependence): Likewise.
|
||
(schedule_insns): Only create the true_dependency_cache if the
|
||
average number of instructions in a basic block is very large.
|
||
|
||
Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (ggc-common.o): Depend on genrtl.h.
|
||
(ggc-simple.o): Likewise.
|
||
(ggc-page.o): Likewise.
|
||
|
||
Sun Oct 17 02:09:50 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
|
||
Prototype for exported functions.
|
||
(pre_lcm, pre_rev_lcm): Remove prototypes.
|
||
* gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
|
||
(compute_available): Move to lcm.c, and change parameter order.
|
||
(one_classic_gcse_pass): Call compute_ae_kill with parameters.
|
||
(pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
|
||
(gcse_main): No longer call compute_preds_succs. Rebuild the
|
||
set table after reach pre pass.
|
||
(pre_insert_map, pre_delete_map, edge_list): New.
|
||
(alloc_pre_mem): Allocate edge vectors.
|
||
(free_pre_mem): Delete edge vectors.
|
||
(compute_pre_data): Call new edge based lcm routines.
|
||
(process_insert_insn): New function.
|
||
(insert_insn_end_bb): Use it.
|
||
(pre_edge_insert): New function.
|
||
(pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
|
||
needed.
|
||
(pre_insert_copies): Revamp using new edge based lcm outputs.
|
||
(pre_delete): Likewise.
|
||
(one_pre_gcse_pass): Insert & remove fake edges to the exit
|
||
block.
|
||
(compute_code_hoist_vbeinout): New new edge based routines.
|
||
* lcm.c: Remove all the old LCM functions. Replace with new ones
|
||
that work with the new cfg datastructures and work with edges
|
||
instead of blocks.
|
||
|
||
Sun Oct 17 00:44:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload.h (struct reload): Add new fields "mode" and "nregs".
|
||
* reload1.c: Change all occurrences of reload_mode and reload_nregs
|
||
to reference the "mode" and "nregs" field within struct reload.
|
||
|
||
Sat Oct 16 21:50:28 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (true_dependency_cache): New.
|
||
(add_dependence): Use the true dependency cache to avoid expensive
|
||
walks down the LOG_LINKS dependency list. Add entries to the
|
||
cache as necessary.
|
||
(remove_dependence): Remove entries from the true dependency cache
|
||
as needed.
|
||
(schedule_insns): Allocate and initialize and free the true
|
||
dependency cache.
|
||
|
||
* haifa-sched.c (schedule_insns): Do not remove inter-block
|
||
dependencies anymore.
|
||
|
||
Sat Oct 16 11:19:52 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
|
||
* i386/t-winnt: Likewise.
|
||
|
||
Sat Oct 16 11:11:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
|
||
|
||
1999-10-16 Manfred Hollstein <mhollstein@cygnus.com>
|
||
|
||
* Makefile.in (LANGUAGES): Omit "proto".
|
||
(clean): Remove stale comment about removing unprotoize.c.
|
||
|
||
Sat Oct 16 11:29:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* protoize.c (safe_read, safe_write): Avoid the gcc extension of
|
||
using arithmetic on void pointers.
|
||
|
||
Sat Oct 16 02:48:22 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (compute_block_forward_dependencies): Only check
|
||
for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
|
||
|
||
Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
|
||
(expr_equiv_p): Reject memories with different alias sets.
|
||
|
||
Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
|
||
|
||
* flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
|
||
* toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
|
||
(f_options): Add "bounded-pointers" and "bounds-check" entries.
|
||
* c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
|
||
(lang_init): Set default for flag_bounds_check if still "unspecified".
|
||
|
||
Sat Oct 16 13:42:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (HF mode patterns): Add missing modes.
|
||
|
||
Sat Oct 16 13:37:46 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (movstrqi_small): Utilize parallel move
|
||
instructions.
|
||
|
||
Sat Oct 16 13:26:47 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (*db_noclobber,
|
||
*decrement_and_branch_until_zero_noclobber): New patterns and
|
||
associated splitters.
|
||
|
||
Sat Oct 16 13:13:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (parallel instruction patterns): Rework
|
||
constraints to keep reload happy.
|
||
|
||
Sat Oct 16 13:03:16 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
|
||
*one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
|
||
*andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
|
||
Add new patterns and associated post-reload splitters.
|
||
|
||
Sat Oct 16 12:42:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
|
||
|
||
Sat Oct 16 12:34:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
|
||
if appropriate.
|
||
* config/c4x/c4x.md (rpts_top): New pattern and splitter.
|
||
|
||
Sat Oct 16 12:26:30 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (src_operand): Check SYMBOL_REF and LABEL_REF
|
||
memory mode.
|
||
|
||
Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (move_operand): Rely on memory_address_p to determine the
|
||
validity of non-indexed memory addresses.
|
||
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
|
||
operand in DFmode and SFmode when generating PA2.0 code.
|
||
|
||
Fri Oct 15 14:25:19 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
|
||
|
||
Fri Oct 15 13:48:45 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* mips.c (function_prologue): Fix argument types.
|
||
* mips.md (casesi): Use emit_jump_insn for casesi_internal.
|
||
(casesi_internal): Write to the scratch register.
|
||
|
||
1999-10-15 11:16 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* cppexp.c (cpp_parse_escape): Make static. Change second arg
|
||
to U_CHAR **.
|
||
(parse_charconst): Delete unnecessary cast when calling
|
||
cpp_parse_escape.
|
||
(cpplib.h): Kill prototype of cpp_parse_escape.
|
||
|
||
Fri Oct 15 11:02:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
|
||
* unroll.c (unroll_loop): Cast return value of alloca.
|
||
* i370/i370.c: Include function.h and toplev.h.
|
||
(i370_label_scan): Remove c++ commented abort.
|
||
* i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
|
||
(ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
|
||
* i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
|
||
* i370/xm-mvs.h, i370/xm-oe.h: Likewise.
|
||
|
||
Fri Oct 15 03:01:01 1999 Loren Rittle <ljrittle@acm.org>
|
||
|
||
* config/t-freebsd: Do not override USER_H.
|
||
* ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
|
||
|
||
Fri Oct 15 02:37:28 1999 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
|
||
Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* c-parse.in (component_decl): Support anonymous struct/union.
|
||
(%expect): Update.
|
||
* c-parse.y: Regenerate.
|
||
* c-parse.c: Likewise.
|
||
* objc/objc-parse.y: Likewise.
|
||
* objc/objc-parse.c: Likewise.
|
||
* c-decl.c (finish_struct): Don't sort the fields.
|
||
(field_decl_cmp): Delete unused function.
|
||
|
||
Fri Oct 15 01:20:52 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.md (movsf_const_intreg): Revert last constraint change.
|
||
(movdf_const_intreg_sp32): Likewise.
|
||
|
||
Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
|
||
|
||
* cse.c: Include hashtab.h instead of splay-tree.h
|
||
(struct cse_reg_info): No longer use variant union. Add new
|
||
field "regno". All references changed to avoid union.
|
||
(cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
|
||
(free_cse_reg_info): Remove.
|
||
(hash_cse_reg_info, cse_reg_info_equal_p): New functions.
|
||
(get_cse_reg_info): Revamp to use expandable hash tables instead
|
||
of splay trees. Initialize new fields in cse_reg_info structure.
|
||
(new_basic_block): Similarly.
|
||
|
||
Thu Oct 14 23:51:56 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (message_with_line): Prototype.
|
||
(validate_pattern): Pass along the set for the dest, not a flag.
|
||
Fix non-lvalue message. Don't warn for VOIDmode SET_DEST of CALL.
|
||
Check for PC/CC0 as sources.
|
||
(nodes_identical): Check for children position match before
|
||
allowing the combination.
|
||
|
||
* rtl.c (read_rtx): Track line number across \\\n.
|
||
|
||
Thu Oct 14 23:50:25 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* mips.h (SPECIAL_MODE_PREDICATES): New.
|
||
* mips.md (*) Use nonimmediate_operand not general_operand for outputs.
|
||
(movdi+1, movsi+1): Add output reload constraint.
|
||
(casesi_internal): Likewise. Fix commentary.
|
||
(return_internal): Use pmode_register_operand.
|
||
|
||
Thu Oct 14 23:19:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* 1750a.md (movstrqi): Add missing output reload constraint.
|
||
(call_value): Likewise.
|
||
* a29k.md (cpxxx patterns): Add missing match_operator mode.
|
||
(jmpfdec): Add missing inout reload constraint.
|
||
* elxsi.md (addsi patterns): Add missing output reload constraint.
|
||
(move from sp): Use @ alternates.
|
||
(call_value): No constraint on output.
|
||
* fr30.md (movsi_pop): Add missing output reload constraint.
|
||
(movsf_constant_store): Likewise.
|
||
(splits): Remove constraints.
|
||
(subsi3): Add missing mode.
|
||
* i370.md (cmpstrsi+1): Add missing output reload constraint.
|
||
(call_value): Likewise.
|
||
* i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
|
||
* m32r.h (PREDICATE_CODES): Add seth_add3_operand.
|
||
* m32r.md (movsicc_internal): Add output reload constraint.
|
||
(movstrsi_internal): Add inout reload constraints.
|
||
* m88k.h (reg_names): Don't declare.
|
||
(SPECIAL_MODE_PREDICATES): New.
|
||
* m88k.md (*): Use register_operand not reg_or_0_operand
|
||
on destinations.
|
||
* mn10200.h (PREDICATE_CODES): New.
|
||
* ns32k.md (ffs pattern): Add output reload constraint.
|
||
* pdp11.md (sob pattern): Add inout reload constraint.
|
||
* sh.md (splits): Remove constraints.
|
||
(indirect_jump_scratch, fpu_switch): Add output reload constraint.
|
||
* v850.md (pattern_is_ok_for_epilogue): Likewise.
|
||
* vax.md (jgequ pattern): Add inout reload constraint.
|
||
|
||
Fri Oct 15 00:05:00 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (djgpp): Revert previous patch.
|
||
* configure: Rebuit.
|
||
* config/i386/djgpp.h: Revert previous patch.
|
||
|
||
Fri Oct 15 00:00:24 1999 Loren J. Rittle <ljrittle@acm.org>
|
||
|
||
* fixinc/inclhack.def: Restore patch lost during last merge of
|
||
"no_bogosity" branch.
|
||
* fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
|
||
|
||
Thu Oct 14 23:57:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* fixincludes: Add a HPUX 11 fix for inttypes.h.
|
||
* fixinc/inclhack.def: Same.
|
||
* fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
|
||
|
||
Thu Oct 14 22:51:55 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
|
||
as the base of a PLUS.
|
||
|
||
Fri Oct 15 18:36:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md: Define mode for remaining unspec operators.
|
||
* config/c4x/c4x.c (dst_operand): Use nonimmediate_operand.
|
||
|
||
Thu Oct 14 22:14:23 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* pa.md (post_stw+1): Use pmode_register_operand.
|
||
(dcacheflush, icacheflush): Likewise.
|
||
|
||
* i386.md (movstricthi_1): Allow r/r.
|
||
|
||
Thu Oct 14 19:44:08 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* fold-const.c (fold): Convert (or (not arg0) (not arg1))
|
||
to (not (and (arg0) (arg1))). Similary for and.
|
||
|
||
* fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
|
||
fallthrough to associate code.
|
||
Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
|
||
bits in common.
|
||
|
||
* combine.c (simplify_logical): Convert XOR to IOR if operands have
|
||
no bits in common; remove XOR to ROTATE conversion.
|
||
|
||
Fri Oct 15 17:40:11 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
|
||
|
||
Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (dst_operand): New.
|
||
(PREDICATE_CODES): Update.
|
||
* config/c4x/c4x.h (dst_operand): Declare it.
|
||
* config/c4x/c4x.md: Define mode for each unspec usage.
|
||
(move patterns): Use dst_operand predicate instead of src_operand.
|
||
(movqi_update, movqf_update): Delete.
|
||
|
||
Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* recog.c (pmode_register_operand): New.
|
||
* recog.h: Declare it.
|
||
* genrecog.c (pred_codes): Likewise.
|
||
(special_mode_pred_table): Likewise.
|
||
(validate_pattern): Don't warn no mode for address_operand.
|
||
|
||
* print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
|
||
if the operand is not insn-like.
|
||
|
||
Thu Oct 14 19:38:42 1999 Jeffrey A Law (law@cygnus.com)
|
||
Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
|
||
|
||
* fold-const.c (fold): Handle more simplifications allowed by IEEE.
|
||
|
||
Thu Oct 14 17:30:14 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.md (*): Use {nonimmediate,register}_operand as appropriate
|
||
instead of general_operand in a SET_DEST. Use const_double_operand
|
||
instead of an explicit test against CONST_DOUBLE.
|
||
(movsf_const_lo): Add missing register mode.
|
||
(goto_handler_and_restore): Add auxiliary test for Pmode.
|
||
(flush): Adjust to use address_operand.
|
||
(return_sf_no_fpu): Add missing output constraint.
|
||
|
||
Thu Oct 14 17:21:26 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
|
||
for call return value.
|
||
(call_value_indirect_aix64, call_value_indirect_nt): Likewise.
|
||
|
||
Thu Oct 14 13:54:25 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (main): Only warn about options for other languages.
|
||
* collect2.c (main): Pass -w to sub-gcc.
|
||
|
||
Thu Oct 14 16:27:50 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (propagate_block): Add call-clobbered registers to
|
||
significant too.
|
||
|
||
* flow.c (propagate_block): Use free_EXPR_LIST_list instead of
|
||
zapping mem_set_list.
|
||
(invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
|
||
(mark_set_1, mark_used_regs): Likewise.
|
||
|
||
Thu Oct 14 10:51:49 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m68k.md (zero_extendsidi2): Add missing output reload constraint.
|
||
|
||
Wed Oct 13 00:09:18 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
|
||
-Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
|
||
options. Also add a new item "C-only Warning Options" to the
|
||
option summary.
|
||
|
||
1999-10-14 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
|
||
from multiple calls.
|
||
|
||
Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.md (call value patterns): Move to the end of the file.
|
||
(prologue_set_got, prologue_get_pc): Use register_operand for op 0.
|
||
|
||
1999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* configure.in (djgpp configuration): Define extra_objects..
|
||
* configure: Rebuilt.
|
||
* config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
|
||
(DTORS_SECTION_ASM_OP): Define.
|
||
(INIT_SECTION_ASM_OP): Define.
|
||
(FINI_SECTION_ASM_OP): Define.
|
||
(DATA_SECTION_ASM_OP): Define.
|
||
(TEXT_SECTION_ASM_OP): Define.
|
||
(EH_FRAME_SECTION_ASM_OP): Define.
|
||
(LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
|
||
(STARTFILE_SPEC): Add crtbegin.o.
|
||
(ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
|
||
to here from LINK_COMMAND_SPEC.
|
||
(DO_GLOBAL_CTORS_BODY): Define.
|
||
(CRTSTUFF_USE_FINI_SECTION): Define
|
||
(HAS_INIT_SECTION): Delete.
|
||
|
||
Thu Oct 14 05:08:14 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* Makefile.in (all.cross): Depend on xcpp$(exeext).
|
||
|
||
Thu Oct 14 04:00:40 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* pa.h (PREDICATE_CODES): New.
|
||
|
||
* genrecog.c (validate_pattern): Condense the destination
|
||
non-lvalue message.
|
||
|
||
Thu Oct 14 03:23:08 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (call-1): Supply missing mode for operator.
|
||
(*): Add missing output reload constraints. Remove constraints
|
||
from define_splits.
|
||
|
||
* i386.h (SPECIAL_MODE_PREDICATES): New.
|
||
* i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
|
||
(movqi_1, movdi_1, movdi_2, some splits): Likewise.
|
||
(addsi_lea_3): Add missing mode for op 3.
|
||
(prologue_set_got, prologue_get_pc): Add missing modes.
|
||
(*) Add missing output reload constraints.
|
||
|
||
Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
|
||
|
||
* stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
|
||
check for member bit-size overflow and use var_size if it occurs.
|
||
(layout_record): Use bitsize_int() to define the type size in bits.
|
||
Likewise for computation and assignment to DECL_FIELD_BITPOS.
|
||
(layout_decl): Likewise when assigning to DECL_SIZE.
|
||
|
||
Thu Oct 14 02:57:05 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (validate_pattern): Typo last change. Verify
|
||
that output operands have output reloads.
|
||
|
||
Thu Oct 14 01:49:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (special_mode_pred_table): New.
|
||
(NUM_SPECIAL_MODE_PREDS): New.
|
||
(find_operand): New.
|
||
(validate_pattern): New argument `insn'. Warn for assignment to
|
||
any predicate accepting non-lvalues. Conditionally warn for
|
||
match_operand without a mode. Try much harder to match source
|
||
and destination modes on a set.
|
||
* tm.texi (SPECIAL_MODE_PREDICATES): Document.
|
||
|
||
Thu Oct 14 02:54:13 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
|
||
|
||
Thu Oct 14 02:18:19 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* combine.c (simplify_logical): Recognize xor pattern that encodes
|
||
rotation.
|
||
|
||
Wed Oct 13 23:23:45 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.c (expand_block_move): Use INTVAL, not XINT to access
|
||
alignment.
|
||
|
||
Wed Oct 13 21:47:18 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-page.c (MAP_FAILED): Provide default.
|
||
|
||
Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
|
||
* sparc.h (PREDICATE_CODES): Update.
|
||
|
||
Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (some_ni_operand): New.
|
||
* alpha-protos.h: Declare it.
|
||
* alpha.h (PREDICATE_CODES): Update.
|
||
* alpha.md (sXaddq reload insns): Use some_ni_operand
|
||
for SET_DEST instead of some_operand.
|
||
|
||
Wed Oct 13 21:04:45 1999 Richard Henderson <rth@cygnus.com>
|
||
Jim Wilson <wilson@cygnus.com>
|
||
|
||
* genrecog.c (maybe_both_true_2): Don't compare modes of
|
||
two DT_pred tests.
|
||
(process_tree): Elide peephole2_insns. Invoke simplify_tests
|
||
after find_afterward.
|
||
(debug_decision_1): Dump next and afterward codes.
|
||
|
||
Wed Oct 13 20:35:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtl.c (dump_and_abort): Remove.
|
||
(fatal_with_file_and_line): New.
|
||
(fatal_expected_char): New.
|
||
(read_rtx_lineno, read_rtx_filename): New.
|
||
(read_skip_spaces): Track line number.
|
||
(read_name): Use fatal_with_file_and_line.
|
||
(read_rtx): Use fatal_expected_char. Track line number.
|
||
* rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
|
||
|
||
* print-rtl.c (print_rtx): Don't special case LABEL_REF argument
|
||
if it isn't a CODE_LABEL.
|
||
|
||
* genattr.c (main): Set read_rtx_filename.
|
||
* genattrtab.c (main): Likewise.
|
||
* gencodes.c (main): Likewise.
|
||
* genconfig.c (main): Likewise.
|
||
* genemit.c (main): Likewise.
|
||
* genextract.c (main): Likewise.
|
||
* genflags.c (main): Likewise.
|
||
* genopinit.c (main): Likewise.
|
||
* genoutput.c (main): Likewise.
|
||
* genpeep.c (main): Likewise.
|
||
|
||
* genrecog.c (decision_test.u.insn): Add `lineno'.
|
||
(pattern_lineno, error_count): New variables.
|
||
(message_with_line): New.
|
||
(add_to_sequence): Break out checking code to ...
|
||
(validate_pattern): ... here. Detect SET_DEST matching CONST_INT.
|
||
(merge_insn): Use message_with_line.
|
||
(make_insn_sequence): Use validate_pattern. Record insn lineno.
|
||
(main): Set read_rtx_filename, pattern_lineno. Exit early on error.
|
||
|
||
Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (store_constructor): Clear union if constructor is empty.
|
||
|
||
Wed Oct 13 15:19:04 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
|
||
Add !endian checks. Change %{...} to %(...).
|
||
|
||
Wed Oct 13 13:30:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.md (*addsi3_cc): Renamed from addcsi3.
|
||
(*addsi3_carry): Renamed from addxsi3.
|
||
(*subsi3_cc): Renamed from subcsi3.
|
||
(*subsi3_carry): Renamed from subxsi3.
|
||
(*xorqi_cc_1): Renamed from xorcqi_1.
|
||
(xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
|
||
* i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
|
||
|
||
Wed Oct 13 13:10:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
|
||
(ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
|
||
|
||
1999-10-13 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
|
||
climb up the chain of insns.
|
||
|
||
Wed Oct 13 10:20:58 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (write_subroutine): Careful for null trees.
|
||
(process_tree): Don't elide empty functions.
|
||
|
||
Wed Oct 13 10:07:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (genrtl.o): Depend on ggc.h.
|
||
* configure.in (valloc): Probe for it.
|
||
(with-gc): Use ggc-page if valloc present.
|
||
* ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
|
||
(ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
|
||
(ggc_alloc_string): Moved from ggc-page.c.
|
||
* ggc-none.c (ggc_alloc_obj): New.
|
||
(ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
|
||
* ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
|
||
(struct globals): Likewise for dev_zero_fd.
|
||
(init_ggc): Likewise for it's initialization.
|
||
(ggc_allocated_p): Move careful dereference from ...
|
||
(ggc_lookup_page_table): ... here. Delete.
|
||
(lookup_page_table_entry): Don't use ggc_lookup_page_table.
|
||
(alloc_anon): Use valloc if no mmap.
|
||
(release_pages): Use free if using valloc.
|
||
(ggc_alloc_obj): Renamed from alloc_obj.
|
||
(ggc_set_mark): Renamed from mark_obj.
|
||
(ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
|
||
(ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
|
||
(ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
|
||
(ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
|
||
(ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
|
||
(ggc_collect): Use fp printing instead of our own rounding.
|
||
* ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
|
||
(GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
|
||
(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
|
||
(struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
|
||
(struct ggc_string, struct ggc_any): Delete.
|
||
(offsetof): Provide default definition.
|
||
(GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
|
||
(PTR_KEY): New.
|
||
(struct ggc_mem): New, from corpse of ggc_any.
|
||
(struct ggc_status): Delete.
|
||
(ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
|
||
(n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
|
||
(n_strings_collected, n_anys_collected): Delete.
|
||
(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
|
||
(ggc_alloc_string, ggc_alloc): Delete.
|
||
(ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
|
||
(ggc_free_string, ggc_free_any): Delete.
|
||
(ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
|
||
(ggc_compare_addresses, ggc_mark_string): Delete.
|
||
(ggc_mark_string_if_gcable, ggc_mark): Delete.
|
||
(search_data): Delete.
|
||
(struct globals): New.
|
||
(GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
|
||
(tree_insert, tree_lookup): New.
|
||
(ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
|
||
(clear_marks, sweep_objs): New.
|
||
(ggc_collect): Gut. Use clear_marks, sweep_objs.
|
||
(init_ggc): Set allocated_last_gc.
|
||
(ggc_push_context): Gut. Use G.context.
|
||
(ggc_pop_context): Likewise.
|
||
(ggc_pop_context_1): New.
|
||
(debug_ggc_tree): New.
|
||
(debug_ggc_balance, tally_leaves): New.
|
||
* ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
|
||
(ggc_mark_string_if_gcable): Remove decl.
|
||
(ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
|
||
(ggc_mark_rtvec_children): New.
|
||
(ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
|
||
(ggc_mark_if_gcable): New decl.
|
||
(ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
|
||
(ggc_alloc_tree, ggc_alloc): Likewise.
|
||
(ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
|
||
(ggc_alloc_obj): New decl.
|
||
(ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
|
||
(ggc_alloc_tree, ggc_alloc): Likewise.
|
||
(ggc_set_mark): New decl.
|
||
* rtl.h (struct rtx_def): Remove gc_mark.
|
||
(struct rtvec_def): Likewise.
|
||
* tree.h (struct tree_common): Likewise.
|
||
|
||
Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
|
||
|
||
* configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
|
||
float_format and thread_file definitions.
|
||
* configure: Rebuilt.
|
||
|
||
Wed Oct 13 09:25:03 1999 Niels M<>ller <nisse@lysator.liu.se>
|
||
|
||
* extend.texi (Function Names): Document types of function names.
|
||
|
||
Wed Oct 13 00:45:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
|
||
an earlyclobbered output conflict with RELOAD_INPUT reloads.
|
||
|
||
Tue Oct 12 23:28:28 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (BOOL_TYPE_SIZE): Don't use INT_TYPE_SIZE / CHAR_TYPE_SIZE.
|
||
|
||
Tue Oct 12 23:19:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS.
|
||
|
||
Tue Oct 12 17:09:38 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* collect2.c (main): Do prelimnary link on AIX if rflag.
|
||
|
||
Tue Oct 12 09:45:19 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
|
||
|
||
* config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
|
||
__CTOR_LIST__ in opposite order, which is the correct order for sorted
|
||
constructors.
|
||
(__do_global_dtors): similarly for __DTOR_LIST__.
|
||
|
||
Fri Oct 8 19:46:03 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* config/sh/sh.h (REGISTER_MOVE_COST): Handle moves from T_REGS to
|
||
FPUL_REGS.
|
||
|
||
Tue Oct 12 07:38:41 1999 Bruce Korb <autogen@linuxbox.com>
|
||
|
||
* fixincl/*: Merged "no_bogosity" branch
|
||
* fixincl/fixlib.h: protect against doubly defining t_bool
|
||
* fixincl/server.h: protect against doubly defining t_bool
|
||
|
||
Mon Oct 11 20:18:41 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* genoutput.c: Include toplev.h.
|
||
|
||
Mon Oct 11 18:56:14 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/sparc/liteelf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
|
||
Undef.
|
||
* configure.in (sparclite-*-elf, sparc86x-*-elf): Don't use libgloss.h.
|
||
* configure: Regenerate.
|
||
|
||
Mon Oct 11 16:07:49 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gcse.c (delete_null_pointer_checks): Returns void.
|
||
|
||
Mon Oct 11 20:31:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* rtl.c (copy_rtx): Don't use accessor macros to copy fields.
|
||
* emit-rtl.c (copy_insn_1): Likewise.
|
||
|
||
Mon Oct 11 13:29:06 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* config/mips/mips.c (mips_build_va_list): Correct
|
||
TREE_CHAIN setting when hard-float.
|
||
(mips_va_start): Use corrected setting.
|
||
(mips_va_arg): Likewise. Also pass a tree to build of
|
||
POSTINCREMENT_EXPR rather than a naked 'int'.
|
||
|
||
Sun Oct 10 18:27:27 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* ggc.h (ggc_push_context): Fix comment.
|
||
(ggc_pop_context): Likewise.
|
||
(mark_string_if_gcable): Likewise.
|
||
* ggc-common.c (ggc_mark_rtx_children): Use
|
||
ggc_mark_string_if_gcable.
|
||
* ggc-page.c (ggc_lookup_page_table): New function.
|
||
(ggc_allocated_p): Likewise.
|
||
(mark_obj): Fix formatting.
|
||
(ggc_mark_string_if_gcable): New function.
|
||
* ggc-simple.c (ggc_allocated_strings): New variable.
|
||
(ggc_strings_used): Likewise.
|
||
(ggc_compare_addresses): New function.
|
||
(ggc_pop_context): Pop the `any' memory too.
|
||
(ggc_mark_string_if_gcable): New function.
|
||
(ggc_collect): Initialize and tear down ggc_allocated_strings.
|
||
|
||
Sun Oct 10 20:05:21 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
|
||
(scc patterns): Disable most SImode variants if TARGET_POWERPC64.
|
||
* rs6000.c (expand_block_move): Match movstrsi_?reg register
|
||
changes.
|
||
|
||
Sun Oct 10 16:37:01 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (sched_reg_n_calls_crossed): Delete.
|
||
(sched_reg_live_length, sched_reg_basic_block): Delete.
|
||
(current_block_num, bb_live_regs, old_live_regs): Delete.
|
||
(dead_notes, struct sometimes): Delete.
|
||
(sched_note_set, birthing_insn_p): Delete.
|
||
(adjust_priority): Gut useless reg lifetime code.
|
||
(create_reg_dead_note, attach_deaths): Delete.
|
||
(attach_deaths_insn, new_sometimes_live): Delete.
|
||
(finish_sometimes_live): Delete.
|
||
(find_pre_sched_live, find_post_sched_live): Delete.
|
||
(update_reg_usage): Delete.
|
||
(find_insn_reg_weight): New, from corpse of find_pre_sched_live.
|
||
(schedule_insns): Delete reg lifetime code.
|
||
(sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
|
||
(unlink_other_notes): Adjust REG_NOTE commentary.
|
||
(reemit_notes): Use REG_SAVE_NOTE.
|
||
(schedule_block): Likewise.
|
||
(schedule_region): Allocate bitmap of blocks in region. Use
|
||
count_or_remove_death_notes. Use update_life_info.
|
||
|
||
* rtl.h (REG_SAVE_NOTE): New.
|
||
* rtl.c (reg_note_name): Update.
|
||
|
||
Sun Oct 10 16:14:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (refresh_blocks, need_refresh): New.
|
||
(combine_instructions): Allocate refresh_blocks. Invoke
|
||
update_life_info if needed.
|
||
(distribute_notes): Mark refresh_blocks instead of installing
|
||
USE insns.
|
||
* flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
|
||
* basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.
|
||
|
||
* Makefile.in (recog.o): Depend on basic-block.h.
|
||
|
||
Sun Oct 10 12:03:21 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (add_to_sequence): Thinko last change: delete
|
||
shadowing allow_const_int variable.
|
||
|
||
Sun Oct 10 08:40:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
|
||
__GNUC__ and __GNUC_MINOR__.
|
||
|
||
* gansidecl.h: Likewise.
|
||
|
||
* rtl.c: Likewise.
|
||
|
||
* rtl.h: Likewise.
|
||
|
||
* toplev.h: Likewise.
|
||
|
||
* tree.c: Likewise.
|
||
|
||
* tree.h: Likewise.
|
||
|
||
* varray.c: Likewise.
|
||
|
||
* varray.h: Likewise.
|
||
|
||
Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* loop.c (find_and_verify_loops): When looking for a BARRIER, don't
|
||
use one before a jump table.
|
||
|
||
* rtl.def (ADDRESS): Change documentation to match reality.
|
||
* md.texi: Don't document it.
|
||
* gmicro.md (load address pattern): Use 'p' constraint, delete use
|
||
of ADDRESS rtx.
|
||
|
||
* emit-rtl.c (copy_insn_1): Make format_ptr a const char *.
|
||
|
||
Sun Oct 10 02:41:41 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (add_to_sequence): Move allow_const_int test outside
|
||
known predicate block; default allow_const_int true.
|
||
(debug_decision_list): New.
|
||
|
||
Sun Oct 10 00:43:08 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.h (CC1_SPEC): Typo -- use cc1_cpu.
|
||
|
||
Sat Oct 9 23:26:55 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcse.c (gcse_main): Avoid global optimizations if we have a
|
||
large number of basic blocks and the ratio of edges to blocks
|
||
is high.
|
||
(delete_null_pointer_checks): Likewise.
|
||
|
||
Sat Oct 9 23:16:01 1999 Ken Raeburn <raeburn@mit.edu>
|
||
|
||
* c-common.c (check_format_info): Warn if format string isn't a
|
||
string literal.
|
||
|
||
Sat Oct 9 23:04:02 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
|
||
|
||
* configure.in (arm*-*-*): Don't let autoconf remove brackets
|
||
* configure: regenerate
|
||
|
||
Sat Oct 9 13:15:53 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (extendsidi2): Turn into a splitter. Allow f/f.
|
||
If TARGET_FIX, allow r/f. Remove cvtlq unspec pattern.
|
||
(peepholes): Re-enable.
|
||
|
||
Sat Oct 9 12:18:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (flow.o): Depend on TREE_H.
|
||
* basic-block.h (REG_SET_EQUAL_P): New.
|
||
(XOR_REG_SET): New.
|
||
(n_edges): Declare.
|
||
(free_regset_vector): Remove declaration.
|
||
(flow_delete_insn_chain): Declare.
|
||
(enum update_life_extent): New.
|
||
(update_life_info, count_or_remove_death_notes): Declare.
|
||
* combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
|
||
Verify register live at bb->global_live_at_start before adding USE.
|
||
* flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
|
||
(CLEAN_ALLOCA): New.
|
||
(n_edges): New.
|
||
(PROP_*): New flags.
|
||
(find_basic_blocks_1): Use alloc_EXPR_LIST.
|
||
(clear_edges): Zero n_edges.
|
||
(make_edge): Increment n_edges.
|
||
(split_edge): Don't allocate bb->local_set. Increment n_edges.
|
||
(flow_delete_insn_chain): Export.
|
||
(delete_block): Decrement n_edges.
|
||
(merge_blocks_nomove): Likewise.
|
||
(life_analysis): Give life_analysis_1 PROP flags.
|
||
(verify_wide_reg_1, verify_wide_reg): New.
|
||
(verify_local_live_at_start): New.
|
||
(update_life_info): Rewrite to call into propagate_block.
|
||
(mark_reg): New.
|
||
(mark_regs_live_at_end): After reload, if epilogue as rtl,
|
||
always mark stack pointer. Conditionally mark PIC register.
|
||
After reload, mark call-saved registers, return regsiters.
|
||
(life_analysis_1): Accept PROP flags not remove_dead_code.
|
||
Call mark_regs_live_at_end before zeroing regs_ever_live.
|
||
Use calculate_global_regs_live. Copy global_live_at_end before
|
||
calling final propagate_block. Zero reg_next_use on exit.
|
||
(calculate_global_regs_live): New.
|
||
(allocate_bb_life_data): Don't allocate bb->local_set.
|
||
(init_regset_vector, free_regset_vector): Remove.
|
||
(propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
|
||
Test flags before every operation. Warn if prologue/epilogue insn
|
||
would have been deleted.
|
||
(mark_set_regs, mark_set_1): Accept and use FLAGS.
|
||
Use alloc_EXPR_LIST.
|
||
(mark_used_regs): Accept and use FLAGS, not FINAL.
|
||
Remove special handling for RETURN.
|
||
(try_pre_increment): Use alloc_EXPR_LIST.
|
||
(dump_flow_info): Dump n_edges.
|
||
(unlink_insn_chain, split_hard_reg_notes): Remove.
|
||
(maybe_add_dead_note, maybe_add_dead_note_use): Remove.
|
||
(find_insn_with_note, new_insn_dead_notes): Remove.
|
||
(update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
|
||
(maybe_remove_dead_notes, prepend_reg_notes): Remove.
|
||
(replace_insns): Remove.
|
||
(count_or_remove_death_notes): New.
|
||
(verify_flow_info): Abort on error after all checks.
|
||
(remove_edge): Decrement n_edges.
|
||
(remove_fake_edges): Tweak format.
|
||
* haifa-sched.c (schedule_insns): Use split_all_insns.
|
||
* output.h (update_life_info): Remove declaration.
|
||
* recog.c (split_all_insns): From the corpse of split_block_insns,
|
||
do the whole function block by block. Use update_life_info.
|
||
(recog_last_allowed_insn): New.
|
||
(recog_next_insn): Mind it.
|
||
(peephole2_optimize): Set it. Walk backwards through blocks.
|
||
Use update_life_info.
|
||
* rtl.h (update_flow_info, replace_insns): Remove declarations.
|
||
(split_all_insns): Declare.
|
||
* toplev.c (rest_of_compilation): Thread prologue before flow2.
|
||
Use split_all_insns.
|
||
|
||
* i386.md (or -1 peep2s): Disable.
|
||
|
||
Fri Oct 8 17:49:08 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* config/mips/mips.md (movstrsi+[123]) : Combine these into
|
||
a single pattern. Scrap the 'd' versions as unnecessary.
|
||
|
||
* config/mips/mips.md (tablejump_internal3,tablejump_mips161,
|
||
tablejump_mips162,tablejump_internal4): The operands to a
|
||
label_ref must be VOIDmode.
|
||
|
||
Fri Oct 8 16:12:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
|
||
|
||
Fri Oct 8 11:58:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* mips.c (mips_va_arg) [EABI]: Return addr_rtx.
|
||
|
||
Fri Oct 8 11:58:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
|
||
cache every function if ggc_p.
|
||
|
||
Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
|
||
instead of copy_rtx. Accept sequences that contain asm statements.
|
||
* emit-rtl.c (copy_insn_1, copy_insn): New functions.
|
||
(copy_insn_scratch_in, copy_insn_scratch_out, copy_insn_n_scratches,
|
||
orig_asm_operands_vector, copy_asm_operands_vector,
|
||
orig_asm_constraints_vecotr, copy_asm_constraints_vector): New static
|
||
variables.
|
||
* rtl.h (copy_insn, copy_insn_1): Declare.
|
||
|
||
Fri Oct 8 13:08:12 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
|
||
|
||
* alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
|
||
arguments to `current_file_function_operand'.
|
||
|
||
* genrecog.c: Include hard-reg-set.h and resource.h in the
|
||
generated output file.
|
||
|
||
* real.c: Include tm_p.h.
|
||
|
||
Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* i386.md (prologue_allocate_stack): Add '=' constraint letter on
|
||
output operand.
|
||
|
||
Thu Oct 7 23:06:50 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
|
||
before the fctiwz insn.
|
||
|
||
Thu Oct 7 22:53:00 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.c (make_lang_type_fn): New function pointer.
|
||
(make_lang_type): Call it.
|
||
* tree.h (make_lang_type): Declare.
|
||
(make_lang_type_fn): Likewise.
|
||
* rs6000.c (rs6000_build_va_list): Use make_lang_type.
|
||
|
||
Thu Oct 7 00:36:17 1999 Diego Novillo <dnovillo@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
|
||
make sure that HIGH instructions are copied into BASE_REGS.
|
||
|
||
Thu Oct 7 17:02:34 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.
|
||
|
||
Thu Oct 7 17:01:58 1999 Greg McGary <gkm@gnu.org>
|
||
|
||
* c-decl.c (finish_struct): Use simpler method of
|
||
removing elements of a singly-linked list.
|
||
|
||
Thu Oct 7 15:23:28 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* alpha.md (peephole2's): Comment out peephole2's that generate
|
||
buggy code.
|
||
|
||
Thu Oct 7 12:00:53 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (add_to_sequence): Disable mode check for
|
||
wildcard matches.
|
||
|
||
Thu Oct 7 20:14:16 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* ggc-simple.c (init_ggc): Set empty_string.
|
||
|
||
Thu Oct 7 01:13:15 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in: Detect mmap. Add --with-gc=foo to select
|
||
garbage collector; default to page if mmap available.
|
||
* Makefile.in (GGC): Substitute.
|
||
|
||
Wed Oct 6 23:56:30 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-decl.c (ggc_p): Enable.
|
||
|
||
Wed Oct 6 17:17:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* flow.c (verify_flow_info): Make it extern & unconditionally define.
|
||
|
||
1999-10-06 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
|
||
string for little-endian-data.
|
||
|
||
Wed Oct 6 16:10:35 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* varray.h (VARRAY_CHECK): Fix up appropriate revision check, in
|
||
case somebody tries to compile --enable-checking code with gcc
|
||
1.34 or such.
|
||
|
||
Wed Oct 6 12:22:50 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (add_to_sequence): Verify operand to label_ref is
|
||
VOIDmode.
|
||
|
||
Wed Oct 6 10:21:15 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genconfig.c (main): Disable HAVE_conditional_arithmetic.
|
||
* jump.c (jump_optimize_1): Document why.
|
||
|
||
Wed Oct 6 10:41:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* collect2.c (scan_prog_file, scan_libraries): Prototype function
|
||
pointers and casts for `int_handler' and `quit_handler'.
|
||
|
||
* flow.c (verify_flow_info, split_hard_reg_notes,
|
||
find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes,
|
||
remove_edge, remove_fake_successors): Add static prototypes.
|
||
(verify_flow_info): Wrap with macro ENABLE_CHECKING.
|
||
(mark_set_1): Initialize variable `regno'.
|
||
(unlink_insn_chain): Likewise for variable `curr'.
|
||
(remove_fake_edges): Remove unused variables `e', `tmp' and `last'.
|
||
|
||
* loop.c (strength_reduce): Initialize variable
|
||
`unrolled_insn_copies'.
|
||
(cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static
|
||
prototypes. Change these functions to take const PTR parameters
|
||
to avoid prototype conflict when used as the comparson argument
|
||
for qsort.
|
||
(check_dbra_loop): Initialize variable `comparison_val'.
|
||
|
||
* reload.c (debug_reload_to_stream, debug_reload): Add prototypes.
|
||
(get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED.
|
||
(find_valid_class): Initialize variable `best_class'.
|
||
(find_reloads): Call memcpy, not bcopy.
|
||
|
||
* reload1.c (gen_mode_int, dump_needs): Add prototypes.
|
||
(hard_reg_use_compare): Don't needlessly cast away const.
|
||
(reload_reg_class_lower): Likewise.
|
||
(choose_reload_regs): Initialize variable `regno'.
|
||
|
||
Tue Oct 5 16:34:12 1999 Paul Burchard <burchard@pobox.com>
|
||
|
||
* ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.
|
||
|
||
Tue Oct 5 16:14:40 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* libgcc1-test.c (toplevel): Include stddef.h to get size_t.
|
||
({,d}discard): Add forward declarations. Declare parameter as
|
||
unused.
|
||
(main_without_main): Explicitly declare return type to be int.
|
||
(memcpy): Properly declare.
|
||
|
||
* libgcc2.c (toplevel): If inhibit_libc is defined and not
|
||
building the trampoline support, declare malloc, free, and
|
||
atexit.
|
||
(__clear_cache): Mark arguments as potentially unused.
|
||
|
||
* frame.c (toplevel): If inhibit_libc is defined, declare
|
||
malloc and free.
|
||
|
||
Tue Oct 5 12:00:32 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (make_edge): Accept an optional 2D bitmap in which
|
||
to cache edge existence. Update all callers.
|
||
(make_label_edge, make_eh_edge): Pass through the edge cache.
|
||
(make_edges): Provide the cache.
|
||
|
||
Tue Oct 5 12:16:49 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mbchar.c (literal_codeset, local_mbtowc, local_mblen): Constify
|
||
a char*.
|
||
(local_mbtowc): Change the type of variable `i' from int to size_t.
|
||
|
||
* mbchar.h (ISSJIS1, ISSJIS2): Use parens around && within ||.
|
||
(local_mbtowc, local_mblen, literal_codeset): Constify a char*.
|
||
|
||
Tue Oct 5 11:34:52 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* ggc-common.c (toplevel): Reorder includes, so that ggc.h comes
|
||
after other includes that define the appropriate types. Include
|
||
tm_p.h for getting user prototypes.
|
||
* ggc-callbacks.c (toplevel): Ditto.
|
||
* ggc-none.c (toplevel): Ditto.
|
||
* gcc-page.c (toplevel): Ditto.
|
||
* ggc-simple.c (toplevel): Ditto.
|
||
|
||
Mon Oct 4 16:48:16 1999 Diego Novillo <dnovillo@cygnus.com>
|
||
Jonathan Larmour <jlarmour@cygnus.co.uk>
|
||
|
||
* config/mips/mips.c (mips_move_2words): Split doubles if
|
||
ISA >= 3, !TARGET_64BIT, and destination is not an FP register.
|
||
|
||
Mon Oct 4 21:47:31 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* genrecog.c (struct decision_test): New.
|
||
(struct decision): Remove test-related members, sort the rest by size.
|
||
(IS_SPLIT): Simplify.
|
||
(new_decision, new_decision_test): New.
|
||
(add_to_sequence): Use them. No special handling for args of
|
||
non-MATCH codes.
|
||
(maybe_both_true): Renamed from not_both_true; return sense changed.
|
||
(maybe_both_true_1, maybe_both_true_2): New. Broken out
|
||
of maybe_both_true and adjusted for decision_test.
|
||
(position_merit): Remove.
|
||
(nodes_identical, nodes_identical_1): New, broken out of merge_trees.
|
||
(merge_accept_insn): New, broken out of merge_trees.
|
||
(merge_trees): Use them. No special case for c_test; no node
|
||
splitting; use test type instead of position_merit.
|
||
(factor_tests): New.
|
||
(simplify_tests): New.
|
||
(break_out_subroutines): Don't write code now.
|
||
(find_afterward): New.
|
||
(write_afterward, write_switch, write_cond): New.
|
||
(write_action, is_unconditional): New.
|
||
(write_node): New. Use them.
|
||
(write_tree_1): Rewrite. Use the new functions above.
|
||
(write_tree): Remove afterward processing.
|
||
(write_subroutine): Simplify function variant emission.
|
||
(write_subroutines): New.
|
||
(same_codes, clear_codes): Remove.
|
||
(same_modes, clear_modes): Remove.
|
||
(write_header): New, broken out of main.
|
||
(make_insn_sequence): Use new_decision and new_decision_test.
|
||
(process_tree): New, broken out of main.
|
||
(main): Adjust for merge_trees interface change.
|
||
Don't #define operands in the output file.
|
||
(record_insn_name): New, broken out of make_insn_sequence.
|
||
(debug_decision_2, debug_decision_1, debug_decision_0): New.
|
||
(debug_decision): New.
|
||
|
||
1999-10-04 21:58 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* resource.c (find_free_register): Mark class_str argument const.
|
||
* resource.h: Update prototype to match.
|
||
|
||
* i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
|
||
* i386.md: Give all anonymous insns names.
|
||
|
||
Mon Oct 4 21:12:02 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
|
||
blocks.
|
||
|
||
Mon Oct 4 21:01:39 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (dbr_sched_time): Unconditional.
|
||
(peephole2_time): New.
|
||
(compile_file): Add pass numbers to all of the dump file suffixes.
|
||
Dump peephole2_time. Don't dump times for non-applicable passes.
|
||
(rest_of_compilation): Add pass numbers to dump file suffixes.
|
||
Conditionalize calls to the scheduler.
|
||
* invoke.texi: Update.
|
||
|
||
Mon Oct 4 20:25:13 1999 Anthony Green <green@cygnus.com>
|
||
|
||
* flow.c (make_edges): Fix insn iteration.
|
||
(find_basic_blocks): Assign NULL_RTX, not 0, to rtx.
|
||
(find_basic_blocks_1): Fix spelling mistake.
|
||
|
||
Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
|
||
always have side-effects. Use memset not bzero.
|
||
(make_node): Likewise.
|
||
|
||
Mon Oct 4 16:22:20 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* stmt.c (expand_anon_union_decl): When any of the elements of the
|
||
union is addressable, so is the entire union.
|
||
|
||
Mon Oct 4 11:38:33 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sbitmap.c (sbitmap_ones): Don't set too many bits.
|
||
|
||
* bitmap.h (enum bitmap_bits): Add BITMAP_XOR.
|
||
* bitmap.c (bitmap_operation): Return true iff TO changed.
|
||
(bitmap_equal_p): New.
|
||
(bitmap_bit_p): Tidy arithmetic.
|
||
(debug_bitmap_file): Likewise.
|
||
|
||
Mon Oct 4 11:28:37 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): Turn on cse_not_expected
|
||
before cse2 instead of after.
|
||
|
||
Mon Oct 4 09:55:17 1999 Stan Cox <scox@cygnus.com>
|
||
|
||
* mips.h (GO_IF_LEGITIMATE_ADDRESS): Let leasi/liadi handle large
|
||
register offsets.
|
||
|
||
Mon Oct 4 08:54:12 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* cppinit.c (is_idchar initializer): Loosen tests to accept
|
||
gcc 2.>6 and >2.
|
||
|
||
Mon Oct 4 02:31:20 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* mips.md: Define conditional move patterns for floating point
|
||
operands and DI mode conditions.
|
||
|
||
Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
|
||
always have side-effects.
|
||
|
||
Sun Oct 3 14:14:16 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10200.c (asm_file_start): Fix typo.
|
||
|
||
* cppinit.c (is_idchar initializer): Tighten tests for when
|
||
to put the table into initialized memory.
|
||
|
||
* ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx,
|
||
not an array of rtunion.
|
||
* gcc-page.c (ggc_alloc_rtvec): Similarly.
|
||
* gcc-simple (ggc_free_rtvec): Similarly.
|
||
|
||
* genattrtab.c (simplify_cond): Make TESTS an array of rtxs, instead
|
||
of rtunions.
|
||
|
||
* mbchar.h: Add missing #endif.
|
||
|
||
* t-fr30 (LIB2FUNCS_EXTRA): Remove definition.
|
||
(FPBIT, DPBIT): Define.
|
||
|
||
Sun Oct 3 12:44:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* print-tree.c (print_node, indent_to): Remove redundant prototypes.
|
||
|
||
* profile.c (instrument_arcs, output_gcov_string,
|
||
tablejump_entry_p): Add static prototypes.
|
||
(output_gcov_string): Constify a char*.
|
||
|
||
* regmove.c (replacement_quality, fixup_match_2): Add static
|
||
prototypes.
|
||
|
||
* resource.h (reg_dead_p): Add extern prototype.
|
||
|
||
* rtl.c (trim_filename): Add static prototype.
|
||
|
||
* scan-decls.c (skip_to_closing_brace): Likewise.
|
||
|
||
* stmt.c (expand_decl_cleanup_no_eh): Hide definition.
|
||
(expand_end_case): Initialize variable `range'.
|
||
(emit_case_nodes): Remove unused prototype `rtx_fn'.
|
||
|
||
* varasm.c (asm_emit_uninitialised): Add static prototype.
|
||
(asm_emit_uninitialised, assemble_variable): Mark parameter with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
Sun Oct 3 12:24:52 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cpplib.c (if_directive_nameo): Add static prototype.
|
||
|
||
* cse.c (cse_insn): Remove unused variable `p'.
|
||
|
||
* except.c (create_rethrow_ref, push_entry,
|
||
receive_exception_label, new_eh_region_entry, find_func_region,
|
||
clear_function_eh_region, process_nestinfo): Add static prototypes.
|
||
(get_reg_for_handler): Hide definition.
|
||
(process_nestinfo): Initialize variable `extra_handlers'.
|
||
|
||
* expr.h (expand_builtin_longjmp): Add extern prototype.
|
||
|
||
* final.c (final_addr_vec_align, align_fuzz): Add static prototypes.
|
||
|
||
* function.c (prepare_function_start): Likewise.
|
||
(pop_function_context_from): Mark parameter `context' with
|
||
ATTRIBUTE_UNUSED.
|
||
(push_temp_slots_for_block, flush_addressof): Hide definition.
|
||
|
||
* gcov.c (init_arc, reverse_arcs, create_program_flow_graph,
|
||
solve_program_flow_graph, calculate_branch_probs,
|
||
function_summary, main, fancy_abort): Add prototypes.
|
||
|
||
* gen-protos.c (add_hash, parse_fn_proto, main): Likewise.
|
||
(add_hash): Constify a char*.
|
||
|
||
* ggc-common.c (ggc_mark_rtx_ptr, ggc_mark_tree_ptr,
|
||
ggc_mark_tree_varray_ptr, ggc_mark_tree_hash_table_ptr,
|
||
ggc_mark_string_ptr, ggc_mark_tree_hash_table_entry): Add prototypes.
|
||
|
||
* integrate.c (expand_inline_function_eh_labelmap): Likewise.
|
||
|
||
* lists.c (free_list, zap_lists): Likewise.
|
||
|
||
Sun Oct 3 12:05:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alias.c (nonlocal_reference_p): Add static prototype.
|
||
|
||
* bitmap.c (bitmap_element_allocate): Prototype args in function
|
||
pointer cast.
|
||
|
||
* builtins.c (stabilize_va_list): Add static prototype.
|
||
(expand_builtin_va_arg): Constify a char*.
|
||
|
||
* c-lex.c (getch, put_back, extend_token_buffer_to,
|
||
read_line_number, token_getch, token_put_back): Add static
|
||
prototypes.
|
||
|
||
* c-parse.gperf (hash, is_reserved_word): Likewise.
|
||
|
||
* cccp.c (is_dir_separator): Likewise.
|
||
|
||
Sat Oct 2 16:07:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* graph.h: New file to prototype functions exported by graph.c.
|
||
|
||
* Makefile.in (graph.o, toplev.o): Depend on graph.h.
|
||
|
||
* graph.c: Include graph.h.
|
||
|
||
* toplev.c: Likewise. Remove redundant prototypes.
|
||
|
||
Sat Oct 2 11:28:33 1999 Krister Walfridsson <cato@df.lth.se>
|
||
|
||
* invoke.texi: Removed duplicated description for -Q.
|
||
|
||
Sat Oct 2 11:16:00 1999 Jim Kingdon <http://developer.redhat.com>
|
||
|
||
* extend.texi: Grammar fix in __extension__ text.
|
||
|
||
Sat Oct 2 11:06:31 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* md.texi (define_peephole2): New section.
|
||
|
||
Sat Oct 2 10:57:56 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* i386.md (mov?i patterns): Fix handling of TARGET_USE_MOV0
|
||
(mov $-1 to or peepholer): Enable for pentium when optimizing for
|
||
speed.
|
||
|
||
Sat Oct 2 10:55:25 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* builtins.c (expand_builtin_strlen): Fix best mode searching loop.
|
||
|
||
Sat Oct 2 10:53:22 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* i386.md (ffs expander): Emit Pentium friendly code for
|
||
TARGET_PENTIUM.
|
||
|
||
Sat Oct 2 02:48:21 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES
|
||
for non-trees.
|
||
(build1): Likewise.
|
||
|
||
Fri Oct 1 18:01:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* i386elf.h (TARGET_DEFAULT): Use symbolic constants.
|
||
|
||
Fri Oct 1 12:42:53 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* config/m68k/m68k.c (use_return_insn): Return false if the pic
|
||
register is in use.
|
||
|
||
Fri Oct 1 10:56:06 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* md.texi (No Constraints): Delete section.
|
||
* Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
|
||
* final.c (final_scan_insn): We always have register constraints.
|
||
* genattrtab.c: Don't include "insn-config.h".
|
||
(write_attr_case): We always have register constraints.
|
||
* genconfig.c (register_constraint_flag): Delete.
|
||
(walk_insn_part): Don't check whether we have register constraints.
|
||
(main): Don't write out "#define REGISTER_CONSTRAINTS".
|
||
* genoutput.c (have_constraints): Delete.
|
||
(main): Don't set it.
|
||
(output_operand_data): We always have constraints.
|
||
(scan_operands): Likewise.
|
||
(compare_operands): Likewise.
|
||
* local-alloc.c (block_alloc): We always have constraints.
|
||
(requires_inout): Always compile this function.
|
||
* recog.c (extract_insn): We always have constraints.
|
||
(constrain_operands, reg_fits_class_p): Always compile these
|
||
functions.
|
||
* recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
|
||
fields.
|
||
(struct insn_operand_data): Likewise.
|
||
* regclass.c (regclass): We always have constraints.
|
||
(record_reg_classes, copy_cost, record_address_regs,
|
||
auto_inc_dec_reg_p): Always compile these functions.
|
||
* regmove.c (regmove_optimize): We always have constraints.
|
||
* reload.c (find_reloads): Likewise.
|
||
* reload1.c (reload): Likewise.
|
||
(reload_cse_simplify_operands): Likewise.
|
||
* i860.c (output_delay_insn): Likewise.
|
||
|
||
Thu Sep 30 23:04:41 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* iris6.h (BUILD_VA_LIST_TYPE): Define.
|
||
|
||
Thu Sep 30 18:44:50 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
|
||
for the va_list record.
|
||
|
||
Thu Sep 30 18:34:54 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
|
||
prologues.
|
||
|
||
Thu Sep 30 18:31:36 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* alias.c: Include insn-flags.h.
|
||
* Makefile.in (alias.o): Update.
|
||
|
||
Thu Sep 30 18:21:30 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
|
||
to LTU and GEU. Handle more cases using sbb.
|
||
|
||
Thu Sep 30 18:18:39 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* i386.md (truncatexfdf splitters): Do not use subreg.
|
||
(fop XFmode patterns): Fix mode in operand testing.
|
||
|
||
Thu Sep 30 18:04:13 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (jump_optimize_1): Amend last change to test only the
|
||
form of the operand, not the insn.
|
||
|
||
* jump.c (jump_optimize_1) [conditional_move]: Use general_operand
|
||
not register_operand to determine when B may need preloading.
|
||
|
||
Thu Sep 30 17:39:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
|
||
(ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
|
||
(call-value patterns): Move to end of file.
|
||
(*): Remove mode from label_ref in (pc) context.
|
||
(movstrqi): Use memory not general_operand for BLKmode operands.
|
||
(prologue_stack_probe_loop, builtin_longjmp): Add missing mode
|
||
to register_operand operands.
|
||
(peep2 patterns): Convert from commented-out peephole patterns.
|
||
|
||
Thu Sep 30 14:39:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
|
||
to BUILT_IN_INIT_DWARF_REG_SIZES.
|
||
* builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
|
||
Renamed from BUILT_IN_DWARF_REG_SIZE; call
|
||
expand_builtin_init_dwarf_reg_sizes.
|
||
* c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
|
||
with __builtin_init_dwarf_reg_size_table.
|
||
* dwarf2out.c (struct reg_size_range): Delete.
|
||
(expand_builtin_init_dwarf_reg_sizes): New function.
|
||
(expand_builtin_dwarf_reg_size): Delete.
|
||
* except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
|
||
(expand_builtin_dwarf_reg_size): Don't declare.
|
||
* libgcc2.c (dwarf_reg_size_table_initialized): New.
|
||
(dwarf_reg_size_table): New.
|
||
(init_reg_size_table): New function.
|
||
(copy_reg): Use dwarf_reg_size_table.
|
||
(eh_context_initialize): Make sure dwarf_reg_size_table is initialized
|
||
before use.
|
||
|
||
Thu Sep 30 05:40:34 1999 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
|
||
Correctly build argument list to constructor and destructor functions.
|
||
|
||
Thu Sep 30 00:13:27 1999 Dirk Zoller <duz@rtsffm.com>
|
||
|
||
* c-tree.h (warn_float_equal): Declare.
|
||
* c-decl.c (warn_float_equal): Define.
|
||
(c_decode_option): Recognize -W[no-]float-equal.
|
||
* c-typeck.c (build_binary_op): Conditionally warn
|
||
about equality tests of floating point types.
|
||
* toplev.c (documented_lan_options): Add -W[no-]float-equal.
|
||
* invoke.texi: Add docs for -Wfloat-equal warning.
|
||
|
||
Wed Sep 29 23:43:39 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
|
||
generating RTL directly.
|
||
* mips.h (INIT_TARGET_OPTABS): Likewise.
|
||
* mn10200.h (INIT_TARGET_OPTABS): Likewise.
|
||
|
||
* expr.h (init_mov_optab): Delete declaration
|
||
|
||
* h8300.c (WORD_REG_USED): Update to avoid useless register
|
||
saves in interrupt functions and functions which never return.
|
||
|
||
* cse.c (struct set): Delete inner_dest_loc field.
|
||
(cse_insn): Remove assignments to inner_dest_loc field.
|
||
|
||
Wed Sep 29 16:06:20 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-page.c: Don't include <unistd.h> etc taken care of
|
||
by "system.h". Include <sys/mman.h> afterward.
|
||
|
||
Wed Sep 29 16:05:18 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_encode_section_info): If ggc_p, use
|
||
ggc_alloc_string.
|
||
|
||
Tue Sep 28 16:45:40 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* xcoffout.c (xcoffout_declare_function): Add documentation.
|
||
* rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
|
||
TARGET_64BIT. Compare constant to -1, not bit pattern.
|
||
(easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
|
||
(expand_block_move): Allow 8 DImode loads for PowerPC64. Fix
|
||
gen_movsi typos.
|
||
|
||
Tue Sep 28 16:43:14 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* dwarf2out.c (add_abstract_origin_attribute): Abort if
|
||
origin_die is NULL.
|
||
(gen_inlined_enumeration_type_die): Do not abort if the type has
|
||
not been writeen out.
|
||
(gen_inlined_structure_type_die): Do not abort if the type has
|
||
not been writeen out.
|
||
(gen_inlined_union_type_die): Do not abort if the type has
|
||
not been writeen out.
|
||
(gen_tagged_type_instantiation_die): Do not abort if the type
|
||
has not been written out.
|
||
|
||
Tue Sep 28 14:33:47 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
|
||
call it.
|
||
* reg-stack.c (straighten_stack): Copy hard reg set with
|
||
COPY_HARD_REG_SET.
|
||
|
||
Tue Sep 28 01:11:05 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* builtins.c (stabilize_va_list): Stabilize array type va_list
|
||
to a pointer type, not the base record type.
|
||
(expand_builtin_va_copy): Dereference the pointers explicitly;
|
||
use the correct size for the copy.
|
||
|
||
* rs6000.c (rs6000_va_start): Dereference valist to get to the record.
|
||
(rs6000_va_arg): Likewise.
|
||
|
||
Mon Sep 27 23:27:21 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtl.h (struct rtx_def): Move gc_mark to align mode field.
|
||
|
||
Mon Sep 27 23:20:29 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.h (struct tree_decl): Use `bclass', not `class', in name of
|
||
field.
|
||
(DECL_BUILT_IN_CLASS): Adjust accordingly.
|
||
|
||
Mon Sep 27 23:03:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
|
||
(init_ggc): Use it instead of a constant.
|
||
(ggc_collect): Bound allocated_last_gc by it.
|
||
|
||
Mon Sep 27 19:06:04 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
|
||
with va_list.
|
||
|
||
Mon Sep 27 19:40:17 CEST 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* configure.in (mips*el-*-openbsd*): Don't duplicate default settings.
|
||
(mips*-*-openbsd*): Let big endian configuration be a fragment.
|
||
* configure: Regen.
|
||
* config/mips/openbsd.h: New, OpenBSD little endian target.
|
||
* config/mips/openbsd-be.h: New, OpenBSD big endian target fragment.
|
||
* config/mips/xm-openbsd.h: New, OpenBSD host.
|
||
|
||
Mon Sep 27 10:28:48 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* config/m68k/m68k.c (output_function_prologue,
|
||
output_function_epilogue): Use
|
||
current_function_uses_pic_offset_table instead of regs_ever_live
|
||
to decide whether to save/restore pic register.
|
||
(legitimize_pic_address): Don't modify regs_ever_live any more.
|
||
|
||
Sun Sep 26 10:55:36 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* function.h (struct function): Add x_dont_save_pending_sizes_p.
|
||
* stor-layout.c (variable_size): Don't add sizes to the pending
|
||
sizes list if x_dont_save_pending_sizes_p is set.
|
||
|
||
Sun Sep 26 16:36:52 1999 Robert Lipe (robertlipe@usa.net)
|
||
|
||
* config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
|
||
for symbolic_operand().
|
||
* config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
|
||
|
||
Sun Sep 26 07:37:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* combine.c (gen_rtx_combine): Add missing call to va_end().
|
||
|
||
* final.c (asm_fprintf): Likewise.
|
||
|
||
* genattrtab.c (attr_rtx): Likewise.
|
||
|
||
Sat Sep 25 13:11:07 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c: Update comments.
|
||
(cse_insn): When converting a conditional/computed jump into
|
||
an unconditional jump, always make sure a BARRIER immediately
|
||
follows the converted jump. Do not delete unreachable code.
|
||
(cse_basic_block): Do not delete unreachable code.
|
||
* toplev.c (rest_of_compilation): Move call to
|
||
delete_trivially_dead_insns after the conditional call to
|
||
jump_optimize.
|
||
|
||
Sat Sep 25 09:03:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* collect2.c (make_temp_file): Don't prototype.
|
||
|
||
* gcc.c (make_temp_file): Likewise.
|
||
|
||
* mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
|
||
|
||
Sat Sep 25 13:42:15 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* varasm.c (asm_emit_uninitialised): New function: Generate
|
||
the assembler statements necessary to declare an uninitialized
|
||
variable.
|
||
(ASM_EMIT_LOCAL): New macro: Emit a local, uninitialized
|
||
variable.
|
||
(ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
|
||
(ASM_EMIT_COMMON): New macro: Emit an entry in the common
|
||
section.
|
||
(assemble_variable): Use asm_emit_uninitialised to emit an
|
||
uninitialized variable.
|
||
|
||
Fri Sep 24 17:10:56 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* combine.c (simplify_comparison): Cope with downshifting a 32 bit
|
||
constant on a 64 bit host. Patch supplied by Geoffrey Keating
|
||
<geoffk@cygnus.com>.
|
||
|
||
Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
|
||
* c-common.h (builtin_function): Don't declare.
|
||
|
||
* c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
|
||
DECL_BUILT_IN.
|
||
(pushdecl): Likewise.
|
||
(finish_decl): Likewise.
|
||
(builtin_function): New arg CLASS. Arg FUNCTION_CODE now of type
|
||
int. All callers changed.
|
||
Set the builtin's DECL_BUILT_IN_CLASS.
|
||
* tree.h (enum built_in_class): New.
|
||
(enum built_in_function): Delete NOT_BUILT_IN.
|
||
(DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
|
||
in a union.
|
||
(DECL_SET_FUNCTION_CODE): Likewise.
|
||
(DECL_BUILT_IN_CLASS): New macro.
|
||
(DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
|
||
(struct tree_decl): Split builtin function code field into a
|
||
struct.
|
||
(builtin_function): Declare.
|
||
|
||
Fri Sep 24 01:45:05 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* optabs.c (init_traps): Fix typo in last change.
|
||
|
||
Fri Sep 24 01:10:11 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* toplev.c (rest_of_decl_compilation): Update comment.
|
||
|
||
Fri Sep 24 11:57:06 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
|
||
in .sbss if appropriate.
|
||
(EXTRA_SECTION_FUNCTIONS): Add sbss.
|
||
(SBSS_SECTION_ASM_OP): New macro.
|
||
* config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
|
||
(EXTRA_SECTIONS): Add in_sbss.
|
||
* config/mips/mips.h: Prototype sbss_section.
|
||
|
||
Thu Sep 23 18:18:55 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* stmt.c (expand_start_bindings): Don't allow cleanup instructions
|
||
to disappear.
|
||
|
||
Thu Sep 23 18:07:01 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* optabs.c (init_traps): Register trap_rtx as a GC root.
|
||
|
||
Thu Sep 23 17:41:47 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* config/mips/mips.c (function_arg_pass_by_reference): Define
|
||
unconditionally, since it's called unconditionally.
|
||
|
||
Thu Sep 23 13:40:02 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (documented_lang_options): Add -fshort-wchar.
|
||
* c-decl.c (c_decode_option): Likewise.
|
||
(init_decl_processing): If -fshort-wchar, use 'short unsigned int'
|
||
for wchar_t.
|
||
* c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
|
||
* gcc.c (default_compilers): If -fshort-wchar,
|
||
override __WCHAR_TYPE__.
|
||
* tm.texi (C Dialect Options): Add -fshort-wchar.
|
||
|
||
* dwarf2out.c (output_aranges): Use DW_AT_location to find the
|
||
symbol for a variable.
|
||
|
||
* cpplib.h (CPP_PREPROCESSED): New macro.
|
||
* cpplib.c (handle_directive): Don't complain about `# NUMBER' if
|
||
we're seeing this input for a second time.
|
||
|
||
Thu Sep 23 12:54:49 1999 Alex Samuel <samuel@codesourcery.com>
|
||
|
||
* emit-rtl.c (init_emit_once): Initialize modes first.
|
||
|
||
Sun Sep 19 01:23:23 1999 Alex Samuel <samuel@codesourcery.com>
|
||
|
||
* config/i386/i386.c (pic_label_name): Change to char pointer.
|
||
(global_offset_table): New variable.
|
||
(load_pic_register): Fill global_offset_table if it hasn't
|
||
already been done. Allocate pic_label_name dynamically.
|
||
* ggc.h (empty_string): New variable.
|
||
* ggc-simple.c (empty_string): Likewise.
|
||
(init_ggc): Allocate empty_string and add as root.
|
||
* stmt.c (digit_strings): New variable.
|
||
(init_stmt): Add last_block_end_note as root. Allocate and
|
||
initialize digit_strings.
|
||
(expand_asm_operands): Use empty_string instead of string
|
||
constant. Use digit_strings instead of string constants.
|
||
* profile.c (init_arc_profiler): Allocate string with
|
||
ggc_alloc_string instead of xmalloc.
|
||
(output_func_start_profiler): Likewise.
|
||
* c-typeck.c (digest_init): Check if init is error_mark_node.
|
||
|
||
Thu Sep 23 12:59:14 1999 Alex Samuel <samuel@codesourcery.com>
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-page.c: New file.
|
||
* Makefile.in (ggc-page.o): New.
|
||
|
||
Thu Sep 23 13:55:21 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* invoke.texi: Document -fdelete-null-pointer-checks
|
||
* toplev.c (flag_delete_null_pointer_checks): New.
|
||
(f_options): Add entry for -fdelete-null-pointer-checks.
|
||
(rest_of_compilation): Conditionalize null pointer check
|
||
elimination on flag_delete_null_pointer_checks.
|
||
(main): If -O2 or greater, enable -fdelete-null-pointer-checks
|
||
|
||
1999-09-23 10:56 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
|
||
copyright notice and special exception to GPL.
|
||
|
||
Thu Sep 23 13:40:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* abi64.h (mips_function_value): Add prototype arguments.
|
||
|
||
* mips-protos.h: New file with mips prototypes.
|
||
|
||
* mips.c: Include "tm_p.h".
|
||
(mktemp, lookup_name): Add prototype arguments.
|
||
(extern_list, string_constant, mips_fill_delay_slot,
|
||
mips_output_external, mips_output_external_libcall,
|
||
mips_output_filename, mips_declare_object, function_prologue,
|
||
mips_expand_prologue, function_epilogue, mips16_constant,
|
||
build_mips16_function_stub, mips_output_conditional_branch):
|
||
Constify a char*.
|
||
(mips_va_start): Remove unused variable `u'.
|
||
(mips_va_arg): Cast value to unsigned when comparing against one.
|
||
(trace): Delete.
|
||
(save_restore_insns, mips_expand_prologue): Add missing arg in
|
||
call to `large_int'.
|
||
|
||
* mips.h: Move prototypes to mips-protos.h.
|
||
(data_section, memory_address_p, rdata_section,
|
||
readonly_data_section, simple_epilogue_p, text_section): Delete
|
||
prototypes delcared elsewhere.
|
||
(mips_epilogue_delay_slots, print_options): Delete unused decls.
|
||
(trace): Delete.
|
||
(GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
|
||
|
||
* mips.md: Delete extra args in call to `mips_move_2words'.
|
||
|
||
* xm-iris6.h (alloca): Add prototype argument.
|
||
|
||
* genpeep.c: Include "tm_p.h" in generated output file.
|
||
|
||
Thu Sep 23 10:36:55 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* basic-block.h (find_edge_index): Change parameters.
|
||
* flow.c (verify_edge_list): Pass basic_block parameters to
|
||
find_edge_index instead of integers.
|
||
|
||
Thu Sep 23 15:54:12 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* combine.c (simplify_comparison): Use an unsigned shift to adjust
|
||
the constant.
|
||
|
||
Thu Sep 23 08:46:21 1999 Guy Harris <guy@netapp.com>
|
||
|
||
* gcc.1: Fix a formatting error.
|
||
|
||
Wed Sep 22 16:10:21 1999 Martin v. L<>wis <loewis@informatik.hu-berlin.de>
|
||
|
||
* install.texi (Configurations): Remove pyramid. Add fr30, i686,
|
||
i786, mn10200, mn10300, pdp11, v850.
|
||
|
||
Thu Sep 23 07:37:13 1999 Dan Nicolaescu <dann@ics.uci.edu>
|
||
|
||
* libgcc2.c (num_digits): Add prototype with
|
||
__attribute__((const)).
|
||
(__terminate): Add prototype.
|
||
|
||
Thu Sep 23 05:32:06 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* builtins.c, dbxout.c, varasm.c: Include tm_p.h.
|
||
|
||
* alpha/alpha.c (print_operand): Fix type of `code'.
|
||
(alpha_output_filename): Constify.
|
||
* alpha/alpha.h: Move all function declarations ...
|
||
* alpha/alpha-protos.h: ... here. New file.
|
||
* alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
|
||
(SECTION_FUNCTION_TEMPLATE): Likewise.
|
||
|
||
Thu Sep 23 11:15:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
|
||
* expr.c (expand_expr): Likewise.
|
||
(do_jump): Likewise.
|
||
(do_store_flag): Pass ccp_store_flag to can_compare_p.
|
||
* expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
|
||
accessor macros.
|
||
(enum can_compare_purpose): New.
|
||
(can_compare_p): Adjust prototype.
|
||
(prepare_cmp_insn, prepare_operand): Declare.
|
||
* genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
|
||
* optabs.c (cmp_available_p): Deleted.
|
||
(expand_abs): Pass ccp_jump to can_compare_p.
|
||
(can_compare_p): New arg PURPOSE. Check for combined optabs.
|
||
(prepare_cmp_insn): No longer static. Add arg PURPOSE.
|
||
Call can_compare_p rather than cmp_available_p.
|
||
(prepare_operand): No longer static.
|
||
(emit_cmp_and_jump_insn): Check for and use cbranch patterns.
|
||
(emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
|
||
(expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
|
||
sequence to use emit_cmp_and_jump_insns.
|
||
(init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
|
||
|
||
Wed Sep 22 17:58:01 1999 Stan Cox <scox@cygnus.com>
|
||
|
||
* mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
|
||
register offsets; let LEGITIMIZE_ADDRESS load it into a register.
|
||
(LEGITIMIZE_ADDRESS): Use plus_constant to avoid
|
||
(plus (reg) (const_int 0))
|
||
* mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
|
||
|
||
Wed Sep 22 17:55:31 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (expand_block_move): DImode loads and stores require
|
||
word-aligned displacements. Increment address registers with
|
||
adddi3 on 64-bit platform. Use TARGET_POWERPC64 not TARGET_64BIT.
|
||
|
||
Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* dwarf2out.c (base_type_die): Use the name __unknown__ if there
|
||
is no name for the base type, rather than segfault. If we are
|
||
writing out a complex integer type, use DW_ATE_lo_user.
|
||
|
||
* expr.c (emit_move_insn_1): If we are copying a complex that fits
|
||
in one word or less (complex char, complex short, or on 64 bit
|
||
systems complex float) to/from a hard register, copy it through
|
||
memory instead of dying in gen_{real,imag}part. If we have a
|
||
short complex type, prevent inlining since it allocates stack
|
||
memory.
|
||
|
||
* tree.c (build_complex_type): If we are writing dwarf2 output,
|
||
generate a name for complex integer types.
|
||
|
||
Wed Sep 22 11:34:08 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
|
||
* flow.c (remove_edge): Remove extra whitespace.
|
||
(remove_fake_edges): Fix comment.
|
||
(add_noreturn_fake_exit_edges): Use the correct name.
|
||
|
||
Wed Sep 22 16:12:40 BST 1999 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
|
||
(mostlyclean): Depend on INTL_MOSTLYCLEAN.
|
||
(clean): Depend on INTL_CLEAN.
|
||
(maintainer-clean): Adjust.
|
||
|
||
Wed Sep 22 10:18:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (AC_PREREQ): Bump to 2.13.
|
||
(AC_C_STRINGIZE): Call this instead of using a custom macro.
|
||
|
||
* gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
|
||
|
||
* system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
|
||
|
||
* acconfig.h (HAVE_CPP_STRINGIFY): Delete.
|
||
|
||
* alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
|
||
(HAVE_STRINGIZE): Define.
|
||
|
||
Wed Sep 22 06:25:15 1999 Jim Kingdon <http://developer.redhat.com>
|
||
|
||
* c-parse.in: save and restore warn_pointer_arith on __extension__
|
||
along with pedantic.
|
||
(SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
|
||
Set the type of extension to itype rather than $<itype>1 kludge.
|
||
* extend.texi (Alternate Keywords): Adjust documentation.
|
||
* c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
|
||
|
||
Wed Sep 22 06:06:57 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c, pa.h, pa.md: Support multiple assembler dialects in
|
||
most assembler templates.
|
||
|
||
* pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
|
||
FP loads and stores.
|
||
(following_call): Always return zero for the PA8000.
|
||
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
|
||
FP loads and stores.
|
||
(LEGITIMIZE_RELOAD_ADDRESS): Similarly.
|
||
|
||
* pa.h (BRANCH_COST): Define.
|
||
|
||
* pa.md (return, return_internal): Use bve for PA2.0.
|
||
|
||
* pa.md (fused multiply): Add variants which reduce height for the
|
||
fused multiply, but which still generate 2 insns.
|
||
(fnegabs): Similarly.
|
||
|
||
* pa.md (subsi3): Turn into an expander. Create two anonymous
|
||
patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0.
|
||
* pa.h (EXTRA_CONSTRAINT): Handle 'S'.
|
||
|
||
* pa.md (floatunssisf2, floatunssidf2): Generate different RTL
|
||
for TARGET_PA_20.
|
||
(floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
|
||
code generation.
|
||
(floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
|
||
(fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
|
||
|
||
* regclass.c (init_regs): Add "top_of_stack" as a garbage
|
||
collection root.
|
||
|
||
* flow.c (record_active_eh_regions): Terminate loop after finding
|
||
the last insn in the last basic block.
|
||
|
||
Wed Sep 22 20:25:00 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md: Delete parallel instruction peepholes.
|
||
|
||
Wed Sep 22 19:59:19 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
|
||
|
||
Wed Sep 22 19:56:25 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
|
||
splitting to not use output template.
|
||
|
||
Wed Sep 22 19:50:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
|
||
* config/c4x/c4x.c (c4x_va_start): New function.
|
||
|
||
Tue Sep 21 18:40:01 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* genrecog.c (not_both_true): Handle correctly cases when called for
|
||
tests with different positions in the insn.
|
||
|
||
Tue Sep 21 18:29:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* machmode.h (HOST_PTR_PRINTF): Move from here ...
|
||
|
||
* system.h (HOST_PTR_PRINTF): ... to here.
|
||
|
||
* mips-tfile.c: Don't include machmode.h.
|
||
|
||
* Makefile.in (MACHMODE_H): New variable. Update to use it.
|
||
(mips-tfile.o): Don't depend on machmode.h.
|
||
|
||
Tue Sep 21 18:27:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* haifa-sched.c (sched_analyze): Rename local variable `region' to
|
||
avoid conflicts with typedef struct `region' at the top level scope.
|
||
|
||
Tue Sep 21 14:14:50 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* basic-block.h (basic_block): Add eh_beg, eh_end.
|
||
* flow.c (entry_exit_blocks): Update.
|
||
(find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
|
||
Call new functions.
|
||
(find_basic_blocks_1): Don't record eh_list at each bb. Use
|
||
lists.c functions to allocate insn lists.
|
||
(make_edges): Use eh_beg+eh_end, not the lists. Split out EH
|
||
edge creation ...
|
||
(make_eh_edge): ... here. New.
|
||
(move_stray_eh_region_notes): New.
|
||
(record_active_eh_regions): New.
|
||
(delete_unreachable_blocks): Split out block merging ...
|
||
(try_merge_blocks): ... here. New.
|
||
(merge_blocks_move_predecessor_nojumps): Remove edge arg.
|
||
Dump debugging data.
|
||
(merge_blocks_move_successor_nojumps): Likewise.
|
||
(merge_blocks): Use eh_beg+eh_end to validate block movement.
|
||
|
||
Tue Sep 21 11:15:03 1999 Martin v. L<>wis <loewis@informatik.hu-berlin.de>
|
||
|
||
* extend.texi (Bound member functions): Document unbound pmf
|
||
conversion.
|
||
|
||
Tue Sep 21 14:55:11 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* flow.c (split_edge): Handle insertion on a fallthrough edge which
|
||
has the EXIT_BLOCK as a dest.
|
||
|
||
Tue Sep 21 14:51:23 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* flow.c (remove_edge): New function to remove an edge from the
|
||
flow graph.
|
||
(remove_fake_successors): New function to remove fake successor edges.
|
||
(remove_fake_edges): New function to remove all fake edges from the
|
||
flow graph.
|
||
(add_fake_exit_edges): New function to add fake edges from all blocks
|
||
with no successors to the exit block.
|
||
* basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
|
||
prototypes for new functions.
|
||
|
||
Tue Sep 21 14:49:53 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
|
||
Use Pmode to determine whether to output .dword or .word.
|
||
|
||
Tue Sep 21 11:04:34 1999 Alex Samuel <samuel@codesourcery.com>
|
||
|
||
* tree.c (built_in_filename): New variable.
|
||
(BUILT_IN_FILENAME): New macro.
|
||
(init_tree_codes): Allocate built_in_filename.
|
||
(make_node): Use built_in_filename instead of string constant.
|
||
|
||
Tue Sep 21 14:13:27 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* configure.in: Add fr30 target.
|
||
* configure: Regenerate.
|
||
* config/fr30: New directory.
|
||
* config/fr30/crti.asm: New file.
|
||
* config/fr30/fr30.c: New file.
|
||
* config/fr30/crtn.asm: New file.
|
||
* config/fr30/fr30.h: New file.
|
||
* config/fr30/fr30.md: New file.
|
||
* config/fr30/lib1funcs.asm: New file.
|
||
* config/fr30/t-fr30: New file.
|
||
* config/fr30/xm-fr30.h: New file.
|
||
|
||
Tue Sep 21 06:45:31 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (merge_blocks_move_successor_nojumps): Delete the
|
||
BARRIER at the end of the successor, not the BARRIER before
|
||
the successor.
|
||
|
||
* pa.c (pa_add_gc_roots): Fix thinko in last change.
|
||
|
||
Tue Sep 21 05:29:17 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* stmt.c (any_pending_cleanups): Don't crash when
|
||
current_function->stmt is unset.
|
||
|
||
Tue Sep 21 00:59:49 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* emit-rtl.c (init_emit_once): Initialize const_int_rtx before
|
||
other initializations that may use it for relative offsets.
|
||
|
||
Mon Sep 20 21:43:25 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
|
||
(ASM_SPEC): Moved from sol2dbg.h. Added work-around for gas.
|
||
* config/i386/sol2dbg.h: Removed.
|
||
* config/i386/sol2gas.h: New file, to enable gas work-around.
|
||
* configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
|
||
Don't use sol2dbg.h.
|
||
* configure: Rebuilt.
|
||
|
||
Mon Sep 20 13:29:41 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* invoke.texi (-fthis-is-variable): Remove documentation.
|
||
|
||
Mon Sep 20 12:59:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* basic-block.h (compute_bb_for_insn): Declare.
|
||
* flow.c (compute_bb_for_insn): Export. Don't accept the varray
|
||
to use; set size of basic_block_for_insn directly.
|
||
(find_basic_blocks): Update.
|
||
|
||
Mon Sep 20 15:11:54 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
|
||
|
||
Mon Sep 20 14:56:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* crtstuff.c (ON_EXIT): Delete empty macro definition.
|
||
(__do_global_ctors_aux): Call atexit(), not ON_EXIT().
|
||
|
||
Mon Sep 20 15:25:35 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* c-decl.c (c_decode_option): Extend comment.
|
||
|
||
Mon Sep 20 14:43:37 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c (progname): Make 'const char *'
|
||
(flag_print_mem): Move out of main.
|
||
(version_flag): Move out of main.
|
||
(filename): Move out of main.
|
||
(debug_args): Remove g prefix from options.
|
||
(documented_lang_options): Remove cpplib specific options.
|
||
(display_help): Add g prefix to debug options.
|
||
(check_lang_option): Delete this function.
|
||
(decode_d_option): New function: Decode -d... option.
|
||
(decode_f_option): New function: Decode -f... option.
|
||
(decode_W_option): New function: Decode -W... option.
|
||
(decode_g_option): New function: Decode -g... option.
|
||
(independent_decode_option): New function: Decode a language
|
||
independent command line option.
|
||
(main): Invoke lang_decode_option and then
|
||
independent_decode_option on each command line option in
|
||
turn.
|
||
|
||
Mon Sep 20 05:41:36 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
Revert this change. Gavin's patch to operand_equal_p is a better fix.
|
||
* fold-const.c (fold_range_test): Do not try to fold the range
|
||
test if the rhs or lhs has side effects.
|
||
|
||
* basic-block.h (compute_flow_dominators): Declare.
|
||
|
||
* gcse.c (alloc_code_hoist_mem): New function.
|
||
(free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
|
||
(compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
|
||
(hoist_code, one_code_hoisting_pass): Likewise.
|
||
(gcse_main): If optimizing for size, then hoist expressions
|
||
computed in multiple dominated basic blocks.
|
||
|
||
* gcse.c (invalid_nonnull_info): New function.
|
||
(delete_null_pointer_checks): Likewise.
|
||
* rtl.h (delete_null_pointer_checks): Declare.
|
||
* toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
|
||
|
||
* flow.c (merge_blocks_move_predecessor_nojumps): New function.
|
||
(merge-blocks_move_successor_nojumps): Likewise.
|
||
(merge_blocks): Allow merging of some blocks, even if it requires
|
||
physical movement of the blocks, but not if it requires new jumps.
|
||
|
||
* bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
|
||
Callers and prototype changed.
|
||
* bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
|
||
|
||
Mon Sep 20 06:56:32 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
|
||
-YP when both -p and -pg are present. From i386/sol2.h.
|
||
|
||
Mon Sep 20 10:49:05 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* Makefile.in (distclean): Delete tm_p.h.
|
||
* configure.in: Create a new file, "tm_p.h", from a list in
|
||
"tm_p_file". For ix86 systems, set up "tm_p_file" to include
|
||
"i386/i386-protos.h".
|
||
|
||
* alias.c: Include "tm_p.h".
|
||
* c-typeck.c: Likewise.
|
||
* calls.c: Likewise.
|
||
* cse.c: Likewise.
|
||
* emit-rtl.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* expmed.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* final.c: Likewise.
|
||
* flow.c: Likewise.
|
||
* fold-const.c: Likewise.
|
||
* function.c: Likewise.
|
||
* gcse.c: Likewise.
|
||
* global.c: Likewise.
|
||
* haifa-sched.c: Likewise.
|
||
* integrate.c: Likewise.
|
||
* jump.c: Likewise.
|
||
* local-alloc.c: Likewise.
|
||
* loop.c: Likewise.
|
||
* optabs.c: Likewise.
|
||
* recog.c: Likewise.
|
||
* reg-stack.c: Likewise.
|
||
* regclass.c: Likewise.
|
||
* regmove.c: Likewise.
|
||
* reload.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* reorg.c: Likewise.
|
||
* resource.c: Likewise.
|
||
* stmt.c: Likewise.
|
||
* stor-layout.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
* tree.c: Likewise.
|
||
* unroll.c: Likewise.
|
||
* genattrtab.c (main): Make generated file include "tm_p.h".
|
||
* genemit.c (main): Likewise.
|
||
* genoutput.c (main): Likewise.
|
||
* genrecog.c (main): Likewise.
|
||
|
||
* i386.h: Delete all prototypes.
|
||
* i386.c: Include "tm_p.h".
|
||
(ix86_attr_length_default): Call constant_call_address_operand
|
||
with correct number of arguments.
|
||
* i386-protos.h: New file.
|
||
* i386.md (unnamed patterns): Call constant_call_address_operand
|
||
with correct number of arguments.
|
||
(exception_receiver): Call load_pic_register with correct number
|
||
of arguments.
|
||
|
||
Sun Sep 19 14:18:39 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-pragma.c (mark_align_stack): Dereference the void* properly.
|
||
|
||
Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* rtl.h (insns_safe_to_move_p): New function.
|
||
* loop.c (find_and_verify_loops): Use it.
|
||
* rtlanal.c (insns_safe_to_move_p): Define it.
|
||
|
||
Sun Sep 19 02:54:33 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-pragma.c: Include ggc.h.
|
||
* Makefile.in (c-pragma.o): Update.
|
||
|
||
Sat Sep 18 16:01:18 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* config/i386/sol2.h (CPP_SPEC): Support -[p]threads
|
||
(LIB_SPEC): Likewise.
|
||
(LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
|
||
Reindent -YP/-p/-pg.
|
||
Copied from config/sparc/sol2.h.
|
||
|
||
Sat Sep 18 11:52:43 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-pragma.c (mark_align_stack): New.
|
||
(init_pragma): New.
|
||
* c-pragma.h (init_pragma): Declare it.
|
||
* c-lex.c (init_parse): Call it.
|
||
|
||
Sat Sep 18 15:20:38 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* configure.in: Pick up thread library on Solaris/x86 just
|
||
like on Solaris/sparc.
|
||
* configure: Rebuilt.
|
||
|
||
Sat Sep 18 11:15:58 1999 Alex Samuel <samuel@codesourcery.com>
|
||
|
||
* rtl.h (global_rtx_index): New enum.
|
||
(global_rtl): Change to array of rtx.
|
||
(pc_rtx, cc0_rtx): Redefine accordingly.
|
||
(cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
|
||
(hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
|
||
(virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
|
||
(virtual_outgoing_args_rtx, virtual_cfa): Likewise.
|
||
(const_int_rtx): Change to array of rtx.
|
||
(const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
|
||
accordingly.
|
||
* emit-rtl.c (global_rtl): Change to array of rtx.
|
||
(const_int_rtx): Change to aray of rtx.
|
||
(gen_rtx_CONST_INT): Redefine accordingly.
|
||
(init_emit_once): Allocate and initialize global_rtl. Likewise
|
||
for const_int_rtx. Add both as GC roots.
|
||
* genattrtab.c (global_rtl): Update declaration.
|
||
|
||
1999-09-17 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* Makefile (USER_H): Add iso646.h back.
|
||
|
||
Sat Sep 18 01:07:21 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
|
||
zapping the LOG_LINKS of sched_before_next_call.
|
||
|
||
* pa.h (INSN_SETS_ARE_DELAYED): Delete.
|
||
* pa.c (insn_refs_are_delayed): Renamed from
|
||
insn_sets_and_refs_are_delayed.
|
||
|
||
Fri Sep 17 15:19:01 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* functiion.h (struct function): Add x_whole_function_mode_p.
|
||
(retrofit_block): Declare.
|
||
* function.c (retrofit_block): New function.
|
||
(identify_blocks): Add assertions. Allow an incomplete set of
|
||
block notes if we're still generating code for the function.
|
||
* integrate.c: Include loop.h.
|
||
(expand_inline_function): Call find_loop_tree_blocks to map block
|
||
notes to blocks when in whole-function mode. Use retrofit_block
|
||
to insert new BLOCKs for the inlined function, rather than
|
||
insert_block.
|
||
* stmt.c (expand_fixup): Likewise. Don't use pushlevel/polevel.
|
||
* Makefile.in (integrate.o): Depend on loop.h.
|
||
|
||
Fri Sep 17 15:11:20 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.h (warn_about_unused_variables): Declare.
|
||
* stmt.c (warn_about_unused_variables): New function, split out
|
||
from ...
|
||
(expand_end_bindings): Here.
|
||
|
||
Fri Sep 17 15:07:37 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* stmt.c (preserve_subexpressions_p): Don't crash when
|
||
current_function->stmt is unset.
|
||
|
||
Fri Sep 17 15:03:16 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* stmt.c (expand_start_bindings): Allow callers to pass a flag
|
||
indicating that no NOTE_INSN_BLOCK_BEG note is required.
|
||
(expand_start_target_temps): Use it.
|
||
* except.c (expand_eh_region_start_for_decl): Likewise.
|
||
* expr.c (expand_expr): Likewise.
|
||
|
||
Fri Sep 17 15:05:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* fold-const.c (operand_equal_p): Pay attention to side effects.
|
||
|
||
Fri Sep 17 11:14:17 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
|
||
* sparc/sunos4.h (HAVE_ON_EXIT): Remove.
|
||
|
||
* tlink.c (scan_linker_output): Look for keywords before accepting
|
||
a mangled name in quotes.
|
||
|
||
Thu Sep 16 16:47:08 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
|
||
* alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
|
||
|
||
Thu Sep 16 16:35:41 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md: Revert Thu Nov 26 change that came in through the
|
||
last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
|
||
Avoid earlyclobber when possible.
|
||
|
||
Thu Sep 16 18:44:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* libgcc2.c (__do_global_ctors): Call atexit with one arg.
|
||
|
||
* sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
|
||
Define HAVE_ON_EXIT.
|
||
|
||
Thu Sep 16 18:06:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros. Use
|
||
CTYPE_CONV in all ctype macros.
|
||
|
||
* cccp.c (initialize_char_syntax): Use uppercase ctype macro
|
||
from system.h.
|
||
|
||
* cexp.y (initialize_random_junk): Likewise.
|
||
|
||
* c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
|
||
|
||
* i370.c (handle_pragma): Likewise.
|
||
|
||
* i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
|
||
|
||
* v850.c (override_options): Likewise.
|
||
|
||
* doprint.c (_doprnt): Likewise.
|
||
|
||
* fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
|
||
Likewise.
|
||
|
||
* fixinc/server.c (load_data): Likewise.
|
||
|
||
* fold-const.c (real_hex_to_f): Likewise.
|
||
|
||
* genattr.c (write_upcase, gen_attr): Likewise.
|
||
|
||
* genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
|
||
write_upcase): Likewise.
|
||
|
||
* genemit.c (print_code): Likewise.
|
||
|
||
* genopinit.c (gen_insn): Likewise.
|
||
|
||
* genpeep.c (print_code): Likewise.
|
||
|
||
* genrecog.c (print_code): Likewise.
|
||
|
||
* optabs.c (init_libfuncs): Likewise.
|
||
|
||
Thu Sep 16 14:03:32 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* haifa-sched.c (sched_analyze): Keep the list of notes organized
|
||
in pairs.
|
||
(reemit_notes): Likewise.
|
||
|
||
Thu Sep 16 11:50:52 1999 Alex Samuel <samuel@codesourcery.com>
|
||
|
||
* ggc.h (ggc_root): Move to ggc-common.c.
|
||
(roots): Remove.
|
||
(ggc_mark_rtx, ggc_mark_tree): Change to macro.
|
||
(ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
|
||
(ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
|
||
(ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
|
||
* ggc-common.c (ggc_root): Move from ggc.h.
|
||
(roots): Declare, static.
|
||
(ggc_mark_rtx, ggc_mark_tree): Renamed to...
|
||
(ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
|
||
null or check/set mark bit.
|
||
(ggc_mark_roots): New.
|
||
* ggc-simple.c (ggc_collect): Call ggc_mark_roots.
|
||
|
||
Thu Sep 16 11:37:32 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m32r.c: Include toplev.h.
|
||
(*): Add ATTRIBUTE_UNUSED as needed to arguments.
|
||
(gen_compare): Rename swap_p to must_swap to match uses.
|
||
Add default abort case.
|
||
(m32r_output_function_epilogue): Remove unused variables.
|
||
(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
|
||
* m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
|
||
define to empty parameter list. Update all uses.
|
||
(predicate decls): Use enum machine_mode not int.
|
||
* m32r.md (movsi): Call abort, not fatal_insn.
|
||
(zero_branch_insn, rev_zero_branch_insn): Add default abort case.
|
||
|
||
1999-09-14 Andrew Haley <aph@cygnus.com>
|
||
|
||
* config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
|
||
use $0 instead of 0.
|
||
|
||
Thu Sep 16 10:53:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload1.c (order_regs_for_reload): Move hard_reg_n_uses
|
||
computation out of loop over hard regs.
|
||
|
||
Wed Sep 15 21:37:06 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* function.c (identify_blocks): Don't shadow a variable in an
|
||
outer scope.
|
||
* integrate.c (integrate_decl_tree): Don't use pushlevel,
|
||
pushdecl, or poplevel to build up the new BLOCK tree.
|
||
(expand_inline_function): Likewise.
|
||
(integrate_parm_decls): Likewise.
|
||
|
||
Wed Sep 15 21:20:38 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-typeck.c (qualify_type): Merge qualifiers from both types.
|
||
|
||
1999-09-15 Brad Lucier <lucier@math.purdue.edu>
|
||
|
||
* toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
|
||
* invoke.texi: Document this change.
|
||
|
||
Wed Sep 15 17:56:00 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
|
||
Free the struct.
|
||
(mark_emit_status): Renamed from mark_emit_state.
|
||
* except.c (mark_eh_status): Renamed from mark_eh_state.
|
||
Check not null before marking.
|
||
(free_eh_status): New.
|
||
* expr.c (mark_expr_status, free_expr_status): New.
|
||
* function.c (free_machine_status): New.
|
||
(free_after_parsing): New.
|
||
(free_after_compilation): Move bits to free_after_parsing; call
|
||
free_eh_status, free_expr_status; zero the marked members of the
|
||
function state.
|
||
(prepare_function_start): No can_garbage_collect.
|
||
Call init_eh_for_function.
|
||
(expand_dummy_function_end): Free up current_function state.
|
||
(mark_function_status): Renamed from mark_function_state.
|
||
(mark_function_chain): No can_garbage_collect. Call mark_expr_status.
|
||
* function.h (struct function): No can_garbage_collect.
|
||
(free_machine_status, free_after_parsing): Declare.
|
||
(free_eh_status, free_expr_status): Declare.
|
||
* ggc.h (mark_expr_status): Declare.
|
||
* stmt.c (free_stmt_status): Free the struct.
|
||
(mark_stmt_status): Renamed from mark_stmt_state.
|
||
(init_stmt): Don't call init_eh.
|
||
(init_stmt_for_function): Don't call init_eh_for_function.
|
||
* toplev.c (compile_file): Call init_eh.
|
||
(rest_of_compilation): Free basic block info before ggc_collect.
|
||
Call free_after_parsing; conditionally call free_after_compilation.
|
||
* varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
|
||
Check not null before marking.
|
||
(free_varasm_status): Don't check DECL_DEFER_OUTPUT. Free the struct.
|
||
|
||
Wed Sep 15 17:53:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-lex.c (yylex): Initialize warn.
|
||
|
||
Wed Sep 15 18:35:38 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (emit_move_sequence): Properly set the mode of the scratch
|
||
register when performing secondary reloads for the SAR register.
|
||
|
||
Wed Sep 15 15:51:52 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
|
||
(NOTE_BLOCK): New macro.
|
||
(NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
|
||
* function.h (identify_blocks): Change prototype.
|
||
* function.c (identify_blocks): Simplify.
|
||
(reorder_blocks): Likewise.
|
||
* ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
|
||
NOTE_INSN_BLOCK_{BEG,END}.
|
||
* haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
|
||
the list of saved notes if the note isn't a
|
||
NOTE_INSN_BLOCK_{BEG,END}.
|
||
(move_insn1): Use NOTE_EH_HANDLER in comment, rather than
|
||
NOTE_BLOCK_NUMBER.
|
||
(reemit_notes): Adjust recreation of notes to reflect new saved
|
||
note structure.
|
||
* print-rtl.c (print_rtx): Print the address of the BLOCK when
|
||
printing a block note.
|
||
* stmt.c (block_vector): Remove.
|
||
(find_loop_tree_blocks): Simplify.
|
||
(unroll_block_trees): Likewise.
|
||
* tree.h (reorder_block): Change prototype.
|
||
|
||
Wed Sep 15 14:39:35 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* gbl-ctors.h: Lose HAVE_ATEXIT. Don't define ON_EXIT.
|
||
* libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
|
||
(__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
|
||
(__do_global_dtors): Likewise. Don't mess with _exit_dummy_decl.
|
||
(atexit, exit): Simplify.
|
||
* tm.texi: Document NEED_ATEXIT and ON_EXIT. Remove HAVE_ATEXIT.
|
||
* config/lots: Remove defns of HAVE_ATEXIT.
|
||
|
||
Wed Sep 15 10:25:12 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* calls.c (precompute_arguments): Fix typo in comment.
|
||
* expr.c (preexpand_calls): Don't preexpand the cleanup in a
|
||
TARGET_EXPR.
|
||
|
||
Wed Sep 15 09:59:59 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* dsp16xx.c (override_options): Fix typos in GC root registration.
|
||
|
||
Wed Sep 15 15:23:28 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
|
||
from config/svr4.h.
|
||
(UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
|
||
(FUNCTION_PROFILER): Redefine appropriately for Linux.
|
||
(CC1_SPEC): Likewise.
|
||
|
||
Wed Sep 15 10:09:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* genattr.c (main): Add extern prototype. Call return, not exit.
|
||
* genattrtab.c (main): Likewise.
|
||
* gencheck.c (main): Likewise.
|
||
* gencodes.c (main): Likewise.
|
||
* genconfig.c (main): Likewise.
|
||
* genemit.c (main): Likewise.
|
||
* genextract.c (main): Likewise.
|
||
* genflags.c (main): Likewise.
|
||
* gengenrtl.c (main): Likewise.
|
||
* genopinit.c (main): Likewise.
|
||
* genoutput.c (main): Likewise.
|
||
* genpeep.c (main): Likewise.
|
||
* genrecog.c (main): Likewise.
|
||
|
||
* genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
|
||
* genattrtab.c (get_insn_name): Likewise.
|
||
* gencodes.c (get_insn_name): Likewise.
|
||
* genconfig.c (get_insn_name): Likewise.
|
||
* genemit.c (get_insn_name): Likewise.
|
||
* genextract.c (get_insn_name): Likewise.
|
||
* genflags.c (get_insn_name): Likewise.
|
||
* genopinit.c (get_insn_name): Likewise.
|
||
* genpeep.c (get_insn_name): Likewise.
|
||
|
||
* gencheck.c (usage): Add static prototype.
|
||
* genextract.c (print_path): Constify a char*.
|
||
* genopinit.c (optabs): Likewise.
|
||
* genoutput.c (operand_data, data, output_predicate_decls,
|
||
compare_operands): Likewise.
|
||
* genrecog.c (write_tree): Add default case in switch.
|
||
|
||
Wed Sep 15 09:59:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
|
||
|
||
* print-rtl.c (get_insn_name): Remove prototype.
|
||
|
||
* toplev.h (progname): Declare const.
|
||
|
||
* toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
|
||
init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
|
||
dump_sched_info, dump_local_alloc, regset_release_memory,
|
||
print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
|
||
error_with_file_and_line, error_with_decl, error_for_asm, error,
|
||
fatal, warning_with_file_and_line, warning_with_decl, warning,
|
||
pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
|
||
Remove redundant prototypes.
|
||
|
||
(notice, check_lang_option, report_file_and_line, vnotice,
|
||
mark_file_stack): Add static prototype.
|
||
(set_fatal_function): Add prototype.
|
||
(vnotice, report_file_and_line, set_fatal_function,
|
||
check_lang_option): Constify a char*.
|
||
(main): Prototype. Call return, not exit.
|
||
|
||
Wed Sep 15 09:50:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
|
||
|
||
* configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
|
||
|
||
* gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
|
||
|
||
* ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
|
||
|
||
Wed Sep 15 11:04:43 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* function.c (assign_parms): Delete arg SECOND_TIME. Don't test it,
|
||
behave as if it's zero in all cases.
|
||
(expand_function_start): Adjust call to assign_parms.
|
||
* tree.h (assign_parms): Adjust prototype.
|
||
* objc/objc-act.c (hack_method_prototype): Adjust call to
|
||
assign_parms.
|
||
|
||
Tue Sep 14 21:47:06 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
|
||
arg_pointer_rtx fixed if the argument pointer register is
|
||
not fixed.
|
||
(NONZERO_BASE_PLUS_P): Likewise.
|
||
|
||
Tue Sep 14 20:26:02 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtl.def (match_insn, match_insn2): Remove match_insn; rename
|
||
match_insn2 to match_insn.
|
||
* genrecog.c (add_to_sequence): Rename MATCH_INSN2.
|
||
|
||
Tue Sep 14 20:10:29 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (USER_H): Remove va-foo.h.
|
||
|
||
* ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
|
||
va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
|
||
va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
|
||
va-spur.h,va-v850.h}: Remove.
|
||
|
||
Tue Sep 14 19:43:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc/sparc.md (eligible_for_return_delay): New attribute.
|
||
(in_return_delay): Use it instead of match_insn.
|
||
|
||
Tue Sep 14 23:05:37 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* config/alpha/va_list.h (va-alpha.h): Do not include.
|
||
(__gnuc_va_list): Typedef as in varargs.h.
|
||
|
||
Tue Sep 14 18:14:03 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
|
||
DECL_LIVE_RANGE_RTL.
|
||
|
||
Tue Sep 14 16:47:08 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
|
||
not NOTE_BLOCK_NUMBER.
|
||
(expand_eh_region_end): Likewise.
|
||
(find_exception_handler_labels): Likewise.
|
||
(scan_region): Likewise.
|
||
(exception_optimize): Likewise.
|
||
(update_rethrow_references): Likewise.
|
||
(set_insn_eh_region): Likewise.
|
||
* final.c (final_scan_insn): Likewise.
|
||
* flow.c (make_edges): Likewise.
|
||
* integrate.c (expand_inline_function): Likewise.
|
||
* print-rtl.c (print_rtx): Likewise.
|
||
|
||
Tue Sep 14 16:30:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ginclude/stdarg.h, ginclude/varargs.h: Implement in
|
||
terms of builtin functions and types.
|
||
|
||
* mips.c (mips_build_va_list): New.
|
||
(mips_va_start, mips_va_arg): New.
|
||
* mips.h (BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
|
||
|
||
* sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
|
||
(sh_build_va_list, sh_va_start, sh_va_arg): New.
|
||
* sh.h (BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
|
||
|
||
Tue Sep 14 16:20:24 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* recog.h (struct recog_data): Make dup_num, operand_address_p,
|
||
n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
|
||
(struct insn_data): Likewise with n_operands, n_dups,
|
||
n_alternatives, output_format.
|
||
* regclass.c (scan_one_insn): Cast n_operands to int before
|
||
arithmetic inside comparison.
|
||
|
||
Tue Sep 14 15:13:36 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (compile_function): Unconditionally emit nop.
|
||
|
||
Tue Sep 14 14:41:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* haifa-sched.c (actual_hazard): Move declaration of variable
|
||
`this_cost' into the scope where it is used.
|
||
|
||
Tue Sep 14 14:14:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-pragma.c (handle_pragma_token): Wrap variables `name' and
|
||
`value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
|
||
HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* genrecog.c (make_insn_sequence): Call memset, not bzero.
|
||
|
||
* jump.c (find_insert_position): Don't declare or define unless
|
||
!HAVE_conditional_arithmetic.
|
||
(returnjump_p_1, delete_prior_computation): Add static prototypes.
|
||
|
||
* mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
|
||
|
||
* recog.c (offsettable_address_p): Prototype function pointer.
|
||
(preprocess_constraints): Call memset, not bzero.
|
||
|
||
* tree.c (tree_node_kind_names): Constify a char*. Make static.
|
||
(gcc_obstack_init): Don't declare.
|
||
(fix_sizetype): Add static prototype.
|
||
(gcc_obstack_init): Use prototype casts in call to _obstack_begin.
|
||
(tree_cons): Call memset, not bzero.
|
||
|
||
* varasm.c (remove_from_pending_weak_list): Wrap declaration and
|
||
definition in macro ASM_WEAKEN_LABEL.
|
||
(mark_const_hash_entry): Add static prototype.
|
||
|
||
Tue Sep 14 12:22:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-lex.c (handle_generic_pragma): Remove unused variable `c'.
|
||
|
||
* unroll.c (find_common_reg_term, subtract_reg_term,
|
||
loop_find_equiv_value): Add static prototypes.
|
||
(unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
|
||
(copy_loop_body): Remove unreachable break statement.
|
||
|
||
* sparc.c (sparc_va_arg): Remove unused variable `tmp'.
|
||
|
||
* sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
|
||
|
||
Tue Sep 14 15:28:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
Undo some changes from the gcc2 merge:
|
||
* rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
|
||
* emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
|
||
pointers.
|
||
|
||
Undo this change:
|
||
Sat Oct 3 07:20:28 1998 Stephen L Moshier <moshier@world.std.com>
|
||
* emit-rtl.c (gen_lowpart_common): Disable optimization of
|
||
initialized float-int union if the value is a NaN.
|
||
|
||
Tue Sep 14 04:03:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* gthr-win32.h: New file.
|
||
|
||
* i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
|
||
shared as a valid attribute.
|
||
* i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
|
||
* extend.texi: Document `shared' variable attribute.
|
||
|
||
Tue Sep 14 04:01:46 1999 Loren Rittle <ljrittle@acm.org>
|
||
|
||
* configure.in: Handle --enable-threads on FreeBSD.
|
||
* configure: Rebuit.
|
||
|
||
Tue Sep 14 03:58:44 1999 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||
|
||
* configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
|
||
thread support.
|
||
* configure: Rebuilt.
|
||
|
||
Tue Sep 14 03:47:23 1999 Joel Sherrill <joel@OARcorp.com>
|
||
Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
|
||
Rosimildo DaSilva <rdasilva@connecttel.com>
|
||
|
||
* configure.in (m68k-*-rtemscoff*): Added.
|
||
* configure.in (mips64orion-*-rtems*): Converted to ELF.
|
||
* configure.in (sparc-*-rtemsaout*): Added as alias for old
|
||
sparc-rtems configuration.
|
||
* configure.in (sparc-*-rtemself*): Added.
|
||
* configure.in (sparc-*-rtems*): Now ELF not a.out.
|
||
* config/i386/rtems.h: Added comment.
|
||
* config/sparc/rtemself.h: New file.
|
||
|
||
* configure.in (m68k-rtemself): Added.
|
||
* config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
|
||
and DWARF_DEBUGGING_INFO.
|
||
* config/m68k/crti.s: New file.
|
||
* config/m68k/crtn.s: New file.
|
||
* config/m68k/t-crtstuff: New file.
|
||
* config/m68k/rtemself.h: New file.
|
||
|
||
* configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
|
||
global ctor/dtor and C++ exception handling.
|
||
* config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
|
||
for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
|
||
ENDFILE_SPEC.
|
||
* config/i386/t-rtems-i386: New File.
|
||
|
||
Tue Sep 14 09:47:41 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* stmt.c (expand_end_case): Return right away if the case stack is
|
||
empty.
|
||
|
||
Tue Sep 14 01:47:19 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (version.c): Remove rule incorrectly brought in from
|
||
the gcc2 merge.
|
||
|
||
Tue Sep 14 01:42:27 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* Makefile.in: Prepend $(SHELL) to move-if-change calls.
|
||
* msdos/top.sed: Take into account a prepended $(SHELL) to
|
||
move-if-change.
|
||
* winnt/config-nt.sed: Likewise. Kill bogus substitution.
|
||
|
||
* objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
|
||
|
||
Tue Sep 14 01:38:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (fixup_match_1): Don't change an unchanging register.
|
||
(stable_but_for_p): Renamed to:
|
||
(stable_and_no_regs_but_for_p). Reject unchanging registers too.
|
||
Changed all callers.
|
||
|
||
Tue Sep 14 01:33:15 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* loop.c (strength_reduce): Don't call reg_used_between_p if the
|
||
insn from BL2 is after the insn from BL.
|
||
|
||
Mon Sep 13 21:06:01 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* recog.h (INSN_OUTPUT_FORMAT_*): New.
|
||
(struct insn_data): Merge `template' and `outfun' into `output'.
|
||
Add `output_format'.
|
||
* genoutput.c (INSN_OUTPUT_FORMAT_*): New.
|
||
(struct data): Remove `outfun'; add `output_format'.
|
||
(name_for_index): Remove declaration.
|
||
(output_insn_data): Handle output formats.
|
||
(process_template): Emit the bare array for @.
|
||
(gen_expand, gen_split): Set output_format to NONE.
|
||
* output.h (get_insn_template): Declare.
|
||
* final.c (get_insn_template): New.
|
||
(final_scan_insn): Use it.
|
||
* toplev.c (compile_file): Likewise.
|
||
|
||
* c4x/c4x.c (c4x_process_after_reload): Likewise.
|
||
* i860/i860.c (output_delayed_branch): Likewise.
|
||
(output_delay_insn): Likewise.
|
||
|
||
1999-09-13 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||
|
||
* rtl.c (obstack_alloc_rtx): Removed.
|
||
|
||
1999-09-13 17:03 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
|
||
|
||
Mon Sep 13 15:21:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.c (call_insn_operand): Reject const_int.
|
||
(expander_call_insn_operand): Use call_insn_operand.
|
||
|
||
Mon Sep 13 17:44:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gcc.c (getrusage): Wrap prototype arguments in PROTO().
|
||
|
||
1999-09-13 12:18 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
|
||
Use DImode operation.
|
||
|
||
1999-09-13 12:13 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* gcc.c: Include sys/resource.h.
|
||
(report_times): New flag.
|
||
(execute): If report_times is set, calculate and report the
|
||
CPU time consumed by each subprocess.
|
||
|
||
(rus, prus): New globals.
|
||
(option_map): Add --time.
|
||
(display_help): Document -time.
|
||
(process_command): Set report_times if -time is given.
|
||
Turn off -pipe if -time is given.
|
||
|
||
* invoke.texi: Document new option -time.
|
||
|
||
* configure.in: Check for getrusage. Check if we have to
|
||
prototype getrusage.
|
||
* acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
Mon Sep 13 12:57:06 1999 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
|
||
fields.
|
||
|
||
Mon Sep 13 10:01:33 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
|
||
appropriate) if FINE_GRAINED_LIBRARIES is not defined.
|
||
(nan): Return _thenan_sf or _thenan_df as appropriate.
|
||
(L_thenan_sf): Define _thenan_sf.
|
||
(L_thenan_df): Define _thenan_df.
|
||
|
||
* Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
|
||
(DPBIT_FUNCS): Add _thenan_df.
|
||
|
||
Mon Sep 13 09:38:53 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* tree.c (fix_sizetype): Exchange the types for TYPE_SIZE and
|
||
TYPE_SIZE_UNIT.
|
||
|
||
Sun Sep 12 23:28:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
|
||
|
||
* gcc.h: New file.
|
||
(lang_specific_driver): Don't take a function pointer parameter.
|
||
All callers changed.
|
||
|
||
* gcc.c: Include gcc.h.
|
||
(do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
|
||
lang_specific_extra_outfiles, fatal): Don't declare.
|
||
(multilib_defaults_raw): Constify.
|
||
(read_specs): Call memset, rather than bzero.
|
||
(main): Call return, not exit.
|
||
(lookup_compiler): Call memcpy, not bcopy.
|
||
(fatal): Make extern.
|
||
|
||
* cppspec.c: Include gcc.h.
|
||
(lang_specific_driver): Initialize variable `quote'. Constify a
|
||
char*. All calls to the function pointer parameter now
|
||
explicitly call `fatal'.
|
||
|
||
* gccspec.c (lang_specific_driver): Include gcc.h.
|
||
|
||
Sun Sep 12 19:52:10 1999 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (note_invalid_constants): Use recog_data.operand_type
|
||
for recog_op_type.
|
||
|
||
Sun Sep 12 15:53:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
|
||
Declare.
|
||
|
||
* reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
|
||
reload_reg_class, reload_inmode, reload_outmode, reload_optional,
|
||
reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
|
||
reload_secondary_in_reload, reload_secondary_out_reload,
|
||
reload_secondary_in_icode, reload_secondary_out_icode,
|
||
reload_reg_rtx, reload_when_needed): Delete declarations.
|
||
(struct reload): New structure.
|
||
(rld): Declare new array.
|
||
* reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
|
||
reload_reg_class, reload_inmode, reload_outmode, reload_optional,
|
||
reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
|
||
reload_secondary_in_reload, reload_secondary_out_reload,
|
||
reload_secondary_in_icode, reload_secondary_out_icode,
|
||
reload_reg_rtx, reload_when_needed): Delete definitions.
|
||
(rld): New array.
|
||
(whole file): Replace uses of the deleted arrays with uses of rld.
|
||
* reload1.c (whole file): Replace uses of the deleted arrays with
|
||
uses of rld.
|
||
(choose_reload_regs): Copy in/out of save_reload_reg_rtx with
|
||
explicit loops, not with bcopy.
|
||
|
||
Sun Sep 12 05:00:24 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
|
||
insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
|
||
insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
|
||
insn_name): Delete and consolidate into new structures.
|
||
(insn_operand_predicate_fn): New.
|
||
(insn_output_fn): New.
|
||
(insn_gen_fn): New.
|
||
(struct insn_operand_data): New.
|
||
(struct insn_data): New.
|
||
(insn_data): New.
|
||
(OUT_FCN): Update for insn_data change.
|
||
* builtins.c (expand_builtin_strlen): Likewise.
|
||
(expand_builtin_memcmp): Likewise.
|
||
* combine.c (make_extraction, simplify_comparison): Likewise.
|
||
* cse.c (canon_reg, cse_insn): Likewise.
|
||
* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
|
||
* expmed.c (store_bit_field, extract_bit_field): Likewise.
|
||
(emit_store_flag): Likewise.
|
||
* expr.c (convert_move, emit_block_move): Likewise.
|
||
(clear_storage, emit_push_insn, expand_increment): Likewise.
|
||
(do_store_flag): Likewise.
|
||
* expr.h (GEN_FCN): Likewise.
|
||
(insn_gen_function): Die.
|
||
* final.c (final_scan_insn): Update for insn_data change.
|
||
(output_asm_name): Likewise.
|
||
* function.c (fixup_var_refs_1): Likewise.
|
||
* loop.c (check_dbra_loop): Likewise.
|
||
* optabs.c (expand_binop, expand_twoval_binop): Likewise.
|
||
(expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
|
||
(prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
|
||
(emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
|
||
* recog.c (validate_replace_rtx_1, extract_insn): Likewise.
|
||
* regmove.c (gen_add3_insn): Likewise.
|
||
* reload.c (push_secondary_reload, combine_reloads): Likewise.
|
||
(find_reloads, find_reloads_address_1): Likewise.
|
||
(debug_reload_to_stream): Likewise.
|
||
* reload1.c (emit_reload_insns, gen_reload): Likewise.
|
||
* stmt.c (expand_end_case): Likewise.
|
||
* toplev.c (compile_file): Likewise.
|
||
|
||
* c4x/c4x.c (c4x_process_after_reload): Likewise.
|
||
* i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
|
||
|
||
* print-rtl.c (insn_name_ptr): Remove declaration.
|
||
(get_insn_name): Declare.
|
||
(print_rtx): Use it.
|
||
* genoutput.c (insn_name_ptr): Remove.
|
||
(next_operand_number): New.
|
||
(struct operand_data): New.
|
||
(null_operand, odata, odata_end): New.
|
||
(struct data): Use struct operand_data.
|
||
(idata, idata_end): Renamed from insn_data and end_of_insn_data.
|
||
(get_insn_name): Renamed from name_for_index.
|
||
(output_prologue): Define NO_MD_PROTOTYPES.
|
||
(output_predicate_decls): Break out from output_epilogue.
|
||
Iterate over the operands list.
|
||
(output_operand_data): Break out from output_epilogue. Emit
|
||
just the operands list.
|
||
(output_insn_data): Break out from output_epilogue. Emit just
|
||
the insn data.
|
||
(output_epilogue): Remove.
|
||
(output_get_insn_name): New.
|
||
(constraints, op_n_alternatives, predicates, address_p): Die.
|
||
(modes, strict_low, seen): Die.
|
||
(scan_operands): Take new param `d' instead of writing to
|
||
seven global variables.
|
||
(compare_operands): New.
|
||
(place_operands): New.
|
||
(validate_insn_alternatives): Update for struct data change.
|
||
(gen_insn): Don't zero or copy 7 global arrays. Update for
|
||
scan_operands; call place_operands.
|
||
(gen_peephole, gen_expand, gen_split): Likewise.
|
||
(main): Update for new output routines.
|
||
|
||
* genattr.c (insn_name_ptr): Remove.
|
||
(get_insn_name): New function.
|
||
* genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
|
||
* genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
|
||
* alpha.md (adddi3): Make `pattern' array static.
|
||
|
||
Sun Sep 12 22:05:21 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (c4x_rpts_cycles_string,
|
||
c4x_cpu_version_string): Constify char *.
|
||
* config/c4x/c4x.c (c4x_rpts_cycles_string,
|
||
c4x_cpu_version_string): Likewise.
|
||
|
||
Sat Sep 11 23:28:33 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tree.c (save_tree_status): Revert 10 Sep change.
|
||
(restore_tree_status): Likewise. Call obstack_free with NULL
|
||
before freeing the obstack proper.
|
||
|
||
Sat Sep 11 23:23:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* cse.c (cse_main): If gc'ing, collect around cse_basic_block.
|
||
|
||
* ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
|
||
surrounding context.
|
||
|
||
Sat Sep 11 19:52:43 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.c (type_hash_canon): Put all types in the hash-table, when
|
||
GC'ing.
|
||
|
||
Sat Sep 11 18:37:04 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* recog.h (struct recog_data, recog_data): New.
|
||
(recog_foo variables): Kill.
|
||
* recog.c (recog_operand, recog_operand_loc): Kill.
|
||
(recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
|
||
(recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
|
||
(recog_constraints, recog_op_type, recog_operand_address_p): Kill.
|
||
(recog_data): Define.
|
||
(extract_insn): Update all recog_foo references to use recog_data.
|
||
(preprocess_constraints, constrain_operands): Likewise.
|
||
* final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
|
||
* genattrtab.c (main): Likewise.
|
||
* genextract.c (main): Likewise.
|
||
* genoutput.c: Likewise.
|
||
* genrecog.c (write_subroutine, main): Likewise.
|
||
* local-alloc.c (block_alloc): Likewise.
|
||
* reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
|
||
* regclass.c (scan_one_insn, record_reg_classes): Likewise.
|
||
* regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
|
||
* reload.c (find_reloads, find_reloads_toplev): Likewise.
|
||
* reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
|
||
(reload_cse_simplify_operands): Likewise.
|
||
|
||
* arc/arc.c (arc_final_prescan_insn): Likewise.
|
||
* arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
|
||
* h8300/h8300.c (notice_update_cc): Likewise.
|
||
* i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
|
||
* i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
|
||
* mn10200/mn10200.c (notice_update_cc): Likewise.
|
||
* mn10300/mn10300.c (notice_update_cc): Likewise.
|
||
* romp/romp.c (update_cc): Likewise.
|
||
* sparc/sparc.c (check_pic): Likewise.
|
||
* v850/v850.c (notice_update_cc): Likewise.
|
||
|
||
* genemit.c (main): Don't declare recog_operand.
|
||
|
||
Sat Sep 11 12:41:55 1999 Alex Samuel <samuel@codesourcery.com>
|
||
|
||
* ggc.h (rtvec_def): Forward declare.
|
||
(tree_node): Likewise.
|
||
(ggc_root): Define.
|
||
(roots): Declare.
|
||
(ggc_set_mark_rtx): Add prototype.
|
||
(ggc_set_mark_rtvec): Likewise.
|
||
(ggc_set_mark_tree): Likewise.
|
||
* ggc-simple.c (ggc_root): Don't define.
|
||
(roots): Don't declare.
|
||
(ggc_mark_rtx): Remove.
|
||
(ggc_mark_rtvec): Likewise.
|
||
(ggc_mark_tree): Likewise.
|
||
(ggc_mark_varray): Likewise.
|
||
(ggc_mark_tree_hash_table_entry): Likewise.
|
||
(ggc_mark_tree_hash_table): Likewise.
|
||
(ggc_set_mart_rtx): New function.
|
||
(ggc_set_mark_rtvec): Likewise.
|
||
(ggc_set_mark_tree): Likewise.
|
||
(ggc_add_root): Remove.
|
||
(ggc_add_rtx_root): Likewise.
|
||
(ggc_remove_tree_root): Likewise.
|
||
(ggc_add_string_root): Likewise.
|
||
(ggc_add_tree_varray_root): Likewise.
|
||
(ggc_add_tree_hash_table_root): Likewise.
|
||
(ggc_del_root): Likewise.
|
||
(ggc_mark_rtx_ptr): Likewise.
|
||
(ggc_mark_tree_ptr): Likewise.
|
||
(ggc_mark_string_ptr): Likewise.
|
||
(ggc_mark_tree_varray_ptr): Likewise.
|
||
(ggc_mark_tree_hash_table_ptr): Likewise.
|
||
* ggc-common.c: New file.
|
||
* Makefile.in (OBJS): Add ggc-common.o.
|
||
(ggc-common.o): List dependencies.
|
||
|
||
1999-09-10 22:37 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* cppalloc.c (xstrdup): Use memcpy.
|
||
* cpperror.c (cpp_print_containing_files): Don't use
|
||
cpp_notice.
|
||
* cpplib.c (conditional_skip): Set temp->lineno.
|
||
(do_endif): Make error message less obscure.
|
||
(if_directive_name): New function.
|
||
(cpp_get_token [case EOF]): Unwind the if stack and generate
|
||
error messages for each unterminated conditional in this file.
|
||
(parse_string): Do not behave differently if -traditional.
|
||
|
||
Fri Sep 10 14:04:07 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* builtins.c (expand_builtin_va_arg): Cope with an array-type
|
||
va_list decomposing to pointer-type.
|
||
* rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
|
||
(rs6000_va_arg): Likewise.
|
||
|
||
Fri Sep 10 13:21:21 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* except.c (start_dynamic_handler): Compute size using
|
||
STACK_SAVEAREA_MODE.
|
||
|
||
Fri Sep 10 16:01:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* protoize.c: Remove various __STDC__ and POSIX hacks. Don't
|
||
include directory headers. Don't define strrchr. Don't provide
|
||
my_* replacement functions. Prefer PTR over `pointer_type'.
|
||
Don't prototype system functions. Don't redefine getopt.
|
||
|
||
(shortpath, fancy_abort, notice, savestring, dupnstr, substr,
|
||
safe_read, safe_write, save_pointers, restore_pointers,
|
||
is_id_char, in_system_include_dir, directory_specified_p,
|
||
file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
|
||
find_corresponding_lparen, referenced_file_is_newer,
|
||
save_def_or_dec, munge_compile_params, gen_aux_info_file,
|
||
process_aux_info_file, identify_lineno, check_source,
|
||
seek_to_line, forward_to_next_token_char, output_bytes,
|
||
output_string, output_up_to, other_variable_style_function,
|
||
find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
|
||
do_processing, is_syscalls_file, rename_c_file, find_extern_def,
|
||
find_static_definition, connect_defs_and_decs, add_local_decl,
|
||
add_global_decls, needs_to_be_converted, visit_each_hash_node,
|
||
add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
|
||
edit_fn_declaration, edit_formals_lists, edit_fn_definition,
|
||
scan_for_missed_items, edit_file, string_list_cons): Add static
|
||
prototypes.
|
||
(standard_exec_prefix, target_machine, target_version,
|
||
default_syscalls_dir, string_list, string_list_cons, find_file,
|
||
do_cleaning): Constify a char*.
|
||
(safe_read, safe_write): Use PTR, not a char*.
|
||
(is_id_char): Take an int, not a char.
|
||
(main): Add prototype. Call return, not exit.
|
||
|
||
Fri Sep 10 16:48:26 1999 Andrew Haley <aph@cygnus.com>
|
||
|
||
* tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
|
||
when comparing types.
|
||
|
||
Fri Sep 10 08:43:32 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
|
||
(strength_reduce): Release the varrays from the no-bivs early exit.
|
||
|
||
* reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
|
||
the loop over the registers.
|
||
|
||
* tree.c (save_tree_status): Set maybepermanent_firstobj NULL
|
||
for a new obstack.
|
||
(restore_tree_status): Check that instead when freeing the obstack.
|
||
|
||
Wed Sep 8 16:12:04 1999 Andrew Haley <aph@cygnus.com>
|
||
|
||
* alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
|
||
as pointers.
|
||
|
||
Fri Sep 10 11:58:55 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* i386.md (ashlqi3): For NON_QI_REG_P regs, use sall. Fix some
|
||
operand size modifiers.
|
||
|
||
Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-common.c (c_common_nodes_and_builtins): Don't build
|
||
va_list_type_node.
|
||
* c-common.h (enum c_tree_index and related accesor macros): Remove
|
||
everything now declared in tree.h.
|
||
* c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
|
||
LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
|
||
DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
|
||
(error_mark_node, void_type_node, char_type_node, integer_type_node,
|
||
unsigned_type_node, ptr_type_node, va_list_type_node,
|
||
integer_zero_node, null_pointer_node, integer_one_node): Delete.
|
||
(init_decl_processing): Call build_common_tree_nodes and
|
||
build_common_tree_nodes_2 instead of building their nodes here.
|
||
Don't add roots for these nodes.
|
||
* stor-layout.c (size_zero_node, size_one_node): Delete.
|
||
(set_sizetype): Make a new node for bitsizetype each time.
|
||
* tree.c (global_trees): New variable.
|
||
(init_obstacks): Add a gc root for it.
|
||
(CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
|
||
LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
|
||
DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
|
||
(build_common_tree_nodes): New function.
|
||
(fix_sizetype): New function.
|
||
(build_common_tree_nodes_2): New function.
|
||
* tree.h (enum tree_index): New.
|
||
(global_trees): Declare.
|
||
Add accessor macros for all nodes now moved to global_trees.
|
||
Delete their declarations.
|
||
|
||
Thu Sep 9 20:15:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-decl.c (finish_function): When processing a nested function,
|
||
push and pop GC context around rest_of_compilation.
|
||
|
||
Thu Sep 9 16:42:06 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
|
||
Default ix86_arch to PROCESSOR_I386.
|
||
* i386.h (CC1_CPU_SPEC): Don't add -march=foo. Remove -mno-foo.
|
||
(CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
|
||
(CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
|
||
(CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
|
||
__tune_foo__ if no -mcpu. Make -mcpu=bar define __tune_bar__.
|
||
(EXTRA_SPECS): Remove deleted specs.
|
||
|
||
Thu Sep 9 16:03:06 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (assign_stack_local_1): Allocate from
|
||
function->x_frame_offset, not frame_offset.
|
||
|
||
Thu Sep 9 14:36:31 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* ggc.h (lang_cleanup_tree): Remove.
|
||
* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
|
||
* ggc-callbacks.c (lang_cleanup_tree): Remove.
|
||
|
||
* c-decl.c (finish_struct): Use ggc_alloc to allocate
|
||
TYPE_LANG_SPECIFIC when garbage collecting.
|
||
(lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
|
||
(lang_cleanup_tree): Remove.
|
||
|
||
Thu Sep 9 14:23:02 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
|
||
* crtstuff.c: Not here.
|
||
* dwarf2out.c: Or here.
|
||
* libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
|
||
info.
|
||
|
||
Thu Sep 9 09:40:58 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* function.h (free_after_compilation): Remove decl parameter.
|
||
(free_varasm_status0: Likewise.
|
||
(free_emit_status): Likewise.
|
||
(free_stmt_status): Likewise.
|
||
(free_after_compilation): Likewise.
|
||
(init_lang_status): New variable.
|
||
(free_lang_status): Likewise.
|
||
* emit-rtl.c (free_emit_status): Make decl parameter implicit.
|
||
* function.c (init_lang_status): New variable.
|
||
(free_lang_status): Likewise.
|
||
(push_function_context_to): Don't set function::decl here.
|
||
(free_after_copmilation): Make decl parameter implicit. Call
|
||
free_lang_status if defined.
|
||
(prepare_function_start): Call init_lang_status if defined.
|
||
(init_function_start): Set function::decl here.
|
||
* profile.c (output_func_start_profiler): Don't call pushdecl
|
||
until we've actually started the function.
|
||
* stmt.c (free_stmt_status): Make decl parameter implicit.
|
||
* toplev.c (rest_of_compilation): Don't pass decl to
|
||
free_after_compilation.
|
||
* varasm.c (free_varasm_status): Likewise.
|
||
|
||
Thu Sep 9 17:23:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* except.c (call_get_eh_context): Add root when allocating static
|
||
tree variable.
|
||
|
||
Thu Sep 9 15:24:59 BST 1999 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c: Include "ggc.h".
|
||
(arm_add_gc_roots): New function.
|
||
(arm_override_options): Call it.
|
||
(aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
|
||
|
||
* arm.md (define_asm_attributes): Add a pool_range attribute.
|
||
|
||
Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* extend.texi (Volatiles): New node.
|
||
|
||
Thu Sep 9 03:37:31 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
|
||
(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
|
||
(struct ggc_any): Replace `mark' with `magic_mark'.
|
||
(ggc_alloc_string): Use memcpy, not bcopy.
|
||
(ggc_alloc_any): Set magic_mark. Update bytes_alloced_since_gc.
|
||
(ggc_free_{rtx,rtvec,tree,string}): Mark inline.
|
||
(ggc_free_any): New.
|
||
(ggc_mark_string): Use IGNORE_MARK. Calc back to struct gcc_string.
|
||
(ggc_mark): Use IGNORE_MARK. Abort if magic doesn't match.
|
||
(ggc_collect): Re-enable collection avoidance. Use GGC_ANY_MARK.
|
||
Use IS_MARKED. Use ggc_free_any.
|
||
|
||
1999-09-09 Scott Bambrough <scottb@netwinder.org>
|
||
|
||
* config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
|
||
|
||
Thu Sep 9 01:55:21 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (main): Always init_ggc.
|
||
|
||
Wed Sep 8 23:53:22 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* except.c (find_all_handler_type_matches): Free the list if
|
||
we found no matches.
|
||
|
||
* combine.c (SUBST): Break out to a real function do_SUBST.
|
||
(SUBST_INT): Likewise.
|
||
* gcse.c (free_pre_mem): Free `temp_bitmap'.
|
||
(pre_insert): Free `inserted'.
|
||
* loop.c (basic_induction_var): Always set `location'.
|
||
|
||
* function.c (expand_function_end): Add initial_trampoline as a root.
|
||
* rtl.h (init_varasm_once): Declare.
|
||
* toplev.c (compile_file): Call it.
|
||
* ggc-simple.c (ggc_mark_string_ptr): New.
|
||
(ggc_add_string_root): New.
|
||
(ggc_collect): Disable collection avoidance temporarily.
|
||
* ggc.h (ggc_add_string_root): Declare.
|
||
* except.c (create_rethrow_ref): Use ggc_alloc_string.
|
||
* optabs.c (init_libfuncs): Likewise.
|
||
* varasm.c (named_section): Use ggc_alloc_string.
|
||
(make_function_rtl): Likewise.
|
||
(make_decl_rtl): Likewise.
|
||
(assemble_static_space): Likewise.
|
||
(assemble_trampoline_template): Likewise.
|
||
(output_constant_def): Likewise.
|
||
(force_const_mem): Likewise.
|
||
(mark_const_hash_entry): New.
|
||
(mark_pool_sym_hash_table): New.
|
||
(mark_varasm_state): Use it.
|
||
(init_varasm_once): New.
|
||
|
||
* expr.h (init_one_libfunc): Declare.
|
||
* optabs.c (init_one_libfunc): New.
|
||
(init_optabs): Use it.
|
||
* config/gofast.h: Likewise.
|
||
* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
|
||
* config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
|
||
|
||
Thu Sep 9 13:46:06 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* Makefile.in (cppexp.o): Depend on cpphash.h.
|
||
* cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
|
||
Include cpphash.h.
|
||
* cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
|
||
* cpplib.c (do_define): Generalize to handle poisoned definitions,
|
||
redefining poisoned identifiers, etc.
|
||
(do_undef): Don't allow poisoned identifiers to be undefined.
|
||
(do_pragma): Add #pragma poison.
|
||
(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
|
||
|
||
* cccp.c: Add T_POISON node type.
|
||
(special_symbol): Handle `defined(xxx)' and plain `xxx' for
|
||
poisoned xxx.
|
||
(do_define): Generalize to handle poisoned definitions,
|
||
redefining poisoned identifiers, etc.
|
||
(do_undef): Don't allow poisoned identifiers to be undefined.
|
||
(do_pragma): Add #pragma poison.
|
||
(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
|
||
|
||
* c-pragma.c (handle_pragma_token): Ignore #pragma poison.
|
||
* c-pragma.h: Add ps_poison state. We now always have generic
|
||
pragmas.
|
||
|
||
Wed Sep 8 20:30:42 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* ggc.h (ggc_alloc): New function.
|
||
(ggc_mark): Likewise.
|
||
* ggc-simple.c (ggc_any): New structure.
|
||
(ggc_status): Add anys.
|
||
(n_anys_collected): New variable.
|
||
(ggc_alloc): Define.
|
||
(ggc_mark): Likewise.
|
||
(ggc_collect): Collect the anys.
|
||
|
||
Wed Sep 8 20:15:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-decl.c (mark_binding_level): Make static to match prototype.
|
||
|
||
Wed Sep 8 16:41:27 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
|
||
|
||
Wed Sep 8 16:07:52 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
|
||
will use into account. Expand the max width to 5.
|
||
* rtl.c: Likewise.
|
||
|
||
Wed Sep 8 16:01:14 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ggc-simple.c (ggc_free_rtx): Poison the correct amount
|
||
for the rtx length.
|
||
|
||
Wed Sep 8 15:23:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (call value patterns): Remove the result predicates.
|
||
|
||
Wed Sep 8 13:35:38 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
|
||
last change.
|
||
|
||
Wed Sep 8 15:32:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h (sbrk, malloc, calloc, realloc): Backup prototypes
|
||
changed from extern char *, to extern PTR. Also fix typo in
|
||
NEED_DECLARATION_REALLOC test.
|
||
|
||
* mips-tdump.c (malloc, calloc, realloc): Don't prototype.
|
||
|
||
Wed Sep 8 11:40:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
|
||
ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
|
||
ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
|
||
ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
|
||
|
||
* c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
|
||
|
||
* cccp.c (pcfinclude): Likewise.
|
||
|
||
* global.c (allocno_compare): Likewise.
|
||
|
||
* haifa-sched.c (rank_for_schedule): Likewise.
|
||
|
||
* local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
|
||
|
||
* reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
|
||
|
||
* stupid.c (stupid_reg_compare): Likewise.
|
||
|
||
* tree.c (_obstack_allocated_p): Likewise.
|
||
|
||
* varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
|
||
|
||
1999-09-08 Bruce Korb autogen@linuxbox.com
|
||
|
||
* Makefile.in: Give the hapless gperf user a hint about
|
||
why "gperf -F" fails.
|
||
|
||
Wed Sep 8 04:43:22 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* lists.c: Include ggc.h.
|
||
(zap_lists): New.
|
||
(init_EXPR_INSN_LIST_cache): Install it.
|
||
|
||
* ggc-simple.c (init_ggc): Absorb the old init.
|
||
(ggc_push_context): Use xcalloc.
|
||
(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
|
||
(ggc_collect): Add [rvts] tags to the collection stats.
|
||
|
||
Wed Sep 8 11:14:25 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* cccp.c (main): Fix handling of -include and -imacros options.
|
||
|
||
Wed Sep 8 02:23:08 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cpplib.c (cpp_push_buffer): Fix order of arguments.
|
||
|
||
Wed Sep 8 04:44:09 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* rtl.h (obstack_alloc_rtx): Removed, it's now static in
|
||
genrtl.c.
|
||
|
||
Wed Sep 8 00:33:43 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
|
||
|
||
* flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
|
||
* haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
|
||
and SET_DEST. Update comment.
|
||
|
||
Wed Sep 8 18:55:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c: Include ggc.h.
|
||
(c4x_add_gc_roots): New function.
|
||
(c4x_override_options): Call c4x_add_gc_roots.
|
||
|
||
Wed Sep 8 00:00:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* defaults.h (TARGET_ESC): Move ...
|
||
* system.h: ... here, where Linas had it in the first place. Silly me.
|
||
|
||
Tue Sep 7 23:46:35 1999 Linas Vepstas <linas@linas.org>
|
||
|
||
* c-common.c: Use ISGRAPH, ISLOWER, toupper.
|
||
* c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
|
||
genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
|
||
* system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
|
||
* defaults.h (TARGET_ESC): Add default.
|
||
|
||
Tue Sep 7 23:36:59 1999 Linas Vepstas <linas@linas.org>
|
||
|
||
* configure.in: add i370-*-openedition, i370-*-mvs and
|
||
i370-*-linux targets
|
||
|
||
Tue Sep 7 23:31:53 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* dsp16xxx.c: Include ggc.h
|
||
(override_options): Mark GC roots.
|
||
* mn10200.c: Include ggc.h.
|
||
(asm_file_start): Mark GC roots.
|
||
* tahoe.c: Include ggc.h.
|
||
(extensible_operand): Mark GC roots.
|
||
|
||
Tue Sep 7 23:23:15 1999 Linas Vepstas <linas@linas.org>
|
||
|
||
* README: Add section discussing status of ELF ABI.
|
||
* i370.c: Fix misc spelling mistakes.
|
||
(i370_label_scan): Updated notes, exception handling.
|
||
(i370_function_prolog): Simplify ELF stack handling.
|
||
* i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
|
||
(STACK_GROWS_DOWNWARD): ELF stack grows down.
|
||
(ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
|
||
* i370.md: (movdi): Add notes.
|
||
(floatsidf2): Use stack not rtca for scratch float area.
|
||
(iorsi3): Correct operand constraints.
|
||
* x-oe: Restore TAROUTOPTS which are used by pax.
|
||
|
||
Tue Sep 7 22:39:18 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* rs6000.c: Include ggc.h.
|
||
(rs6000_add_gc_roots): New function.
|
||
(override_options): Call it.
|
||
|
||
Tue Sep 7 22:09:03 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (alpha_compare): New.
|
||
(alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
|
||
* alpha.c: Likewise for the definitions.
|
||
(alpha_emit_conditional_branch): Update for alpha_compare.
|
||
(alpha_emit_conditional_move): Likewise.
|
||
* alpha.md (cmpdf, cmpdi): Likewise.
|
||
(setcc patterns): Likewise. Zero alpha_compare after use.
|
||
(sne): Optimize (x != 0) into (0U < x).
|
||
|
||
Tue Sep 7 21:55:02 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
|
||
(struct machine_function): Declare; add eh_epilogue_sp_ofs.
|
||
(INIT_EXPANDERS): Remove.
|
||
* alpha.c: Include ggc.h.
|
||
(alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
|
||
(alpha_init_machine_status, alpha_mark_machine_status): New.
|
||
(override_options): Install them.
|
||
(struct machine_function): Moved to alpha.h.
|
||
(alpha_save_machine_status, alpha_restore_machine_status): Remove.
|
||
(alpha_init_expanders): Remove.
|
||
(alpha_return_addr): Adjust to use current_function->machine.
|
||
(alpha_ra_ever_killed): Likewise.
|
||
(alpha_expand_epilogue): Likewise.
|
||
* alpha.md (eh_epilogue): Likewise.
|
||
|
||
Wed Sep 8 14:34:42 1999 Ian Piumarta <piumarta@prof.inria.fr>
|
||
Melissa O'Neill <oneill@cs.sfu.ca>
|
||
Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
|
||
call-used registers (call-saved registers must still be contiguous
|
||
and end with r31, of course).
|
||
|
||
Tue Sep 7 21:41:38 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
|
||
(self_promoting_type_p): Delete.
|
||
(self_promoting_args_p): Move ...
|
||
* c-common.c: ... here.
|
||
(c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
|
||
(simple_type_promotes_to): New.
|
||
* builtins.c (lang_type_promotes_to): New.
|
||
(expand_builtin_va_arg): Use it to give diagnostic for illegal types.
|
||
* c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
|
||
* c-common.h: ... here.
|
||
(self_promoting_args_p, simple_type_promotes_to): Declare.
|
||
* c-decl.c (duplicate_decls): Use simple_type_promotes_to.
|
||
(grokdeclarator): Likewise.
|
||
* tree.h (lang_type_promotes_to): Declare.
|
||
|
||
Tue Sep 7 17:15:21 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Add some machine-dependent GC roots.
|
||
* sparc.c: Include ggc.h.
|
||
(sparc_add_gc_roots): New function.
|
||
(mark_ultrasparc_pipeline_state): Likewise.
|
||
(override_options): Call sparc_add_gc_roots.
|
||
* pa.c: Include ggc.h.
|
||
(pa_add_gc_roots): New function.
|
||
(mark_deferred_plabels): Likewise.
|
||
(override_options): Call pa_add_gc_roots.
|
||
* mips.c: Include ggc.h.
|
||
(mips_add_gc_roots): New function.
|
||
(override_options): Use it.
|
||
|
||
Tue Sep 7 11:39:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cpperror.c (cpp_file_line_for_message): Constify a char*.
|
||
|
||
* cppexp.c (parse_number, parse_charconst, cpp_lex,
|
||
cpp_parse_expr): Add static prototypes.
|
||
(parse_charconst): Don't cast away const-ness.
|
||
(token): Constify a char*.
|
||
|
||
* cppfiles.c (file_name_list, include_hash, find_include_file,
|
||
finclude, initialize_input_buffer): Constify a char*.
|
||
(file_cleanup, find_position): Add static prototypes.
|
||
|
||
* cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
|
||
collect_expansion): Add static prototypes.
|
||
(cpp_install, create_definition, monthnames): Constify a char*.
|
||
|
||
* cpphash.h (cpp_install): Likewise.
|
||
|
||
* cppinit.c (known_suffixes, default_include,
|
||
dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
|
||
(base_name, dump_special_to_buffer, initialize_dependency_output):
|
||
Add static prototypes.
|
||
|
||
* cpplib.c (my_strerror): Constify a char*.
|
||
(null_underflow, null_cleanup, skip_comment, copy_comment,
|
||
copy_rest_of_line, handle_directive, pass_thru_directive,
|
||
get_directive_token, read_line_number, cpp_print_file_and_line,
|
||
v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
|
||
v_cpp_warning_with_line, detect_if_not_defined,
|
||
consider_directive_while_skipping): Add static prototypes.
|
||
(pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
|
||
cpp_pedwarn_with_file_and_line): Constify a char*.
|
||
|
||
* cpplib.h (cpp_options, include_hash, progname, definition,
|
||
cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
|
||
check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
|
||
find_include_file, deps_output, include_hash): Constify a char*.
|
||
|
||
* cppmain.c (progname): Constify.
|
||
(main): Add prototype. Use return, not exit.
|
||
|
||
* fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
|
||
recognized_macro, check_macro_names, read_scan_file, write_rbrac,
|
||
inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
|
||
check_protection): Add static prototype.
|
||
(xfree): Remove.
|
||
(progname, recognized_macrom, recognized_extern): Constify a char*.
|
||
(main): Add prototype.
|
||
|
||
* gen-protos.c (progname): Constify a char*.
|
||
|
||
Tue Sep 7 00:47:52 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* emit-rtl.c (free_emit_status): Take decl as a parameter.
|
||
(init_emit_once): Add more GC roots.
|
||
* except.c (mark_func_eh_entry): New function.
|
||
(mark_eh_node): Mark false_label and rethrow_label.
|
||
(init_eh): Add more GC roots.
|
||
* function.c (free_after_compilation): Take decl as a parameter.
|
||
Call free_stmt_status.
|
||
(mark_function_state): Don't assume x_parm_reg_stack_loc is
|
||
non-NULL.
|
||
* function.h (free_after_compilation): Change prototype.
|
||
(free_varasm_status): Likewise.
|
||
(free_emit_status): Likewise.
|
||
(free_stmt_status): New function.
|
||
* ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
|
||
Remove, replacing with ...
|
||
(ggc_status): New structure.
|
||
(ggc_chain): New variable.
|
||
(init_gcc): Define.
|
||
(ggc_push_context): New function.
|
||
(ggc_pop_context): Likewise.
|
||
(ggc_alloc_rtx): Adjust for use of ggc_chain.
|
||
(ggc_alloc_rtvec): Likewise.
|
||
(ggc_alloc_tree): Likewise.
|
||
(ggc_alloc_string): Likewise.
|
||
(ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
|
||
(ggc_mark_tree): Give language-dependent code a chance to mark
|
||
`x' nodes.
|
||
(ggc_mark_tree_varray): Handle empty arrays.
|
||
(ggc_collect): Adjust for use of ggc_chain. Clear
|
||
bytes_alloced_since_last_gc.
|
||
* ggc.h (ggc_pop_context): New function.
|
||
(ggc_push_context): Likewise.
|
||
* print-tree.c (print_node): Don't print obstacks when GC'ing.
|
||
* stmt.c (free_stmt_status): New function.
|
||
(init_stmt_for_function): Clear last_expr_value.
|
||
* toplev.c (rest_of_compilation): Always call free_after_compilation.
|
||
Conditionalize call to ggc_collect.
|
||
(main): Call init_ggc.
|
||
* tree.c (push_obstacks): Do the push, even when GC'ing.
|
||
(push_obstacks_nochange): Likewise.
|
||
(pop_obstacks): Liekwise.
|
||
* varasm.c (free_varasm_status): Take decl as a parameter.
|
||
|
||
Tue Sep 7 08:15:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
|
||
(MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
|
||
* config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
|
||
* config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
|
||
|
||
Tue Sep 7 03:42:45 1999 Mark Klein (mklein@dis.com)
|
||
|
||
* pa/x-pa-mpeix: New file for the MPE port.
|
||
|
||
* pa/quadlib.asm: New file for long double support.
|
||
|
||
* configure.in: Add hppa1.0-*-mpeix for MPE port.
|
||
* configure: Rebuilt.
|
||
|
||
Tue Sep 7 10:08:40 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* final.c (shorten_branches): Fix last change.
|
||
|
||
Tue Sep 7 00:30:32 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
|
||
|
||
Mon Sep 6 22:44:47 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Merge from gcc2 snapshot Jan 9, 1999. See FSFChangeLog for
|
||
details.
|
||
|
||
Mon Sep 6 22:31:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-aux-info.c (concat): Don't define.
|
||
|
||
* cccp.c (my_strerror): Likewise. All callers changed to use
|
||
xstrerror instead.
|
||
(do_include): Call xstrdup, not xmalloc/strcpy.
|
||
(grow_outbuf): Don't check if xrealloc returns NULL, it can't.
|
||
(xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
|
||
|
||
* collect2.c (my_strsignal): Likewise. All callers changed to use
|
||
strsignal instead.
|
||
(locatelib): Call xstrdup, not xmalloc/strcpy.
|
||
|
||
* 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
|
||
|
||
* dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
|
||
|
||
* i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
|
||
|
||
* mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
|
||
|
||
* cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
|
||
|
||
* dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
|
||
|
||
* except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
|
||
malloc/realloc.
|
||
(find_all_handler_type_matches): Likewise. Don't check return
|
||
value.
|
||
(get_new_handler, init_insn_eh_region, process_nestinfo): Call
|
||
xmalloc, not malloc.
|
||
(init_eh_nesting_info): Likewise. Call xcalloc, not xmalloc/bzero.
|
||
|
||
* gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
|
||
(init_spec): Call xcalloc, not xmalloc/bzero.
|
||
(set_spec): Call xstrdup, not save_string.
|
||
(record_temp_file): Call xstrdup, not xmalloc/strcpy.
|
||
(find_a_file): Call xstrdup, not xmalloc/strcpy.
|
||
(process_command): Call xstrdup, not save_string.
|
||
(main): Call xcalloc, not xmalloc/bzero.
|
||
|
||
* gcov.c (xmalloc): Don't define.
|
||
(create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
|
||
(scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
|
||
(output_data): Call xcalloc, not xmalloc/bzero.
|
||
|
||
* haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
|
||
|
||
* mips-tdump.c (xmalloc): Don't define.
|
||
(print_symbol): Call xmalloc, not malloc.
|
||
(read_tfile): Call xcalloc, not calloc.
|
||
|
||
* mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
|
||
Don't define. All callers of xfree/my_strsignal changed to use
|
||
free/strsignal instead.
|
||
(allocate_cluster): Call xcalloc, not calloc.
|
||
|
||
* objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
|
||
Fix memory leak, free allocated memory.
|
||
|
||
* prefix.c (translate_name): Call xstrdup, not save_string.
|
||
(update_path): Likewise.
|
||
|
||
* profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
|
||
|
||
* protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
|
||
Don't define. Callers of xfree/savestring2 changed to use
|
||
free/concat instead.
|
||
|
||
* reload1.c (reload): Call xcalloc, not xmalloc/bzero.
|
||
(init_elim_table): Likewise.
|
||
|
||
* resource.c (init_resource_info): Likewise.
|
||
|
||
* stupid.c (stupid_life_analysis): Likewise.
|
||
|
||
* toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
|
||
(open_dump_file): Call concat, not xmalloc/strcpy/...
|
||
(clean_dump_file): Likewise.
|
||
(compile_file): Call xstrdup, not xmalloc/strcpy.
|
||
|
||
Mon Sep 6 15:04:55 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* v850.h (EXPAND_BUILTIN_VA_ARG): New.
|
||
* v850.c (v850_va_arg): New.
|
||
|
||
Tue Sep 7 09:36:01 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* haifa-sched.c: Tidy comments.
|
||
|
||
Mon Sep 6 14:30:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
|
||
(c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
|
||
$(out_object_file)): Depend on ggc.h.
|
||
* c-common.c: Include "ggc.h".
|
||
(combine_strings): If doing GC, use ggc_alloc_string.
|
||
* c-decl.c: Include "ggc.h".
|
||
(ggc_p): Define with value 0.
|
||
(mark_binding_level): New function.
|
||
(init_decl_processing): Add GC roots.
|
||
(mark_c_function_context): New function.
|
||
(lang_mark_false_label_stack): New function.
|
||
(lang_mark_tree): New function.
|
||
(lang_cleanup_tree): New function.
|
||
* c-lang.c: Include "ggc.h".
|
||
(lang_init): Call c_parse_init.
|
||
* c-lex.c: Include "ggc.h".
|
||
(check_linenum): If doing GC, don't copy filenames to permanent
|
||
obstack.
|
||
* c-parse.in: Include "ggc.h".
|
||
(c_parse_init): New function.
|
||
* c-tree.h (c_parse_init, mark_c_function_context): Declare.
|
||
* objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
|
||
|
||
* except.c (mark_eh_state): Mark more state.
|
||
* function.c (mark_function_state): Likewise.
|
||
* ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
|
||
(ggc_alloc_string) [GGC_DUMP]: Fix typo.
|
||
* toplev.c (mark_file_stack): New function.
|
||
(compile_file): If doing GC, use ggc_alloc_string on input filename.
|
||
(main): Add root for input_file_stack.
|
||
|
||
* i386.c: Include "ggc.h".
|
||
(ix86_mark_machine_status): New function.
|
||
(override_options): Set mark_machine_status.
|
||
|
||
Mon Sep 6 15:26:23 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* tree.c (copy_node): Copy node contents also if doing GC.
|
||
|
||
Mon Sep 6 08:42:06 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* collect2.c (scan_libraries): Fix double-thinko :-).
|
||
|
||
Mon Sep 6 02:42:36 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* collect2.c (scan_libraries): Fix thinko.
|
||
|
||
* cse.c (delete_trivially_dead_insns): Do not skip the last
|
||
insn if it is a real insn.
|
||
|
||
Sun Sep 5 18:57:42 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (ggc-simple.o): Depend on hash.h.
|
||
* ggc.h (ggc_add_tree_hash_table_root): Declare.
|
||
(ggc_mark_tree_varray): Likewise.
|
||
(ggc_mark_tree_hash_table): Likewise.
|
||
* ggc-simple.c: Include hash.h.
|
||
(ggc_mark_tree_hash_table_ptr): New function.
|
||
(ggc_mark_tree_hash_table_entry): Likewise.
|
||
(ggc_mark_tree_hash_table): Likewise.
|
||
(ggc_add_tree_hash_table_root): Likewise.
|
||
* varray.h (const_equiv_data): Use struct rtx_def *, rather than
|
||
rtx, when defining fields.
|
||
|
||
Sun Sep 5 18:57:42 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* profile.c (output_func_start_profiler): Remove apparently
|
||
nonsensical call to start_sequence.
|
||
|
||
Sun Sep 5 17:34:33 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* clipper/clipper.c (clipper_va_start): Fix typos.
|
||
|
||
* pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
|
||
* spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
|
||
(spur_va_arg): New stub.
|
||
|
||
* configure.in: Comment out pyramid.
|
||
|
||
Sun Sep 5 19:11:01 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
|
||
don't conflict with the bits that win32, cygwin, and dgux
|
||
defines.
|
||
|
||
Sun Sep 5 09:31:56 1999 Richard Henderson <rth@cygnus.com>
|
||
Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* integrate.c (function_cannot_inline_p): Do not inline
|
||
functions with forced labels.
|
||
|
||
Sun Sep 5 00:35:17 1999 Richard Henderson <rth@cygnus.com>
|
||
Bernd Schmidt <bernds@cygnus.co.uk>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (ggc-simple.o): Depend on varray.h.
|
||
(rtl.o): Depend on ggc.h.
|
||
(genattrtab.o): Depend on ggc.h.
|
||
(print-tree.o): Likewise.
|
||
(fold-const.o): Likewise.
|
||
* emit-rtl.c (sequence_element_free_list): Remove, and all references.
|
||
(make_insn_raw): Don't cache insns when GC'ing.
|
||
(emit_insn_before): Likewise.
|
||
(emit_insn_after): Likewise.
|
||
(emit_insn): Likewise.
|
||
(start_sequence): Use xmalloc to allocate the sequence_stack.
|
||
(end_sequence): Add free to free it.
|
||
(gen_sequence): Don't cache insns when GC'ing.
|
||
(clear_emit_caches): Don't use sequence_element_free_list.
|
||
(init_emit): Use xcalloc, not xmalloc+bzero.
|
||
* fold-const.c (size_int_wide): Kill the cache, when GC'ing.
|
||
* function.c (pop_function_context_from): Use free to free the
|
||
fixup_var_refs_queue.
|
||
(put_reg_into_stack): Allocate it with xmalloc.
|
||
* genattrtab.c: Include ggc.h.
|
||
(operate_exp): Don't use obstack_free when GC'ing.
|
||
(simplify_cond): Likewise.
|
||
(simplify_text_exp): Likewise.
|
||
(optimize_attrs): Likewise.
|
||
* gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
|
||
GC'ing.
|
||
(gencode): Generate a #include for ggc.h.
|
||
* ggc-callbacks.c (ggc_p): Define it to zero.
|
||
* ggc-none.c (ggc_p): Likewise.
|
||
* ggc-simple.c: Include varray.h.
|
||
(ggc_mark_tree_varray): New function.
|
||
(ggc_add_tree_varray_root): Likewise.
|
||
(ggc_mark_tree_varray_ptr): Likewise.
|
||
* ggc.h (ggc_p): Declare.
|
||
(varray_head_tag): Likewise.
|
||
(ggc_add_tree_varray_root): Declare.
|
||
* print-tree.c (print_node): Don't check for TREE_PERMANENT
|
||
inconsistencies when GC'ing.
|
||
* rtl.c: Include ggc.h.
|
||
(rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
|
||
(rtx_alloc): Use ggc_alloc_rtx when GC'ing.
|
||
(rtx_free): Don't call obstack_free when GC'ing.
|
||
* toplev.c (rest_of_compilation): Call ggc_collect after every
|
||
pass, if GC'ing.
|
||
* tree.c (push_obstacks): Do nothing, if GC'ing.
|
||
(pop_obstacks_nochange): Likewise.
|
||
(pop_obstacks): Likewise.
|
||
(make_node): Use ggc_alloc_tree when GC'ing.
|
||
(copy_node): Likewise.
|
||
(get_identifier): Use ggc_alloc_string when GC'ing.
|
||
(build_string): Likewise.
|
||
(make_tree_vec): Use ggc_alloc_tree when GC'ing.
|
||
(tree_cons): Likewise.
|
||
(build1): Likewise.
|
||
(type_hash_canon): Don't call obstack_free when GC'ing.
|
||
|
||
Sat Sep 4 21:52:32 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (schedule_block): Use next_nonnote_insn instead
|
||
of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
|
||
|
||
Sat Sep 4 20:40:19 1999 Richard Henderson <rth@cygnus.com>
|
||
Bernd Schmidt <bernds@cygnus.co.uk>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (stor-layout.o): Depend on ggc.h.
|
||
(expr.o): Depend on ggc.h.
|
||
(profile.o): Depend on ggc.h.
|
||
(stor-layout.o): Depend on ggc.h.
|
||
* emit-rtl.c (init_emit_once): Add gc roots.
|
||
* expr.c: Include ggc.h.
|
||
(emit_block_move): Add gc roots.
|
||
(clear_storage): Likewise.
|
||
* expr.h (init_stor_layout_once): New function.
|
||
* profile.c: Include ggc.h.
|
||
(init_arc_profiler): profiler_label is a root.
|
||
* scan.c (make_sstring_space): Trust xrealloc to function
|
||
correctly with first parameter NULL.
|
||
* stor-layout.c: Include ggc.h.
|
||
(set_sizetype): Add gc root.
|
||
(init_stor_layout_once): New function.
|
||
* toplev.c (compile_file): Call it.
|
||
|
||
Sat Sep 4 19:26:25 1999 Richard Henderson <rth@cygnus.com>
|
||
Bernd Schmidt <bernds@cygnus.co.uk>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (tree.o): Depend on ggc.h.
|
||
(varasm.o): Likewise.
|
||
(function.o): Likewise.
|
||
(stmt.o): Likewise.
|
||
(except.o): Likewise.
|
||
(optabs.o): Likewise.
|
||
(emit-rtl.o): Likewise.
|
||
* emit-rtl.c: Include ggc.h.
|
||
(sequence_element_free_list): Remove, and all references.
|
||
(mark_sequence): New functions.
|
||
(mark_emit_state): New function.
|
||
* except.c: Include ggc.h.
|
||
(mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
|
||
(mark_tree_label_node): New functions.
|
||
(mark_eh_state): New function.
|
||
* function.c: Include ggc.h.
|
||
(mark_temp_slot, mark_function_chain): New functions.
|
||
(mark_function_state): New function.
|
||
(init_function_once): New function.
|
||
* function.h (init_function_once): New function.
|
||
* ggc-callbacks.c (lang_mark_false_label_stack): New function.
|
||
* ggc.h (label_node): Declare.
|
||
(eh_status, emit_status, stmt_status, varasm_status): Likewise.
|
||
(lang_mark_false_label_stack): New function.
|
||
(mark_temp_slot): Remove declaration.
|
||
(mark_function_chain): Likewise.
|
||
(mark_eh_state): Adjust prototype.
|
||
(mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
|
||
Likewise.
|
||
* optabs.c: Include ggc.h.
|
||
(mark_optab): New function.
|
||
(init_optabs): Add gc roots.
|
||
* stmt.c: Include ggc.h.
|
||
(mark_cond_nesting, mark_loop_nesting): New functions.
|
||
(mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
|
||
(mark_stmt_state): New function.
|
||
* toplev.c (compile_file): Call init_function_once.
|
||
* tree.c: Include ggc.h.
|
||
(type_hash): Move declaration earlier in file.
|
||
(TYPE_HASH_SIZE, type_hash_table): Likewise.
|
||
(init_obstacks): Add gc roots.
|
||
(mark_type_hash): New function.
|
||
* varasm.c: Include ggc.h.
|
||
(mark_pool_constant): New function.
|
||
(mark_varasm_state): New function.
|
||
|
||
Sat Sep 4 22:28:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
|
||
|
||
Sat Sep 4 18:01:45 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-decl.c (struct language_function): Renamed from struct c_function.
|
||
Delete elt NEXT.
|
||
(c_function_chain): Delete.
|
||
(push_c_function_context): New arg F. Don't warn about nested
|
||
functions here. Fill LANGUAGE elt of F. Delete code to update
|
||
c_function_chain. Don't call push_function_context.
|
||
(pop_c_function_context): New arg F. Restore from there instead of
|
||
from c_function_chain. Don't call pop_function_context. Clear out
|
||
LANGUAGE field of F when done.
|
||
* c-lang.c: Include "function.h"
|
||
(lang_init): Initialize save_lang_status and restore_lang_status.
|
||
* c-parse.in (nested_function, nested_function_notype): Warn about
|
||
nested functions. Call push_function_context/pop_function_context
|
||
instead of the _c_ variants.
|
||
* c-tree.h (push_c_function_context, pop_c_function_context): Update
|
||
prototype.
|
||
* Makefile.in (c-lang.o): Update dependencies.
|
||
|
||
* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
|
||
regno_pointer_flag, regno_pointer_align.
|
||
(gen_reg_rtx): Use xrealloc to enlarge them.
|
||
(free_emit_status): New function.
|
||
* function.c (mark_machine_status, mark_lang_status): New variables.
|
||
(assign_stack_local_1): Renamed from assign_outer_stack_local. Merge
|
||
in some bits from assign_stack_local. All callers changed to use new
|
||
name.
|
||
(assign_stack_local): Just call assign_stack_local_1.
|
||
(free_after_compilation): New function.
|
||
(put_reg_into_stack): Simplify to always call assign_stack_local_1.
|
||
(trampoline_address): Likewise.
|
||
(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
|
||
(prepare_function_start): Explicitly clear some more variables.
|
||
* function.h (struct function): New elt can_garbage_collect.
|
||
(mark_machine_status, mark_lang_status): Declare variables.
|
||
(free_after_compilation, free_emit_status, free_varasm_status,
|
||
init_varasm_status): Declare functions.
|
||
* toplev.c (rest_of_compilation): Call free_after_compilation when
|
||
done with the current function.
|
||
* varasm.c (free_varasm_status): New function.
|
||
|
||
Sat Sep 4 17:15:13 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.h (EXPAND_BUILTIN_VA_START): Define.
|
||
(EXPAND_BUILTIN_VA_ARG): Define.
|
||
* sparc.c (sparc_va_start): New.
|
||
(sparc_va_arg): New.
|
||
|
||
Sun Sep 5 11:11:59 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
|
||
|
||
Sun Sep 5 10:13:19 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
|
||
|
||
Sat Sep 4 13:44:01 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
|
||
(OBJS): Add $(GGC).
|
||
(ggc-callbacks.o): New target.
|
||
* ggc-callbacks.c: New file.
|
||
|
||
Sat Sep 4 22:53:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* expr.h: Collapse individual optab and libfunc vars to arrays.
|
||
(optab_index, libfunc_index): New enumerations.
|
||
(optab_table, libfunc_table): New arrays.
|
||
Add accessor macros for both.
|
||
|
||
* optabs.c (optab_table, libfunc_table): New.
|
||
Delete declarations for individual optab and libfunc vars.
|
||
|
||
Sat Sep 4 12:57:17 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
|
||
|
||
Sat Sep 4 11:19:52 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (GGC, GGC_LIB): New.
|
||
(HOST_RTL): Include ggc-none.o.
|
||
(ggc-simple.o): New target.
|
||
(ggc-none.o): Likewise.
|
||
* tree.h (tree_common): Add gc_mark.
|
||
* rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
|
||
(struct rtvec_def): Add gc_mark.
|
||
* emit-rtl.c (global_rtl): Update static initializers to contain
|
||
enough initializers.
|
||
* ggc.h, ggc-none.c, ggc-simple.c: New files.
|
||
* toplev.c (gc_time): New variable.
|
||
(all_time): New variable.
|
||
(compile_file): Print gc time.
|
||
(print_time): Calculate percentage of the whole.
|
||
|
||
Sat Sep 4 13:11:01 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
Change obstack memory management and varasm constant pool handling so
|
||
that nested functions are treated like any other functions.
|
||
* function.c (init_machine_status): New variable.
|
||
(push_function_context_to): Set contains_functions for the outer
|
||
function. Don't call save_varasm_status.
|
||
(pop_function_context_from): Don't call restore_varasm_status. Don't
|
||
set current_function_contains_functions.
|
||
(prepare_function_start): Call init_varasm_status rather than
|
||
init_const_rtx_hash_table. Call (*init_machine_status) if the pointer
|
||
is non-null.
|
||
* function.h (struct function) Add field varasm. Delete fields
|
||
inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
|
||
last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
|
||
(init_machine_status): Declare.
|
||
(save_varasm_status, restore_varasm_status): Delete declarations.
|
||
(save_tree_status, restore_tree_status): Delete last argument.
|
||
* integrate.c (initialize_for_inline): Lose arg COPY. Delete copying
|
||
code. All callers changed.
|
||
(copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
|
||
save_constants_in_decl_trees, restore_constants, save_constants,
|
||
save_for_inline_eh_labelmap, save_for_inline_copying): Delete
|
||
functions.
|
||
(inlining): New variable.
|
||
(reg_map, label_map, insn_map, orig_asm_operands_vector,
|
||
copy_asm_operands_vector, copy_asm_constraints_vector): Delete
|
||
variables.
|
||
(save_for_inline_nocopy): Don't save constants.
|
||
Don't set inl_emit field in current_function.
|
||
(expand_inline_function): Use emit field, not inl_emit, of the inlined
|
||
function. Set new variable inlining before
|
||
calling copy_rtx_and_substitute.
|
||
(copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
|
||
constant pool references if inlining is nonzero.
|
||
Delete ADDRESS and (most of the) CONST cases.
|
||
(output_inline_function): Save and restore current_function/
|
||
current_function_decl. Delete restore_constants code. Don't call
|
||
init_const_rtx_hash_table.
|
||
* output.h (init_const_rtx_hash_table): Don't declare.
|
||
* rtl.h (struct function): Declare.
|
||
(get_pool_constant_for_function, get_pool_mode_for_function): Declare.
|
||
* toplev.c (rest_of_compilation): Don't treat nested functions or
|
||
functions containing them specially. Delete all code to deal with
|
||
save_for_inline_copying.
|
||
* tree.c (toplev_inline_obstacks, extra_inline_obstacks,
|
||
inline_obstacks): Delete variables.
|
||
(save_tree_status): Lose arg CONTEXT. All callers changed.
|
||
Simply allocate a new function_maybepermanent_obstack for the new
|
||
function, delete all the special cases.
|
||
Don't save inline_obstacks.
|
||
(restore_tree_status): Lose arg CONTEXT. All callers changed.
|
||
Delete special handling for function_maybepermanent_obstack; simply
|
||
free it if empty.
|
||
Don't restore inline_obstacks.
|
||
(permanent_allocation): Delete code that frees inline_obstacks.
|
||
(print_inline_obstack_statistics): Delete function.
|
||
(dump_tree_statistics): Don't call it.
|
||
* varasm.c (struct varasm_status): New.
|
||
(const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
|
||
last_pool, pool_offset, const_double_chain): Delete global
|
||
variables, replace with accessor macros.
|
||
(immed_double_const): Don't walk const_double_chain outside a
|
||
function, but don't treat nested functions specially anymore.
|
||
(immed_real_const_1): Likewise.
|
||
(clear_const_double_mem): Don't treat nested functions specially.
|
||
(init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
|
||
(save_varasm_status, restore_varasm_status): Delete functions.
|
||
(init_varasm_status): New function.
|
||
(force_const_mem): Don't treat nested functions specially.
|
||
(find_pool_constant): Accept new arg F, search for constants in
|
||
that function's pool rather than the current one. All callers
|
||
changed.
|
||
(get_pool_constant_for_function, get_pool_mode_for_function): New
|
||
functions.
|
||
|
||
* i386.c (init_386_machine_status): New function, mostly from
|
||
clear_386_stack_locals.
|
||
(struct machine_functions): Rename element names to avoid name
|
||
clashes.
|
||
(pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
|
||
macros, replacing global variables.
|
||
(clear_386_stack_locals, save_386_machine_status,
|
||
restore_386_machine_status): Delete functions.
|
||
(override_options): Initialize init_machine_status.
|
||
* i386.h (INIT_EXPANDERS): Delete macro.
|
||
(save_386_machine_status, restore_386_machine_status,
|
||
clear_386_stack_locals): Delete declarations.
|
||
|
||
Sat Sep 4 16:56:28 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
|
||
(doloop_begin): Simplify pattern and use emit_jump_insn.
|
||
(doloop_end): Simplify pattern, switch operand order,
|
||
and use emit_jump_insn.
|
||
|
||
Fri Sep 3 19:02:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* function.h (struct function): Add new element LANGUAGE.
|
||
(save_lang_status): Declare new variable.
|
||
(restore_lang_status): Likewise.
|
||
* function.c (save_lang_status): Define.
|
||
(restore_lang_status): Likewise.
|
||
(push_function_context_to): Call language-specific save function.
|
||
(pop_function_context_from): Call language-specific restore function.
|
||
|
||
Fri Sep 3 01:16:18 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
|
||
|
||
* i386.md (movsf_1): Check REG_P before use of REGNO.
|
||
(movdf_1): Likewise.
|
||
(movxf_1): Likewise.
|
||
(extendsfdf2): Likewise.
|
||
(extendsfxf2): Likewise.
|
||
(extenddfxf2): Likewise.
|
||
|
||
Sat Sep 4 11:37:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
|
||
constants into memory.
|
||
(c4x_shiftable_constant): New function.
|
||
* config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
|
||
(c4x_shiftable_constant): Declare.
|
||
* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
|
||
ashlqi3_noclobber): Add new patterns and associated splitters.
|
||
|
||
Fri Sep 3 16:22:17 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
|
||
* dwarf2out.c (dwarf2out_frame_init): Likewise.
|
||
* final.c (shorten_branches): Likewise.
|
||
* global.c (global_alloc): Likewise.
|
||
* haifa-sched.c (build_control_flow): Likewise.
|
||
* stmt.c (check_for_full_enumeration_handling): Likewise.
|
||
(estimate_case_costs): Likewise.
|
||
|
||
Fri Sep 3 15:49:56 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* rtl.h (RTL_CHECKC2): Fix typo in last change.
|
||
|
||
Fri Sep 3 15:13:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
|
||
(recompute_reg_usage): Likewise.
|
||
* rtlanal.c (find_regno_fusage): Likewise.
|
||
|
||
* rtl.c (rtl_check_failed_code1): New function.
|
||
(rtl_check_failed_code2): New.
|
||
* rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
|
||
(RTL_CHECKC1, RTL_CHECKC2): New.
|
||
(XC*): New accessor macros.
|
||
(NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
|
||
(ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
|
||
(CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
|
||
(ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
|
||
(TRAP_*, RANGE_INFO_*): Likewise.
|
||
|
||
Fri Sep 3 15:10:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (tlink.o): Don't depend on toplev.h.
|
||
|
||
* collect2.c (c_file, o_file, export_file, import_file, ldout,
|
||
output_file, nm_file_name, ldd_file_name, strip_file_name,
|
||
c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
|
||
add_prefix, prefix_from_env, prefix_from_string, do_wait,
|
||
fork_execute, maybe_unlink, add_to_list,
|
||
extract_init_priority, write_list, dump_list,
|
||
dump_prefix_list, write_list_with_asm, write_c_file,
|
||
write_c_file_stat, write_c_file_glob, scan_prog_file,
|
||
scan_libraries, is_in_list, resolve_lib_name, use_import_list,
|
||
ignore_library, extract_string, notice, dump_file, target_machine,
|
||
collect_wait, collect_execute, libname, locatelib, aix_std_libs,
|
||
read_file, print_load_command): Constify a char*.
|
||
(fdopen, error, fatal, fatal_perror): Don't prototype.
|
||
(my_strerror): Remove. All callers use xstrerror instead.
|
||
(xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
|
||
(main): Add prototype. Constify lots of char* ptrs. Change calls
|
||
to xcalloc/strcpy/strcat/... to one call to concat.
|
||
(main, scan_prog_file, scan_libraries): Use an intermediate
|
||
`const char **' to build an argv array.
|
||
(mapfile, libselect, libcompare, locatelib): Add prototypes.
|
||
|
||
* collect2.h (collect_execute, collect_wait, dump_file,
|
||
file_exists): Constify a char*.
|
||
(ldout, c_file_name, temporary_obstack, permanent_obstack,
|
||
temporary_firstobj, vflag, debug): Add extern declarations.
|
||
(fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
|
||
|
||
* tlink.c: Don't include toplev.h.
|
||
(vflag, debug, ldout, c_file_name, temporary_obstack,
|
||
permanent_obstack, temporary_firstobj): Don't declare.
|
||
(tlink_execute, frob_extension, symbol_hash_lookup,
|
||
file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
|
||
recompile_files, read_repo_files, demangle_new_symbols,
|
||
scan_linker_output): Constify a char*.
|
||
(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
|
||
do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
|
||
|
||
Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
|
||
|
||
* config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
|
||
(relative) rather than jsr (absolute) subroutine call insns.
|
||
* config/m68k/m68k-coff.h: Ditto.
|
||
|
||
Fri Sep 3 17:24:31 1999 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (note_invalid_constants): No need to ignore ASMs, we can
|
||
now rework these too.
|
||
(arm_reorg): If an insn can't reach the end of the current pool,
|
||
ensure that we emit that pool before the insn.
|
||
|
||
Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr>
|
||
|
||
* tlink.c (scan_linker_output): Skip the initial underscore in
|
||
a mangled name if appropriate.
|
||
|
||
Fri Sep 3 01:28:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
|
||
objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
|
||
error_with_ivar, gen_declarator, create_builtin_decl,
|
||
my_build_string, generate_descriptor_table, generate_ivars_list,
|
||
generate_dispatch_table, check_protocols, TAG_GETCLASS,
|
||
TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
|
||
dump_base_name, lang_decode_option, build_encode_expr,
|
||
start_class, finish_class, encode_pointer, really_start_method,
|
||
gen_declaration, dump_interface, handle_class_ref, handle_impent):
|
||
Constify.
|
||
(objc_demangle, objc_printable_name, generate_struct_by_value_array):
|
||
Add static prototypes.
|
||
(build_objc_string_decl, build_selector_reference_decl,
|
||
encode_bitfield, build_class_reference_decl): Remove unused
|
||
parameter, all callers changed.
|
||
(maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
|
||
(objc_printable_name): Likewise. Change second parameter to type int.
|
||
(init_objc): Use memcpy, not bcopy, to avoid casts.
|
||
|
||
Thu Sep 2 21:49:52 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload1.c (eliminate_regs_in_insn): Avoid eliminating the
|
||
reg notes on a deleted insn.
|
||
* gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
|
||
|
||
Thu Sep 2 20:18:12 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
|
||
|
||
Thu Sep 2 22:00:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* stmt.c (expand_asm_operands): Fix index into inout_mode when
|
||
reading it.
|
||
|
||
Thu Sep 2 13:00:48 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
|
||
* tm.texi (MD_ASM_CLOBBERS): Document it.
|
||
|
||
Thu Sep 2 10:22:40 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
|
||
* except.c (expand_rethrow): Remove unused variable.
|
||
* expr.c (do_jump_by_parts_greater_rtx): Likewise.
|
||
* flow.c (replace_insns): Likewise.
|
||
(create_edge_list, verify_edge_list): Likewise.
|
||
* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
|
||
|
||
* genemit.c (gen_expand): Only emit `operands[N]' decl if there
|
||
is special code to run.
|
||
(main): Don't define operands to emit_operand.
|
||
* genrecog.c (main): Don't emit an empty peephole2_insn function.
|
||
|
||
* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
|
||
|
||
* alpha/alpha.h (normal_memory_operand): Declare.
|
||
(reg_no_subreg_operand): Declare.
|
||
* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
|
||
|
||
Thu Sep 2 10:19:20 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-parse.in (compstmt_primary_start): New, broken out of first
|
||
part of compstmt handling in primary.
|
||
(primary): Use it. Add an error clause.
|
||
(compstmt_nostart): Renamed from compstmt; remove all
|
||
initial invocations of compstmt_start.
|
||
(compstmt): New.
|
||
|
||
Thu Sep 2 01:35:50 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if
|
||
needed.
|
||
|
||
Thu Sep 2 00:43:59 1999 Finn Hakansson <finn@axis.com>
|
||
|
||
* combine.c (simplify_shift_const): Remove extra semicolon.
|
||
* dwarf2out.c (remove_AT): Likewise.
|
||
* expmed.c (expand_mult): Likewise.
|
||
* gcov.c (create_program_flow_graph): Likewise.
|
||
* reorg.c (mostly_true_jump): Likewise.
|
||
|
||
Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (fold_range_test): Do not try to fold the range
|
||
test if the rhs or lhs has side effects.
|
||
|
||
* combine.c (simplify_rtx): Recognize another case of a synthesized
|
||
sign extension.
|
||
|
||
* varasm.c (mark_constant_pool): When marking indirect references,
|
||
only look at SYMBOL_REFs.
|
||
|
||
* except.c (expand_fixup_region_end): Do not peek at
|
||
INSN_UID (node->entry->outer_context) for flag_new_exceptions.
|
||
|
||
Thu Sep 2 13:52:53 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* flags.h: New variables align_loops, align_loops_log,
|
||
align_jumps, align_jumps_log, align_labels, align_labels_log,
|
||
align_functions, align_functions_log.
|
||
* toplev.c: Define them.
|
||
(f_options): Handle -falign-* when they have no argument.
|
||
(main): Add logic to set variables for -falign-functions,
|
||
-falign-jumps, -falign-labels, -falign-loops.
|
||
Make it -fsched-verbose=<n> and -finline-limit=<n>.
|
||
(display_help): Change help to match options.
|
||
* final.c (LABEL_ALIGN): Default to align_labels_log.
|
||
(LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
|
||
(LOOP_ALIGN): Default to align_loops_log.
|
||
(LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
|
||
(LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
|
||
(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
|
||
* varasm.c (assemble_start_function): Handle align_functions.
|
||
|
||
* config/sparc/sparc.h: Don't declare sparc_align_*.
|
||
Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
|
||
(DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
|
||
sparc.c.
|
||
(FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
|
||
it's a promise.
|
||
* config/sparc/sparc.c: Delete sparc_align_loops,
|
||
sparc_align_jumps, sparc_align_funcs and the corresponding string
|
||
variables.
|
||
(sparc_override_options): Default align_functions on ultrasparc.
|
||
Delete -malign-* handling.
|
||
|
||
* config/mips/mips.c (override_options): On 64-bit targets,
|
||
try to align code to 64-bit boundaries.
|
||
(print_operand): New substitution, %~,
|
||
which aligns labels to align_labels_log.
|
||
* config/mips/mips.md (div_trap_normal): Use %~.
|
||
(div_trap_mips16): Likewise.
|
||
(abssi): Likewise.
|
||
(absdi2): Likewise.
|
||
(ffssi2): Likewise.
|
||
(ffsdi2): Likewise.
|
||
(ashldi3_internal): Likewise.
|
||
(ashrdi3_internal): Likewise.
|
||
(lshrdi3_internal): Likewise.
|
||
(casesi_internal): Likewise.
|
||
|
||
Wed Sep 1 21:13:48 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
Merge new ia32 backend from the branch!
|
||
|
||
* i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
|
||
See ChangeLog.P2 on new_ia32_branch for details.
|
||
|
||
* rtl.h (stack_regs_mentioned_p): Delete prototype.
|
||
* i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
|
||
* i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
|
||
* i386/gas.h (ASM_FILE_START): Define.
|
||
* i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
|
||
for name change of ix86_valid_decl_attribute_p.
|
||
(i386_pe_valid_type_attribute_p): Similarly.
|
||
|
||
Wed Sep 1 18:21:23 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
|
||
to step through CC modes.
|
||
|
||
Wed Sep 1 20:18:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (fixup_match_1): Don't move INSN in front of P if
|
||
it would end up in the shadow of a live flags regsiter.
|
||
|
||
Wed Sep 1 11:32:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload1.c: Fix many indentation problems.
|
||
* reload.c: Likewise.
|
||
|
||
Tue Aug 31 22:08:03 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* alias.c (non_local_reference_p): Constify fmt.
|
||
|
||
Tue Aug 31 23:19:35 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
|
||
|
||
Tue Aug 31 16:44:52 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (delete_trivially_dead_insns): Do not delete stores to
|
||
the internal_arg_pointer.
|
||
|
||
Tue Aug 31 13:35:42 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
Merge peephole2 from new_ia32_branch:
|
||
* Makefile.in (STAGESTUFF): Add *.peephole2.
|
||
(mostlyclean): Likewise.
|
||
(recog.o): Depend on resource.h.
|
||
|
||
* final.c (peephole): Conditionalize decl on HAVE_peephole.
|
||
(final_scan_insn): Likewise for the invocation of peephole.
|
||
* genconfig.c (main): Look for peephole and peephole2 patterns.
|
||
Emit HAVE_peephole* accordingly.
|
||
* genpeep.c (main): Conditionalize entire output on HAVE_peephole.
|
||
* flags.h (flag_peephole2): Declare.
|
||
* toplev.c: New pass peephole2. New flag -fpeephole2.
|
||
|
||
* genattrtab.c (main): Count DEFINE_PEEPHOLE2.
|
||
* gencodes.c (main): Likewise.
|
||
* genextract.c (main): Likewise.
|
||
* genoutput.c (main): Likewise.
|
||
* genemit.c (max_operand_1): Look for the max scratch operand.
|
||
(gen_rtx_scratch): New.
|
||
(gen_exp): Use it, and pass on new arg subroutine_type.
|
||
(gen_expand): Take max scratch into account.
|
||
(gen_split): Emit peephole2 functions.
|
||
(output_peephole2_scratch): New.
|
||
(main): Include hard-reg-set.h and resource.h. Handle peephole2.
|
||
* genrecog.c (routine_type): Add PEEPHOLE2.
|
||
(IS_SPLIT): New.
|
||
(make_insn_sequence): Match outer parallel for peep2. Discard
|
||
top level scratches and dups.
|
||
(add_to_sequence): New args insn_type and top. Update all callers.
|
||
Handle toplevel peep2 matching insns.
|
||
(write_subroutine): Handle peep2.
|
||
(write_tree_1): Likewise.
|
||
(write_tree): Likewise.
|
||
(main): Likewise.
|
||
(change_state): New arg afterward. Update all callers.
|
||
Handle matching separate insns.
|
||
* recog.c (recog_next_insn): New.
|
||
(peephole2_optimize): New.
|
||
* rtl.def (DEFINE_PEEPHOLE2): New.
|
||
* resource.c (find_free_register): New argument last_insn. Use it
|
||
to find a register available through the entire span.
|
||
* resource.h (find_free_register): Update prototype.
|
||
|
||
Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
|
||
|
||
* i386.c (output_strlen_unroll): Don't write xops[7]
|
||
label if it wasn't set.
|
||
|
||
1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* cpplib.c (struct directive): Const-ify name pointer and
|
||
function pointer prototype.
|
||
(validate_else, do_define, do_line, do_include, do_undef,
|
||
do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
|
||
do_elif, do_endif, do_sccs, do_assert, do_unassert,
|
||
do_warning): Const-ify second arg.
|
||
(directive_table): Mark const. Reorder entries by frequency
|
||
of usage, record statistics.
|
||
|
||
1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
|
||
bounds- check RTL accesses if --enable-checking.
|
||
(RTVEC_ELT): Bounds check if --enable-checking.
|
||
(XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
|
||
XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
|
||
(XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
|
||
GET_NUM_ELEM.
|
||
(X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
|
||
X0BBDEF, X0ADVFLAGS): New macros for accessing '0' slots of RTXes.
|
||
|
||
(ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
|
||
(NOTE_SOURCE_FILE): Use X0STR.
|
||
(NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
|
||
MEM_ALIAS_SET): Use X0INT.
|
||
(NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
|
||
JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
|
||
Use X0EXP.
|
||
* real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
|
||
* rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
|
||
(rtl_check_failed_bounds, rtl_check_failed_type1,
|
||
rtl_check_failed_type2, rtvec_check_failed_bounds): New
|
||
functions.
|
||
(fancy_abort): Fix comment.
|
||
|
||
* cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
|
||
(cse_insn): Decrement LABEL_NUSES for jump target before
|
||
deleting jump insn.
|
||
* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
|
||
* final.c (alter_subreg): Compute regno before changing x to
|
||
REG; set REGNO(x) after changing it.
|
||
* flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
|
||
notes containing CONST_INTs.
|
||
(delete_eh_regions): Use NOTE_EH_HANDLER.
|
||
* function.c (put_reg_into_stack): Make reg a MEM before
|
||
initializing it.
|
||
(fixup_var_refs_insns): Save REG_NOTES (insn) in case we
|
||
delete insn.
|
||
(gen_mem_addressof): Make reg a MEM before initializing it.
|
||
* integrate.c (copy_rtx_and_substitute): Copy '0' slots with
|
||
X0WINT.
|
||
* local-alloc.c (update_equiv_regs): Zap REG_NOTES before
|
||
deleting an insn, not after.
|
||
(block_alloc): Only look at PATTERN(insn) if we have to, and
|
||
only if it's format class 'i'.
|
||
* loop.c (check_dbra_loop): Check bl->biv->add_val is a
|
||
CONST_INT before using its INTVAL.
|
||
* print-rtl.c (print_rtx): Use X0STR.
|
||
* regmove.c (fixup_match_1): Don't look at PATTERN of
|
||
non-class-'i' insn chain elements.
|
||
* reload.c (loc_mentioned_in_p): Take address of
|
||
in->fld[1].rtx directly.
|
||
* reload1.c (reload): Change reg to a MEM before initializing
|
||
it.
|
||
* varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
|
||
have no names.
|
||
* config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
|
||
|
||
Fri Aug 20 13:43:41 1999 Andrew Haley <aph@cygnus.com>
|
||
|
||
* config/mips/mips.c (machine_dependent_reorg): Force a
|
||
barrier to output the local constant pool if a barrier hasn't
|
||
been found at a natural point in the instruction stream.
|
||
|
||
Mon Aug 30 22:04:36 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-parse.in (language_string): Constify.
|
||
|
||
* dwarf2out.c (language_string): Remove declaration.
|
||
|
||
* dwarfout.c (language_string): Likewise.
|
||
|
||
* toplev.c (language_string, init_parse, finish_parse): Likewise.
|
||
|
||
* tree.h (language_string, init_parse, finish_parse): Declare.
|
||
|
||
* i386/sun386.h (language_string): Remove declaration.
|
||
|
||
* mips.h (language_string): Likewise.
|
||
|
||
* nextstep.h (language_string): Likewise.
|
||
|
||
* nextstep21.h (language_string): Likewise.
|
||
|
||
* rs6000.c (language_string): Likewise.
|
||
|
||
Mon Aug 30 20:56:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
|
||
(getpwd.o): Remove target.
|
||
|
||
* getpwd.c: Delete file. Its in libiberty now.
|
||
|
||
* dbxout.c (getpwd): Don't prototype.
|
||
* dwarf2out.c (getpwd): Likewise
|
||
* dwarfout.c (getpwd): Likewise
|
||
* final.c (getpwd): Likewise.
|
||
* protoize.c (getpwd): Likewise.
|
||
|
||
Mon Aug 30 20:21:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
|
||
|
||
Mon Aug 30 16:07:49 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
|
||
mark_set_resources.
|
||
|
||
Mon Aug 30 12:23:53 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fixinc/Makefile.in (subdir): New.
|
||
(fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
|
||
(Makefile): New.
|
||
|
||
Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (copy_rtx_if_shared): A MEM which references
|
||
virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
|
||
be shared.
|
||
|
||
* invoke.texi: Fix typo.
|
||
|
||
* dwarf2out.c (mem_loc_descriptor): New argument MODE. All callers
|
||
changed. Handle autoincrement addressing modes.
|
||
|
||
* integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
|
||
just like we would the virtual incoming args register when
|
||
integrating.
|
||
|
||
Sun Aug 29 23:17:54 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.h (ASM_FILE_START): Specify complete filename, including
|
||
path, in .file directive.
|
||
|
||
Sun Aug 29 05:06:43 1999 Russ Allbery <rra@stanford.edu>
|
||
|
||
* gcc.texi (External Bugs): Remove obsolete note about Perl on
|
||
SunOS.
|
||
|
||
1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* stdbool.h: Make the typedef name _Bool, with bool a #defined
|
||
alias.
|
||
|
||
Sun Aug 29 09:36:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* tree.c (tree_code_name): Constify a char*.
|
||
|
||
* tree.h (tree_code_name, decl_printable_name): Likewise.
|
||
|
||
* function.h (struct function): Likewise.
|
||
|
||
* toplev.c (decl_name, decl_printable_name): Likewise.
|
||
|
||
* vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
|
||
|
||
* objc/objc-act.c (decl_printable_name): Remove redundant prototype.
|
||
(init_objc): Remove function pointer cast.
|
||
|
||
Sun Aug 29 05:01:17 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* pa.md (interspace_jump): New pattern.
|
||
(builtin_longjmp): New expander.
|
||
|
||
1999-08-29 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
|
||
_gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
|
||
sf_to_df, df_to_sf): Fix potential problem with alias analysis.
|
||
|
||
Sun Aug 29 04:30:52 1999 John Wehle (john@feith.com)
|
||
|
||
* jump.c (delete_prior_computation): Also check calls
|
||
to constant functions. Don't bother checking for a
|
||
REG_UNUSED note before adding it.
|
||
(delete_computation): Handle multi-word hard registers
|
||
when synthesizing missing REG_DEAD notes for a register
|
||
which is both set and used by an insn.
|
||
|
||
1999-08-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.c (this_loop_info): New variable.
|
||
(loop_has_call, loop_has_volatile, loop_has_tablejump,
|
||
loop_continue, loops_enclosed): Replace with fields in this_loop_info.
|
||
All uses updated.
|
||
(prescan_loop, strength_reduce): New argument loop_info. All callers
|
||
updated.
|
||
(scan_loop): New variable loop_info, initialize to address of
|
||
this_loop_info.
|
||
(prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
|
||
Delete variable loop_has_multiple_exit targets and replace with
|
||
field in this_loop_info.
|
||
(find_and_verify_loops): Rename this_loop to this_loop_num.
|
||
(strength_reduce): Delete loop_iteration_info. Replace variable
|
||
loop_info with function argument of same name.
|
||
(insert_bct): Rework test for loop being completely unrolled.
|
||
|
||
* loop.h (struct loop_info): New fields num, loops_enclosed,
|
||
has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
|
||
has_indirect_jump, and cont. Redefine use of unroll_number.
|
||
(loop_unroll_number): Delete.
|
||
|
||
* unroll.c (unroll_loop): Store loop unroll count in unroll_number
|
||
field of loop_info.
|
||
(loop_iterations): Delete variable vtop and instead use
|
||
loop_info->vtop computed in prescan_loop.
|
||
|
||
Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org>
|
||
|
||
* fix-header.c (main): Do not pass a null pointer to strcmp.
|
||
|
||
Sun Aug 29 03:18:48 1999 William Bader (william@nscs.fast.net)
|
||
|
||
* configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
|
||
filenames.
|
||
* configure: Rebuilt.
|
||
|
||
Sat Aug 28 19:36:05 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (jump_optimize_1): Do not delete assignments to
|
||
internal_arg_pointer.
|
||
* cse.c (delete_trivially_dead_insns): Always consider a set of
|
||
the internal_arg_pointer live.
|
||
|
||
Sat Aug 28 16:24:31 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
|
||
(update_life_info) [REG_WAS_0]: Search the original insns rather
|
||
than the new insns for the note. Fix typos finding note_dest.
|
||
If no dest found, discard the note rather than abort.
|
||
[REG_NOALIAS]: Handle as REG_NO_CONFLICT.
|
||
(replace_insns): Remove the old insn list after update_life_info
|
||
not before.
|
||
|
||
Sat Aug 28 16:20:12 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
|
||
sched_analyze_insn.
|
||
(sched_analyze_1): Let add_dependence care for not adding dups.
|
||
(sched_analyze_2): Likewise.
|
||
(add_branch_dependences): Likewise.
|
||
|
||
Sat Aug 28 15:58:16 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/winnt.c (export_list): New type.
|
||
(exports_head): Rename to
|
||
(export_head): this.
|
||
(i386_pe_record_exported_symbol): Add is_data flag.
|
||
(i386_pe_asm_file_end): Emit directive for exported variables.
|
||
* i386/cygwin.h (i386_pe_record_exported_symbol): Update
|
||
prototype.
|
||
* i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
|
||
(ASM_DECLARE_OBJECT_NAME): Likewise.
|
||
(ASM_DECLARE_FUNCTION_NAME): Likewise.
|
||
* i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
|
||
|
||
Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
|
||
|
||
* pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
|
||
operand.
|
||
|
||
Fri Aug 27 14:01:19 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* config/openbsd.h: Define SET_ASM_OP.
|
||
* tm.texi: cross-reference SET_ASM_OP in the index.
|
||
|
||
1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
|
||
for a CONST_DOUBLE, at compile time. Initialize rtx_length
|
||
and class_narrowest_mode at compile time. Kill init_rtl.
|
||
Mark rtx_length, mode_class, mode_size, mode_unit_size,
|
||
mode_wider_mode, mode_mask_array, class_narrowest_mode, and
|
||
rtx_format as const. Kill all references to EXTRA_CC_MODES or
|
||
EXTRA_CC_NAMES.
|
||
* rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
|
||
format.
|
||
* rtl.h: Declare rtx_length and rtx_format as const.
|
||
* machmode.def: Define CC(). Use CC() to define CCmode. If
|
||
EXTRA_CC_MODES is defined, expand it here.
|
||
* machmode.h: Declare mode_class, mode_size, mode_unit_size,
|
||
mode_wider_mode, mode_mask_array, and class_narrowest_mode as
|
||
const. Kill all references to EXTRA_CC_MODES.
|
||
|
||
* toplev.c: Don't prototype or call init_rtl.
|
||
* optabs.c: Don't call init_mov_optab.
|
||
* genemit.c: Don't generate init_mov_optab. Don't call
|
||
init_rtl.
|
||
* gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
|
||
here.
|
||
* genattr.c, genattrtab.c, gencodes.c, genconfig.c,
|
||
genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
|
||
genrecog.c: Don't call init_rtl.
|
||
|
||
* arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
|
||
rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in
|
||
definition of EXTRA_CC_MODES.
|
||
|
||
* md.texi: Kill ref to EXTRA_CC_NAMES.
|
||
* tm.texi: Document new way to define EXTRA_CC_MODES.
|
||
|
||
* genrecog.c: Do not look up the name of a define_split.
|
||
(Unrelated bugfix.)
|
||
|
||
Fri Aug 27 17:03:42 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/v850.md: Fix typo introduced by previous delta.
|
||
|
||
Fri Aug 27 09:48:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gcc.c (fatal): Make definition static to match prototype.
|
||
|
||
Fri Aug 27 10:33:35 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* combine.c (get_last_value): Don't look for earlier sets if the last
|
||
known set is somewhere in between the insns being combined.
|
||
|
||
Fri Aug 27 10:03:12 BST 1999 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* configure.in: Don't use shell ! to negate exit codes
|
||
* configure: Regenerate
|
||
|
||
Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
|
||
the fact that ALIGN is measured in bits, not bytes.
|
||
|
||
1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* errors.c: New file; defines functions error, warning, and
|
||
fatal, variables have_error and progname.
|
||
* errors.h: New file; prototypes and decls for stuff in errors.c.
|
||
|
||
* Makefile: Add rules to build errors.o and
|
||
$(HOST_PREFIX)errors.o. Link genconfig, gencodes, genemit,
|
||
genopinit, genrecog, genextract, genpeep, genattr, and
|
||
genoutput with errors.o. Add errors.h to deps of genconfig.o,
|
||
gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
|
||
genpeep.o, genattr.o, and genoutput.o.
|
||
|
||
* genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
|
||
genextract.c, genpeep.c, genattr.c: Include errors.h. Don't
|
||
define or prototype fatal. Set progname at beginning of main.
|
||
* genoutput.c: Likewise, and don't define or prototype error
|
||
either.
|
||
|
||
* c-typeck.c (c_expand_start_case): Return immediately if exp
|
||
is an ERROR_MARK.
|
||
* fold-const.c (operand_equal_p): Return immediately if arg1
|
||
or arg0 are ERROR_MARKs.
|
||
* stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
|
||
fields of type ERROR_MARK when calculating if the record can
|
||
go in a register.
|
||
|
||
Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com>
|
||
with much help from Jeffrey A Law and Richard Henderson
|
||
|
||
* i386.md: In the 6 insns which call output_fix_trunc,
|
||
earlyclobber operands[0].
|
||
|
||
Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* jump.c (duplicate_loop_exit_test): Call reg_scan_update after
|
||
creating new registers.
|
||
|
||
1999-08-26 23:09 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* i386.h: Declare ix86_cpu_string, ix86_arch_string,
|
||
i386_reg_alloc_order, i386_regparm_string,
|
||
i386_align_loops_string, i386_align_jumps_string,
|
||
i386_align_funcs_string, i386_preferred_stack_boundary_string,
|
||
and i386_branch_cost_string as type "const char *".
|
||
* i386.c: Define all above strings as type "const char *".
|
||
|
||
Thu Aug 26 20:36:30 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
|
||
when emitting alignment padding. Emit padding byte of 0 instead of 4.
|
||
|
||
Thu Aug 26 18:11:20 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.c (array_type_nelts): Don't create RTL_EXPRs from
|
||
SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
|
||
|
||
Thu Aug 26 19:33:23 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
|
||
(debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
|
||
(dwarf2out_line, dwarf2out_finish): Likewise.
|
||
* tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documentation.
|
||
|
||
Thu Aug 26 16:10:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* tree.c (lang_unsave_expr_now) : Correct return type.
|
||
* tree.h (lang_unsave_expr_now) : Same.
|
||
|
||
Thu Aug 26 13:12:29 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
|
||
instead of duplicating code.
|
||
|
||
Thu Aug 26 18:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* gcse.c (hash_scan_insn): Don't scan obvious no-ops.
|
||
|
||
1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* tree.h: fancy_abort always takes three args.
|
||
* resource.c: Move include of system.h before toplev.h.
|
||
|
||
Thu Aug 26 09:46:16 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
|
||
as SYMBOL_REFs.
|
||
|
||
1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* system.h: Don't redefine abort or trim_filename.
|
||
* rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
|
||
or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
|
||
whether or not __FUNCTION__ is available.
|
||
* tree.h: Duplicate rtl.h's definition of abort, for files
|
||
that don't include rtl.h. Delete all code to perform type
|
||
checking with a compiler other than GCC.
|
||
* varray.h: Delete all code to perform type checking with a
|
||
compiler other than GCC. Make VARRAY_CHECK() always evaluate
|
||
its arguments exactly once, using a statement expression.
|
||
Adjust the VARRAY_<type> accessor macros to match.
|
||
* toplev.h (fatal_insn, fatal_insn_not_found): Kill.
|
||
(_fatal_insn, _fatal_insn_not_found): New fns, take info on
|
||
caller's location. Define fatal_insn and fatal_insn_not_found
|
||
as macros that use _fatal_insn and _fatal_insn_not_found.
|
||
(fancy_abort, trim_filename): Kill prototypes.
|
||
|
||
* rtl.c (trim_filename): Move here from toplev.c.
|
||
(fancy_abort): New function.
|
||
(DIR_SEPARATOR): Provide default definition.
|
||
* tree.c (tree_check_failed, tree_class_check_failed): Go
|
||
through fancy_abort.
|
||
(tree_check, tree_class_check, cst_or_constructor_check,
|
||
expr_check): Delete.
|
||
* varray.c (varray_check_failed): New function.
|
||
* toplev.c (fatal_insn, fatal_insn_not_found): Replace with
|
||
_fatal_insn and _fatal_insn_not_found. Go through
|
||
fancy_abort.
|
||
(trim_filename, fancy_abort): Delete.
|
||
|
||
* builtins.c (expand_builtin_args_info): Report ICE with abort.
|
||
* except.c (start_catch_handler): Report ICE with error/abort
|
||
combo.
|
||
* final.c (output_operand_lossage): Likewise.
|
||
* flow.c (verify_flow_info): Likewise.
|
||
|
||
* gcc.c: Prototype fatal.
|
||
* gengenrtl.c: Undef abort after including rtl.h not system.h.
|
||
* genattr.c, genattrtab.c, genemit.c, genextract.c,
|
||
genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
|
||
Don't define fancy_abort.
|
||
|
||
Wed Aug 25 17:56:59 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* optabs.c (emit_cmp_and_jump_insns): Be more thorough in
|
||
canonization.
|
||
|
||
Wed Aug 25 15:35:55 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m88k.h (VERSION_INFO2): Kill.
|
||
(VERSION_STRING): Kill.
|
||
(TM_RCS_ID): Kill.
|
||
(VERSION_INFO1): Tidy.
|
||
(TARGET_VERSION): Update.
|
||
* m88k/dgux.h (VERSION_INFO2): Kill.
|
||
(ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
|
||
* m88k/luna.h (VERSION_INFO1): Tidy.
|
||
* m88k/sysv4.h (VERSION_INFO1): Likewise.
|
||
* m88k.c (out_rcs_id, tm_rcs_id): Kill.
|
||
(output_file_start): Adjust for death of VERSION_STRING.
|
||
|
||
1999-08-25 13:51 -0700 Jim Meyering <meyering@ascend.com>
|
||
|
||
* cpplib.c (detect_if_not_defined): New function.
|
||
(do_if): Use it to detect potential once-only headers.
|
||
|
||
Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-common.c (combine_strings): Always set TREE_CONSTANT.
|
||
|
||
Wed Aug 25 15:27:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* combine.c (nonzero_bits) : Allow single-ly set registers to be
|
||
anywere in the function only if they are pseudos and set before
|
||
being used (not live at the start of the function).
|
||
(num_sign_bit_copies) : Same.
|
||
(get_last_value_validate) : Same.
|
||
(get_last_value) : Same.
|
||
|
||
Wed Aug 25 11:13:29 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.c (express_from): Try harder to unify (* c N) and (* c M)
|
||
where N and M are constant and N is an integer multiple of M.
|
||
|
||
Wed Aug 25 13:55:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
|
||
(sbitmap_intersection_of_preds, sbitmap_union_of_succs,
|
||
sbitmap_union_of_preds): Add prototypes.
|
||
* sbitmap.c (sbitmap_intersection_of_succs): New function to compute
|
||
the intersection of successors with the new flow graph structures.
|
||
(sbitmap_intersection_of_preds): New function to compute the
|
||
intersection of predecessors with the new flow graph structures.
|
||
(sbitmap_union_of_succs): New function to compute the union of
|
||
successors with the new flow graph structures.
|
||
(sbitmap_union_of_preds): New function to compute the union of
|
||
predecessors with the new flow graph structures.
|
||
* gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
|
||
(expr_reaches_here_p): Use edge and basic_block structures instead
|
||
of s_preds and s_succs.
|
||
(compute_cprop_avinout): Use new sbitmap routines.
|
||
(pre_expr_reaches_here_p): Use edge and basic_block structures instead
|
||
of s_preds and s_succs.
|
||
* flow.c (compute_flow_dominators): Compute dominators using
|
||
edges and basic blocks instead of s_preds and s_succs.
|
||
|
||
Wed Aug 25 13:41:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* lists.c (unused_insn_list, unused_expr_list): New file for
|
||
maintaining various types of lists. New statics for maintaining a
|
||
cache of available INSN_LIST and EXPR_LIST nodes.
|
||
(free_list): Static function for freeing a list of INSN/EXPR nodes.
|
||
(alloc_INSN_LIST): Function to get a free INSN_LIST node.
|
||
(alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
|
||
(init_EXPR_INSN_LIST_cache): Initialize the cache lists.
|
||
(free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
|
||
(free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
|
||
(free_EXPR_LIST_node): Free an individual EXPR_LIST node.
|
||
(free_INSN_LIST_node): Free an individual INSN_LIST node.
|
||
* haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
|
||
(free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
|
||
(remove_dependence, free_pending_lists): Use new global routines.
|
||
(flush_pending_lists, sched_analyze_insn): Use new global routines.
|
||
(sched_analyze, compute_block_backward_dependences): Use new routines.
|
||
(sched_analyze_1, sched_analyze_2): Use new routines.
|
||
(schedule_insns): Use new global routines.
|
||
* rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
|
||
prototypes.
|
||
(free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
|
||
(free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
|
||
prototypes.
|
||
* toplev.c (rest_of_compilation): Initialize node cache.
|
||
* Makefile.in (OBJS): Add lists.o to list of object files.
|
||
(lists.o): Add dependencies.
|
||
|
||
Wed Aug 25 17:31:56 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/v850.md: Fix compile time warning messages.
|
||
* config/v850/v850.c: Fix compile time warning messages.
|
||
* config/v850/v850.h: Fix compile time warning messages.
|
||
|
||
Wed Aug 25 09:44:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* genattr.c (gen_attr): Add prototype arguments for get_attr_*().
|
||
Remove unused prototype for `init_lengths'.
|
||
|
||
Wed Aug 25 09:32:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* calls.c (emit_call_1): Mark parameter `stack_size' with
|
||
ATTRIBUTE_UNUSED.
|
||
(expand_call): Initialize variable `insn'.
|
||
(emit_library_call): Likewise for variable `high_to_save'.
|
||
(emit_library_call_value): Likewise.
|
||
(store_one_arg): Likewise for variables `lower_bound' and
|
||
`upper_bound'.
|
||
|
||
* combine.c (try_combine): Likewise for variables `i2_code_number'
|
||
and `other_code_number'.
|
||
(find_split_point): Likewise for variables `pos', `unsignedp' and
|
||
`inner'.
|
||
(simplify_if_then_else): Likewise for variables `op' and `c1'.
|
||
(simplify_and_const_int): Remove unused variable `width'.
|
||
(merge_outer_ops): Likewise.
|
||
|
||
* cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
|
||
HOST_WIDE_INT' when comparing against one.
|
||
(simplify_relational_operation): Likewise.
|
||
(cse_insn): Initialize variables `src_eqv_volatile',
|
||
`src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
|
||
|
||
* final.c (init_final): Constify parameter `filename'.
|
||
(final_start_function): Mark parameter `optimize' with
|
||
ATTRIBUTE_UNUSED.
|
||
(profile_function): Likewise for parameters `first' and `optimize'.
|
||
(output_source_line): Likewise for parameter `file'.
|
||
|
||
* integrate.c (subst_constants): Cast a value to `size_t' when
|
||
comparing against one.
|
||
(mark_stores): Initialize variable `mode'. Cast a value to
|
||
`size_t' when comparing against one.
|
||
|
||
* integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
|
||
|
||
* loop.c (move_movables): Initialize variable `first'.
|
||
(strength_reduce): Likewise for variable `increment'.
|
||
(check_dbra_loop): Likewise for variable `comparison_val'. Cast a
|
||
value to `size_t' when comparing against one.
|
||
(load_mems): Initialize variable `end_label'.
|
||
|
||
* output.h (init_final): Constify parameter.
|
||
|
||
* reload.c (decompose): Initialize variable `base'.
|
||
|
||
* reload1.c (reload): Likewise for variable `is_scalar'.
|
||
(spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
|
||
(choose_reload_regs): Initialize variable `mode'.
|
||
(emit_reload_insns): Likewise for variable `store_insn'.
|
||
(reload_cse_noop_set_p): Mark parameter `insn' with
|
||
ATTRIBUTE_UNUSED.
|
||
(reload_combine): Initialize variable `set'.
|
||
|
||
* unroll.c (unroll_loop): Likewise for variable `local_label'.
|
||
(copy_loop_body): Cast a value to `size_t' when comparing against
|
||
one.
|
||
|
||
* varasm.c (assemble_variable): Initialize variable `size_tree'.
|
||
(const_hash): Add an `else abort()' in an if-else-if-else sequence.
|
||
(remove_from_pending_weak_list): Mark parameter `name' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
Wed Aug 25 11:18:39 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* toplev.c (rest_of_compilation): Use decl_printable_name when opening
|
||
gcse dump file.
|
||
|
||
Wed Aug 25 10:57:12 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
|
||
(ASM_DECLARE_FUNCTION_NAME): Define.
|
||
(TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
|
||
ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
|
||
ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
|
||
not already defined.
|
||
|
||
Wed Aug 25 01:36:11 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* calls.c (emit_call_1): Use call_pop/call_value_pop for all values
|
||
of n_popped when call/call_value are not defined.
|
||
|
||
Wed Aug 25 01:25:14 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* tm.texi: GNU CC -> GCC conversion.
|
||
(CC1_SPEC): Indicate it is used for all language front ends.
|
||
|
||
Tue Aug 24 23:43:03 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
|
||
NOTE_INSN_EH_REGION_END correctly.
|
||
|
||
Tue Aug 24 23:26:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* loop.c (strength_reduce): Automatically unroll loops if the
|
||
unrolled loop size is smaller than the rolled loop size.
|
||
|
||
* loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
|
||
and delete comment that code should be rewritten.
|
||
|
||
Tue Aug 24 22:56:35 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (find_rgns): Mark a block found during the DFS search
|
||
as reachable.
|
||
|
||
* haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
|
||
|
||
Tue Aug 24 22:41:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* fixinc/mkfixinc.sh: Don't fix uwin headers.
|
||
* i386/uwin.h (MD_STARTFILE_PREFIX): Define.
|
||
(LINK_SPEC): Add -u _main when building executables.
|
||
(ASM_DECLARE_FUNCTION): Update from Cygwin.
|
||
(ASM_FILE_END): Use the default for ix86-pe.
|
||
* i386/xm-uwin.h (HAVE_BCOPY): Undefine.
|
||
|
||
Tue Aug 24 20:49:47 1999 Art Haas <ahaas@neosoft.com>
|
||
|
||
* final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
|
||
and ASM_CLOSE_PAREN are empty strings.
|
||
|
||
Wed Aug 25 12:46:22 1999 Fred Fish <fnf@cygnus.com>
|
||
Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* Makefile.in (PREPROCESSOR_DEFINES): New macro.
|
||
(protoize.o): Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
|
||
(unprotoize.o): Ditto.
|
||
(test-protoize-simple): Don't define STD_PROTO_DIR.
|
||
* protoize.c: Use PARAMS rather than PROTO. Minor whitespace
|
||
changes to make 'test-protoize-simple' pass.
|
||
(STD_PROTO_DIR): Remove define.
|
||
(STANDARD_EXEC_PREFIX): Supply default define.
|
||
(standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
|
||
(target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
|
||
(target_version): New variable, init to DEFAULT_TARGET_VERSION.
|
||
(GET_ENV_PATH_LIST): New macro.
|
||
(default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
|
||
(do_processing): Initialize default_syscalls_dir using new
|
||
macros. Use it to initialize syscalls_absolute_filename.
|
||
|
||
Tue Aug 24 16:58:15 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (jump_optimize_1): Do cmov opt on any single-set; force
|
||
B into a register before emit_conditional_move.
|
||
|
||
Tue Aug 24 15:37:03 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
|
||
as (+ (+ (* a b) (* d e)) c). Factor a common power-of-two
|
||
multiplicand out of (+ (* a b) (* c d)).
|
||
|
||
Tue Aug 24 11:46:10 1999 Bob Manson <manson@cygnus.com>
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (split_hard_reg_notes): Move to flow.c
|
||
(new_insn_dead_notes): Likewise.
|
||
(update_n_sets): Likewise.
|
||
(update_flow_info): Move to flow.c, renamed to update_life_info;
|
||
extend to handle multiple source insns.
|
||
* flow.c: Include resource.h
|
||
(unlink_insn_chain): New.
|
||
(split_hard_reg_notes): New.
|
||
(maybe_add_dead_note): New.
|
||
(maybe_add_dead_note_use): New.
|
||
(find_insn_with_note): New.
|
||
(new_insn_dead_notes): New.
|
||
(update_n_sets): New.
|
||
(sets_reg_or_subreg_1, sets_reg_or_subreg): New.
|
||
(maybe_remove_dead_notes): New.
|
||
(update_life_info): New.
|
||
(prepend_reg_notes): New.
|
||
(replace_insns): New.
|
||
* output.h (update_life_info): Declare.
|
||
* recog.c (split_block_insns): Use update_life_info.
|
||
* resource.c (find_free_register): Use reg_alloc_order, don't use
|
||
fixed regs, make sure the mode is supported, don't use new regs.
|
||
(reg_dead_p): New.
|
||
* rtl.h (replace_insns): Declare.
|
||
|
||
Tue Aug 24 13:48:39 1999 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* expr.c (expand_expr): Cope with COND_EXPRs with one
|
||
non-returning branch.
|
||
|
||
Mon Aug 23 22:28:16 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* expr.c (store_expr): Always pass down the target, even when not
|
||
doing CSE.
|
||
|
||
1999-08-24 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* configure.in: Define target_cpu_default for v850 targets.
|
||
* configure: Regenerate
|
||
|
||
* config/v850/v850.h (TARGET_CPU_generic): Define.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
|
||
addresses are 4 byte aligned.
|
||
|
||
* config/v850/v850.c (print_operand): Cope with 'R' format DFmode
|
||
addresses.
|
||
|
||
Tue Aug 24 09:32:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* genattr.c (function_unit_desc): Constify a char*. Add prototype.
|
||
(main): Add prototypes.
|
||
|
||
* genattrtab.c (substitute_address, write_const_num_delay_slots,
|
||
attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
|
||
(write_attr_get): Emit prototypes along with function definition.
|
||
(write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
|
||
(write_complex_function): Emit static prototype along with
|
||
function definition.
|
||
|
||
* genemit.c (gen_split): Emit prototypes along with function
|
||
definition.
|
||
|
||
* genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
|
||
Likewise for predicates and `insn_operand_predicate'.
|
||
(process_template): Emit static prototype along with function
|
||
definition.
|
||
|
||
* genrecog.c (make_insn_sequence): Constify a char*. Add
|
||
prototypes for get_split_*().
|
||
(write_subroutine): Emit prototypes along with function
|
||
definition.
|
||
|
||
Tue Aug 24 12:35:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* gcse.c (find_avail_set): Follow chains of register-register copies.
|
||
Use oprs_not_set_p to guarantee that the returned value can be
|
||
substituted.
|
||
(cprop_insn): Don't verify the return value of find_avail_set with
|
||
oprs_not_set_p.
|
||
|
||
* gcse.c (cprop_jump): New function, broken out of cprop_insn.
|
||
(cprop_cc0_jump): New function.
|
||
(cprop_insn): Break out new function cprop_jump and use it.
|
||
Also use cprop_cc0_jump for machines with CC0.
|
||
(cprop): Don't crash if cprop_insn turned the insn into a NOTE.
|
||
|
||
* tree.h (current_function_calls_setjmp,
|
||
current_function_calls_longjmp): Delete declarations.
|
||
* dsp16xx.c: Include "function.h".
|
||
* elxsi.c: Likewise.
|
||
* gmicro.c: Likewise.
|
||
* h8300.c: Likewise.
|
||
* i370.c: Likewise.
|
||
* m32r.c: Likewise.
|
||
* mn10200.c: Likewise.
|
||
* mn10300.c: Likewise.
|
||
* ns32k.c: Likewise.
|
||
* spur.c: Likewise.
|
||
* v850.c: Likewise.
|
||
|
||
* rtl.h (rtx_equal_function_value_matters): Declare.
|
||
* toplev.c (rtx_equal_function_value_matters): Don't declare.
|
||
* cse.c: Likewise.
|
||
* function.c: Likewise.
|
||
* emit-rtl.c: Likewise.
|
||
|
||
Tue Aug 24 02:47:44 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
|
||
call.
|
||
|
||
1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
|
||
exactly.
|
||
|
||
Mon Aug 23 23:35:52 1999 Matthias Klose <doko@cs.tu-berlin.de>
|
||
|
||
* cpp.texi: Add a node documenting macro varargs (copied
|
||
from extend.texi).
|
||
|
||
1999-08-23 22:23 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* cppspec.c: Put a null pointer at the end of the new argv.
|
||
|
||
Mon Aug 23 21:23:24 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Remove code to select/de-select the haifa
|
||
scheduler. Every scheduled port gets haifa now.
|
||
* configure: Rebuilt.
|
||
* flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
|
||
* sched.c Deleted.
|
||
* Makefile.in: Corresponding changes.
|
||
|
||
Mon Aug 23 16:04:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
|
||
All callers changed.
|
||
(prepare_float_lib_cmp): Likewise.
|
||
Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
|
||
* expr.h (emit_float_lib_cmp): Delete declaration.
|
||
* tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
|
||
* sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
|
||
* sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
|
||
specially.
|
||
(cmptf): Now conditional on TARGET_HARD_QUAD.
|
||
|
||
Fri Aug 20 17:52:27 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* resource.c (mark_target_live_regs): Use
|
||
PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
|
||
|
||
Fri Aug 20 19:07:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
|
||
|
||
* rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
|
||
|
||
* genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
|
||
|
||
Fri Aug 20 18:53:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rtl.h (rtx_format): Constify a char*.
|
||
|
||
* rtl.c (rtx_format): Likewise.
|
||
(copy_rtx, copy_most_rtx, read_rtx): Likewise.
|
||
(init_rtl): Use accessor macro, not `rtx_format'.
|
||
|
||
* alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
|
||
char*.
|
||
|
||
* caller-save.c (mark_referenced_regs): Likewise.
|
||
|
||
* combine.c (subst, make_compound_operation, known_cond,
|
||
gen_rtx_combine, update_table_tick, get_last_value_validate,
|
||
use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
|
||
|
||
* cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
|
||
refers_to_p, canon_reg, fold_rtx, cse_process_notes,
|
||
count_reg_usage): Likewise.
|
||
|
||
* emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
|
||
Likewise.
|
||
|
||
* final.c (leaf_renumber_regs_insn): Likewise.
|
||
|
||
* flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
|
||
dump_edge_info, count_reg_references): Likewise.
|
||
|
||
* function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
|
||
fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
|
||
Likewise.
|
||
|
||
* gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
|
||
oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
|
||
add_label_notes): Likewise.
|
||
|
||
* genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
|
||
clear_struct_flag, count_sub_rtxs, count_alternatives,
|
||
compares_alternatives_p, contained_in_p, walk_attr_value,
|
||
write_expr_attr_cache): Likewise.
|
||
|
||
* genconfig.c (walk_insn_part): Likewise.
|
||
|
||
* genemit.c (max_operand_1, gen_exp): Likewise.
|
||
|
||
* genextract.c (walk_rtx): Likewise.
|
||
|
||
* genflags.c (num_operands): Likewise.
|
||
|
||
* genoutput.c (scan_operands): Likewise.
|
||
|
||
* genpeep.c (match_rtx): Likewise.
|
||
|
||
* genrecog.c (add_to_sequence): Likewise.
|
||
|
||
* haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
|
||
Likewise.
|
||
|
||
* integrate.c (save_constants, copy_for_inline,
|
||
copy_rtx_and_substitute, subst_constants, restore_constants):
|
||
Likewise.
|
||
|
||
* jump.c (mark_jump_label, invert_exp, redirect_exp,
|
||
rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
|
||
|
||
* local-alloc.c (contains_replace_regs, memref_referenced_p):
|
||
Likewise.
|
||
|
||
* loop.c (record_excess_regs, rtx_equal_for_loop_p,
|
||
add_label_notes, replace_call_address, count_nonfixed_reads,
|
||
invariant_p, find_single_use_in_loop, find_mem_givs,
|
||
find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
|
||
Likewise.
|
||
|
||
* print-rtl.c (reg_names, print_rtx): Likewise.
|
||
|
||
* recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
|
||
|
||
* reg-stack.c (stack_regs_mentioned_p, record_label_references,
|
||
record_reg_life_pat, swap_rtx_condition, goto_block_pat,
|
||
print_blocks): Likewise.
|
||
|
||
* regclass.c (fix_register, record_address_regs,
|
||
reg_scan_mark_refs): Likewise.
|
||
|
||
* regmove.c (stable_but_for_p): Likewise.
|
||
|
||
* reload.c (loc_mentioned_in_p, operands_match_p,
|
||
find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
|
||
copy_replacements, refers_to_regno_for_reload_p,
|
||
refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
|
||
reload_when_needed_name, reg_class_names, debug_reload_to_stream):
|
||
Likewise.
|
||
|
||
* reload1.c (eliminate_regs, scan_paradoxical_subregs,
|
||
delete_address_reloads_1, count_occurrences,
|
||
reload_cse_mem_conflict_p, reload_combine_note_use,
|
||
add_auto_inc_notes): Likewise.
|
||
|
||
* resource.c (mark_referenced_resources, mark_set_resources):
|
||
Likewise.
|
||
|
||
* rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
|
||
reg_mentioned_p, regs_set_between_p, modified_between_p,
|
||
modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
|
||
rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
|
||
may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
|
||
jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
|
||
|
||
* sched.c (sched_analyze_2, attach_deaths): Likewise.
|
||
|
||
* stupid.c (stupid_mark_refs): Likewise.
|
||
|
||
* unroll.c (remap_split_bivs): Likewise.
|
||
|
||
* varasm.c (mark_constants): Likewise.
|
||
|
||
* a29k/a29k.c (uses_local_reg_p): Likewise.
|
||
|
||
* alpha/alpha.c (summarize_insn): Likewise.
|
||
|
||
* arm/arm.c (symbol_mentioned_p, label_mentioned_p,
|
||
eliminate_lr2ip): Likewise.
|
||
|
||
* arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
|
||
|
||
* i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
|
||
reg_mentioned_in_mem): Likewise.
|
||
|
||
* ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
|
||
symbolic_reference_mentioned_p): Likewise.
|
||
|
||
* romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
|
||
|
||
* sh/sh.c (regs_used, mark_use): Likewise.
|
||
|
||
* vax/vax.c (vax_rtx_cost): Likewise.
|
||
|
||
Fri Aug 20 18:38:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* machmode.h (mode_name): Constify a char*.
|
||
|
||
* rtl.c (mode_name): Likewise.
|
||
|
||
* genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
|
||
|
||
* optabs.c (init_libfuncs): Constify a char*.
|
||
|
||
* print-tree.c (mode_name): Remove redundant declaration.
|
||
(print_node): Use accessor macro, not `mode_name'.
|
||
|
||
* reload1.c (dump_needs): Constify a char*. Use accessor macro,
|
||
not `mode_name'.
|
||
(new_spill_reg): Constify a char*.
|
||
|
||
* tree.c (mode_name): Remove redundant declaration.
|
||
|
||
Fri Aug 20 18:31:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rtl.c (rtx_name): Constify a char*.
|
||
|
||
* rtl.h (rtx_name, fix_sched_param): Likewise.
|
||
|
||
* gmicro/gmicro.c (rtx_name): Remove redundant declaration.
|
||
(mypr): Use accessor macro, not `rtx_name'.
|
||
|
||
* genemit.c (print_code): Constify a char*.
|
||
|
||
* genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
|
||
|
||
* genpeep.c (print_code): Constify a char*.
|
||
|
||
* genrecog.c (print_code): Likewise.
|
||
|
||
* graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
|
||
end_bb): Add static prototype.
|
||
(draw_edge): Constify a char*.
|
||
(end_bb): Remove unused parameter.
|
||
|
||
* haifa-sched.c (fix_sched_param, safe_concat, print_exp
|
||
print_block_visualization): Constify a char*.
|
||
|
||
Fri Aug 20 15:02:10 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.c (c_get_alias_set): Update comment.
|
||
|
||
1999-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||
|
||
* linux.h (LIB_SPEC): Added.
|
||
|
||
Fri Aug 20 22:32:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (STARTFILE_SPEC): Don't def.
|
||
|
||
1999-08-19 18:43 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* tree.c (expr_check): Fix typo in last change.
|
||
|
||
1999-08-19 14:44 -0700 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* rtl.def (NOTE): Change format to "iuu0n".
|
||
(ADDR_DIFF_VEC): Change format to "eEee0".
|
||
(ADDRESSOF): Change format to "eit".
|
||
|
||
* rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
|
||
(RTVEC_ELT): Change to match.
|
||
(XVECEXP): Use XVEC and RTVEC_ELT.
|
||
(INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
|
||
ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
|
||
(PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
|
||
CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
|
||
TRAP_CONDITION, TRAP_CODE): Use XEXP.
|
||
(INTVAL): Use XWINT.
|
||
(ADDRESSOF_DECL): Use XTREE.
|
||
(SET_ADDRESSOF_DECL): Delete.
|
||
(NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
|
||
NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill. These have been
|
||
ifdefed out since 2.6 at least.
|
||
(gen_rtvec_vv): Delete prototype.
|
||
|
||
* rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
|
||
not rtunion.
|
||
(copy_most_rtx): Handle 't' format letter.
|
||
* emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
|
||
(gen_rtvec_vv): Delete function. All callers changed to use
|
||
gen_rtvec_v instead.
|
||
* print-rtl.c (print_rtx): Move special casing of NOTEs to
|
||
the '0' format letter.
|
||
|
||
* function.c (gen_mem_addressof): Don't use
|
||
SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
|
||
instead.
|
||
* integrate.c (copy_rtx_and_substitute): Likewise.
|
||
Copy 't' slots with XTREE.
|
||
(subst_constants): Treat 't' slots like '[swi]' slots.
|
||
* cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
|
||
* jump.c (rtx_equal_for_thread_p): Likewise.
|
||
* rtlanal.c (rtx_equal_p): Likewise.
|
||
* stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
|
||
only four arguments.
|
||
* gengenrtl.c (type_from_format): Provide correct types for
|
||
'b' and 't' slots.
|
||
|
||
|
||
* tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
|
||
If a recent gcc is in use (always in stage2 and beyond), use
|
||
statement expressions, so we don't make a function call unless
|
||
the check fails. Evaluate arguments exactly once.
|
||
(CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
|
||
TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
|
||
Delete.
|
||
(CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
|
||
they evaluate their arguments exactly once, irrespective of
|
||
the compiler in use.
|
||
|
||
* tree.c [ENABLE_CHECKING]: Define whichever set of functions
|
||
is used by the currently-enabled check macros. This is:
|
||
(tree_check_failed, tree_class_check_failed): For gcc.
|
||
(tree_check, tree_class_check, cst_or_constructor_check,
|
||
expr_check): For other compilers.
|
||
|
||
* gencheck.c: Do not define any *_CHECK1 macros.
|
||
|
||
Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
|
||
Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* c-common.c (c_get_alias_set): Fix support for pointers and
|
||
references.
|
||
|
||
Thu Aug 19 11:51:22 EDT 1999 John Wehle (john@feith.com)
|
||
|
||
* alias.c: Include tree.h.
|
||
(nonlocal_reference_p, mark_constant_function): New functions.
|
||
* flow.c (life_analysis): Call mark_constant_function.
|
||
* rtl.h (mark_constant_function): Declare it.
|
||
|
||
Thu Aug 19 15:02:01 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_override_options): Fix test for
|
||
unrecognizable switches.
|
||
|
||
Wed Aug 18 23:31:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (recombine_givs): Set ix field after sorting.
|
||
(recombine_givs): Remove bogus index / giv lockstep looping.
|
||
|
||
Wed Aug 18 18:20:40 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
|
||
on CODE.
|
||
(emit_store_flag_force): Use do_compare_rtx_and_jump.
|
||
(do_cmp_and_jump): Formatting fixes.
|
||
* expr.c (do_compare_and_jump): Renamed from compare; changed to call
|
||
do_compare_rtx_and_jump instead of compare_from_rtx.
|
||
(do_compare_rtx_and_jump): New function; mostly copied from
|
||
compare_from_rtx.
|
||
(do_jump_for_compare): Delete.
|
||
(expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
|
||
MIN_EXPR.
|
||
(do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
|
||
of compare/do_jump_for_compare pairs.
|
||
(do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
|
||
(do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
|
||
compare_from_rtx/do_jump_for_compare pairs.
|
||
(do_jump_by_parts_equality): Likewise.
|
||
(do_jump_by_parts_equality_rtx): Likewise.
|
||
* expr.h (do_compare_rtx_and_jump): Declare.
|
||
* optabs.c (prepare_cmp_insn): New function, contains most of the code
|
||
that used to be in emit_cmp_insn.
|
||
(cmp_available_p): New function.
|
||
(prepare_operand): New function.
|
||
(emit_cmp_and_jump_insn_1): New function, contains some code that used
|
||
to be in emit_cmp_insn.
|
||
(prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
|
||
parameters to be pointers; don't emit final compare but modify some of
|
||
the values pointed to by the args so the caller can perform the
|
||
correct comparison.
|
||
(expand_binop): Call emit_store_flag_force with signed forms of
|
||
comparison code.
|
||
(expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
|
||
emit_jump_insn pair.
|
||
(emit_cmp_and_jump_insn): Use prepare_cmp_insn and
|
||
emit_cmp_and_jump_insn_1. Call emit_queue.
|
||
(emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
|
||
arg.
|
||
* flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
|
||
jump sets cc0 before deleting it.
|
||
* integrate.c (expand_inline_function): Likewise.
|
||
* unroll.c (unroll_loop): Similar changes in several places.
|
||
(copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
|
||
before deleting it.
|
||
|
||
Wed Aug 18 06:37:44 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* Makefile.in (insn-recog.o): Update dependencies.
|
||
* genrecog.c (main): Make generated file include "function.h".
|
||
|
||
Sat Aug 14 00:54:57 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* cse.c (cse_insn): Call never_reached_warning when a jump is
|
||
changed to be unconditional.
|
||
* flags.h: Declare warn_notreached.
|
||
* flow.c (delete_block): Call never_reached_warning when
|
||
a block is deleted.
|
||
* jump.c (delete_barrier_successors): Call never_reached_warning
|
||
when we delete everything after a BARRIER.
|
||
(never_reached_warning): New function.
|
||
* rtl.h: Declare never_reached_warning.
|
||
* toplev.c (warn_notreached): New variable.
|
||
(lang_independent_options): Set warn_notreached
|
||
when -Wunreachable-code.
|
||
(compile_file): We need line numbers for -Wunreachable-code.
|
||
|
||
Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* haifa-sched.c (insn_unit): Fix typo on out of range test.
|
||
* sched.c (insn_unit): Likewise.
|
||
|
||
Tue Aug 17 21:57:23 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* combine.c (distribute_notes): Handle REG_EH_RETHROW.
|
||
|
||
Tue Aug 17 17:39:43 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* flow.c (create_edge_list): Use xmalloc, not malloc.
|
||
|
||
Tue Aug 17 01:40:54 1999 Loren Rittle <ljrittle@acm.org>
|
||
|
||
* fixinc/inclhack.def (no_double_slash): Do not trash single-line
|
||
C-style comments. Do not lose the character before double slash.
|
||
|
||
Mon Aug 16 18:08:22 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* basic-block.h (struct edge_list): Stucture to maintain a vector
|
||
of edges.
|
||
(EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
|
||
INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
|
||
(create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
|
||
New function prototypes.
|
||
* flow.c (create_edge_list): Function to create an edge list.
|
||
(free_edge_list): Discards memory used by an edge list.
|
||
(print_edge_list): Debug output showing an edge list.
|
||
(verify_edge_list): Internal consistency check for an edge list.
|
||
(find_edge_index): Function to find an edge index for a pred and succ.
|
||
|
||
Mon Aug 16 11:56:36 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* tree.c (type_hash_add): Use permalloc to allocate nodes in the
|
||
hashtable.
|
||
|
||
Mon Aug 16 17:04:15 1999 Jorn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
|
||
|
||
Fri Aug 13 15:20:43 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
||
|
||
Fri Aug 13 10:21:28 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): Allow machine dependent
|
||
reorganization pass to place information into the RTL dump
|
||
file if it so wishes.
|
||
|
||
Sun Aug 15 12:41:21 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* explow.c (hard_function_value): Use VOIDmode instead of
|
||
MAX_MACHINE_MODE.
|
||
* stmt.c (expand_return): Likewise.
|
||
* stor-layout.c (get_best_mode): Likewise.
|
||
|
||
* genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
|
||
emit call instead of emit_insn call.
|
||
|
||
Sat Aug 14 15:04:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* configure.in: Handle --disable/enable-win32-registry.
|
||
* install.texi: Document --disable/enable-win32-registry.
|
||
* acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
|
||
(WIN32_REGISTRY_KEY): New macro.
|
||
* prefix.c: Use to enable/disable win32-specific code.
|
||
(lookup_key): Use versioned key.
|
||
* configure: Regenerate.
|
||
* config.in: Likewise.
|
||
|
||
Fri Aug 13 17:41:55 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cpplib.c (read_line_number): New fn, split out of...
|
||
(do_line): Here.
|
||
|
||
Fri Aug 13 14:18:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
tree.c (lang_unsave_expr_now) : New.
|
||
(unsave_expr_now): Call lang_unsave_expr_now.
|
||
tree.h (lang_unsave_expr_now) : New.
|
||
|
||
Fri Aug 13 00:49:46 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (flag_new_exceptions): On by default.
|
||
|
||
1999-08-13 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
|
||
|
||
Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* dwarfout.c (fundamental_type_code): Return FT_boolean for
|
||
INTEGER_TYPE with precision==1, it's __java_boolean.
|
||
|
||
Thu Aug 12 23:51:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* global.c (prune_preferences): Move some invariants out of the
|
||
inner loop.
|
||
|
||
Thu Aug 12 15:30:29 1999 Jesse Perry (jap@unx.dec.com)
|
||
|
||
* configure.in (alpha*-dec-osf*): Add osf5.
|
||
|
||
Sun Aug 1 22:24:03 1999 Philip Blundell <philb@gnu.org>
|
||
|
||
* configure.in: Rework handling of ARM GNU/Linux slightly.
|
||
(arm*-*-linux-gnuoldld): New target.
|
||
* configure: Regenerate.
|
||
* install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
|
||
arm-*-elf. Mention that arm-*-linux-gnuaout is obsolete.
|
||
* config/arm/linux-oldld.h: New file.
|
||
* config/arm/linux-elf26.h: Don't include linux-elf.h.
|
||
(TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
|
||
Don't define.
|
||
* config/arm/linux-elf.h (ASM_SPEC): Define.
|
||
(TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
|
||
SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
|
||
for 26-bit APCS and old linker.
|
||
(CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
|
||
`arm_elf'.
|
||
(FP_DEFAULT): Define to FP_SOFT3 for all machines.
|
||
* config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
|
||
don't define `arm' or `arm_elf'.
|
||
* config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
|
||
MULTILIB_DIRNAMES): Define. Fix typo in comment.
|
||
|
||
Thu Aug 12 10:14:47 1999 Andreas Schwab <schwab@suse.de>
|
||
|
||
* rtl.texi: Fix typo.
|
||
|
||
Wed Aug 11 23:50:57 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* invoke.texi (C++ Dialect Options): Add -fms-extensions.
|
||
|
||
Wed Aug 11 12:59:37 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* extend.texi (C++ Signatures): Remove node.
|
||
* invoke.texi: Remove discussion of -fhandle-signatures,
|
||
signature, sigof, __signature__, and __sigof__.
|
||
|
||
Wed Aug 11 03:38:25 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (JAVAGC): Removed.
|
||
|
||
Wed Aug 11 02:13:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
|
||
1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
|
||
|
||
1999-08-11 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
|
||
a register that is already known to be a pointer.
|
||
|
||
1999-08-11 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/inclhack.tpl: Only install assert.h conditionally.
|
||
* fixinc/inclhack.sh: Regenerated.
|
||
* fixinc/fixincl.sh: Regenerated.
|
||
|
||
Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
|
||
|
||
* invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
|
||
Fix documentation of -ansi flag to describe its C++ behavior.
|
||
Remove bogus reference to GCC 2.9.
|
||
|
||
Tue Aug 10 17:19:02 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
|
||
note if it is non-NULL.
|
||
|
||
Tue Aug 10 10:47:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.h (eh_nesting_info): Add new structure definition.
|
||
(init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
|
||
(reachable_handlers, update_rethrow_references): Add function
|
||
prototypes.
|
||
* rtl.h (struct rtvec_def): Update comments. REG_EH_RETHROW takes
|
||
a rethrow symbol instead of an integer exception region number.
|
||
* flow.c (Make_edges): Use new exception nesting routines to determine
|
||
which handlers are reachable from a CALL or asynchronous insn.
|
||
Don't add an edge for calls with a REG_EH_REGION of -1 to non-local
|
||
goto receivers.
|
||
(delete_eh_regions): Update rethrow labels, and don't delete
|
||
regions which are the target of a rethrow.
|
||
* except.c (struct func_eh_entry): Add rethrow_ref field, now we can
|
||
avoid overloading the SYMBOL_REF_USED flag.
|
||
(rethrow_symbol_map): Use new rethrow_ref field.
|
||
(rethrow_used): Use new rethrow_ref field.
|
||
(expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
|
||
of an integer. Fix formatting.
|
||
(output_exception_table_entry): Use new rethrow_ref field.
|
||
(can_throw): Check for EH_REGION_NOTE before deciding
|
||
whether a CALL can throw or not.
|
||
(scan_region): Call rethrow_used() instead of accessing data structure.
|
||
(update_rethrow_references): New function to make sure only regions
|
||
which are still targets of a rethrow are flagged as such.
|
||
(process_nestinfo): New static function to initialize a handler
|
||
list for a specific region.
|
||
(init_eh_nesting_info): New function to allocate and initialize
|
||
the list of all EH handlers reachable from all regions.
|
||
(reachable_handlers): New function to retrieve the list of handlers
|
||
reachable from a specific region and insn.
|
||
(free_eh_nesting_info): New function to dispose of a list of
|
||
reachable handlers.
|
||
|
||
Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* flow.c (split_edge): Set JUMP_LABEL field.
|
||
(commit_one_edge_insertion): Set head correctly for insert_before.
|
||
When inserting insns, update insn block numbers if allocated.
|
||
|
||
Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
|
||
retry_incomplete_types): Add static prototype.
|
||
(stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
|
||
dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
|
||
dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
|
||
dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
|
||
dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
|
||
Constify a char*.
|
||
|
||
* dwarf2out.h (dwarf2out_define, dwarf2out_undef,
|
||
dwarf2out_start_source_file, dwarf2out_line): Likewise.
|
||
|
||
Tue Aug 10 09:21:46 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* output.h (assemble_name): Constify a char*.
|
||
|
||
* varasm.c (UNIQUE_SECTION, assemble_start_function,
|
||
assemble_variable, assemble_name): Likewise.
|
||
|
||
* dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
|
||
|
||
* arm/pe.c (arm_pe_unique_section): Likewise.
|
||
|
||
* i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
|
||
|
||
* i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
|
||
|
||
* i386/interix.c (i386_pe_unique_section): Likewise.
|
||
|
||
* i386/win32.h (STRIP_NAME_ENCODING): Likewise.
|
||
|
||
* i386/winnt.c (i386_pe_unique_section): Likewise.
|
||
|
||
* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
|
||
* mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
|
||
* mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
|
||
* pa/pa.c (output_call): Likewise.
|
||
|
||
* pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
|
||
|
||
* pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
|
||
|
||
* rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
|
||
Likewise.
|
||
|
||
* rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
|
||
Likewise.
|
||
|
||
* rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
|
||
|
||
* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
|
||
STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
|
||
|
||
* v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
|
||
Mon Aug 9 19:54:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
|
||
|
||
Mon Aug 9 19:36:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* tree.h (lang_identify): Constify a char*.
|
||
(print_error_function): Add extern prototype. Constify a char*.
|
||
|
||
* c-lang.c (lang_identify): Constify a char*.
|
||
|
||
* objc/objc-act.c (lang_identify): Constify a char*.
|
||
|
||
Mon Aug 9 16:21:53 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* genpeep.c (main): Make generated file include "function.h".
|
||
* arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
|
||
|
||
Mon Aug 9 10:08:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* Makefile.in: Update dependencies.
|
||
* alias.c: Include "function.h"
|
||
* c-decl.c: Likewise.
|
||
* caller-save.c: Likewise.
|
||
* calls.c: Likewise.
|
||
* combine.c: Likewise.
|
||
* cse.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* final.c: Likewise.
|
||
* global.c: Likewise.
|
||
* graph.c: Likewise.
|
||
* local-alloc.c: Likewise.
|
||
* loop.c: Likewise.
|
||
* optabs.c: Likewise.
|
||
* profile.c: Likewise.
|
||
* recog.c: Likewise.
|
||
* regclass.c: Likewise.
|
||
* regmove.c: Likewise.
|
||
* reload.c: Likewise.
|
||
* reorg.c: Likewise.
|
||
* resource.c: Likewise.
|
||
* sched.c: Likewise.
|
||
* stupid.c: Likewise.
|
||
* config/1750a/1750a.c: Likewise.
|
||
* config/a29k/a29k.c: Likewise.
|
||
* config/arc/arc.c: Likewise.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/arm/thumb.c: Likewise.
|
||
* config/c4x/c4x.c: Likewise.
|
||
* config/clipper/clipper.c: Likewise.
|
||
* config/convex/convex.c: Likewise.
|
||
* config/fx80/fx80.c: Likewise.
|
||
* config/i860/i860.c: Likewise.
|
||
* config/m68k/m68k.c: Likewise.
|
||
* config/m88k/m88k.c: Likewise.
|
||
* config/mips/mips.c: Likewise.
|
||
* config/pdp11/pdp11.c: Likewise.
|
||
* config/pyr/pyr.c: Likewise.
|
||
* config/romp/romp.c: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
* config/tahoe/tahoe.c: Likewise.
|
||
* config/vax/vax.c: Likewise.
|
||
* config/we32k/we32k.c: Likewise.
|
||
* config/sparc/sparc.c: Include "function.h".
|
||
(mem_min_alignment): Test current_function rather than
|
||
regno_pointer_align.
|
||
* config/pa/pa.c: Likewise.
|
||
(compute_frame_size): Delete declaration of
|
||
current_function_outgoing_args_size.
|
||
* config/arc/arc.h (current_function_varargs): Delete declaration.
|
||
* config/elxsi/elxsi.h (current_function_calls_alloca): Delete
|
||
declaration.
|
||
* config/i370/i370.h (current_function_outgoing_args_size): Delete
|
||
declaration.
|
||
* config/i386/i386.h (FINALIZE_PIC): Delete declaration of
|
||
current_function_uses_pic_offset_table.
|
||
* config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
|
||
of current_function_returns_pointer.
|
||
* config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
|
||
* config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
|
||
* config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
|
||
* config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
|
||
* config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
|
||
* config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
|
||
* config/m88k/m88k.c: Include "function.h"
|
||
(call_used_regs, current_function_pretend_args_size,
|
||
current_function_outgoing_args_size, frame_pointer_needed): Delete
|
||
declarations.
|
||
* config/m88k/m88k.h (current_function_pretend_args_size): Delete
|
||
declaration.
|
||
* config/mips/mips.h (current_function_calls_alloca): Delete
|
||
declaration.
|
||
* config/mn10200/mn10200.h (current_function_needs_context,
|
||
rtx_equal_function_value_matters): Delete declarations.
|
||
* config/ns32k/ns32k (current_function_uses_pic_offset_table,
|
||
flag_pic): Delete declarations.
|
||
* config/pa/pa.h (current_function_pretend_args_size,
|
||
current_function_decl): Delete declarations.
|
||
* config/pa/som.h (current_function_varargs): Delete declaration.
|
||
* config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
|
||
declaration.
|
||
* config/pyr/pyr.h (current_function_pretend_args_size,
|
||
current_function_args_size, current_function_calls_alloca): Delete
|
||
declarations.
|
||
* config/sh/sh.h (current_function_varargs): Delete declaration.
|
||
* config/sparc/sparc.h (current_function_outgoing_args_size,
|
||
current_function_calls_alloca, current_function_decl): Delete
|
||
declarations.
|
||
* config/spur/spur.h (current_function_pretend_args_size,
|
||
current_function_calls_alloca): Delete declarations.
|
||
* config/v850/v850.c (current_function_outgoing_args_size): Delete
|
||
declaration.
|
||
* config/vax/vms.h (current_function_name): Delete declaration.
|
||
* gcse.c: Include "function.h".
|
||
(current_function_name, current_function_calls_setjmp): Delete
|
||
declarations.
|
||
* haifa-sched.c: Include "function.h".
|
||
(forced_labels): Delete declaration.
|
||
* jump.c: Likewise.
|
||
* reg-stack.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* genemit.c (main): Make generated file include function.h.
|
||
* genoutput.c (output_prologue): Likewise.
|
||
|
||
* builtins.c (saveregs_value, apply_args_value): Delete variables.
|
||
* emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
|
||
sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
|
||
regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
|
||
regno_reg_rtx, sequence_stack): Delete variables. Add accessor
|
||
macros for some of them.
|
||
(emit_filename, emit_lineno): Delete declarations.
|
||
(gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy. Access
|
||
regno_pointer_* variables through current_function.
|
||
(gen_inline_header_rtx): Delete function.
|
||
(save_emit_status): Delete function.
|
||
(set_new_last_label_num): New function.
|
||
(clear_emit_caches): New function.
|
||
(restore_emit_status): Just clear last_labelnum and call
|
||
clear_emit_caches.
|
||
(get_last_insn_anywhere): Variable sequence_stack is now accessed
|
||
through macro seq_stack.
|
||
(add_insn_after): Likewise.
|
||
(add_insn_before): Likewise.
|
||
(remove_insn): Likewise.
|
||
(pop_topmost_sequence): Likewise.
|
||
(in_sequence_p): Likewise.
|
||
(start_sequence_for_rtl_expr): Likewise.
|
||
(start_sequence): Likewise, and likewise for
|
||
sequence_rtl_expr/seq_rtl_expr.
|
||
(push_topmost_sequence): Likewise.
|
||
(end_sequence): Likewise.
|
||
(init_virtual_regs): Now takes a "struct emit_status *" argument.
|
||
All callers changed. Store into that pointer instead of globals.
|
||
(init_emit): Allocate emit elt of current_function.
|
||
Changes for sequence_rtl_expr/sequence_stack renaming.
|
||
Call clear_emit_caches instead of doing it in-line.
|
||
Access regno_pointer_* variables through current_function.
|
||
(init_emit_once) Don't clear sequence_stack.
|
||
|
||
* expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
|
||
Delete variables.
|
||
(arg_pointer_save_area): Delete declaration.
|
||
(finish_expr_for_function): Renamed from init_queue; no longer static.
|
||
(init_expr): Don't call init_queue.
|
||
(save_expr_status, restore_expr_status): Delete functions.
|
||
(expand_expr): Changes to reflect new layout of struct function.
|
||
Don't access current_function_check_memory_usage when current_function
|
||
is 0.
|
||
* expr.h (forced_labels, save_expr_regs, saveregs_value,
|
||
apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
|
||
current_function_outgoing_args_size, current_function_arg_offset_rtx,
|
||
current_function_uses_const_pool, function_call_count,
|
||
current_function_uses_pic_offset_table, nonlocal_labels,
|
||
current_function_internal_arg_pointer, nonlocal_goto_stack_level,
|
||
current_function_check_memory_usage, nonlocal_goto_handler_slots,
|
||
pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
|
||
declarations.
|
||
(finish_expr_for_function): Declare.
|
||
* flags.h (current_function_has_nonlocal_label,
|
||
current_function_has_nonlocal_goto, current_function_is_thunk,
|
||
current_function_has_computed_jump): Delete declarations.
|
||
* flow.c (forced_labels): Delete declaration.
|
||
* function.c (current_function_pops_args,
|
||
current_function_returns_struct, current_function_returns_pcc_struct,
|
||
current_function_needs_context, current_function_calls_setjmp,
|
||
current_function_calls_longjmp, current_function_has_nonlocal_label,
|
||
current_function_has_nonlocal_goto, current_function_is_thunk,
|
||
current_function_has_computed_jump, current_function_calls_alloca,
|
||
current_function_contains_functions, current_function_returns_pointer,
|
||
current_function_epilogue_delay_list, current_function_args_size,
|
||
current_function_pretend_args_size, current_function_arg_offset_rtx,
|
||
current_function_outgoing_args_size, current_function_varargs,
|
||
current_function_stdarg, current_function_args_info, cleanup_label,
|
||
current_function_name, current_function_uses_const_pool,
|
||
current_function_instrument_entry_exit, current_function_return_rtx,
|
||
current_function_uses_pic_offset_table, nonlocal_labels,
|
||
current_function_internal_arg_pointer, current_function_cannot_inline,
|
||
current_function_check_memory_usage, function_call_count,
|
||
nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
|
||
nonlocal_goto_stack_level, return_label, save_expr_regs,
|
||
stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
|
||
tail_recursion_reentry, arg_pointer_save_area, frame_offset,
|
||
context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
|
||
last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
|
||
temp_slot_level, var_temp_slot_level, target_temp_slot_level):
|
||
Delete variables.
|
||
(push_function_context_to): Don't save them. Don't call
|
||
save_storage_status, save_emit_status or save_expr_status.
|
||
(pop_function_context_from): Don't restore them. Don't call
|
||
restore_storage_status or restore_expr_status.
|
||
(get_func_frame_size): New function.
|
||
(get_frame_size): Use it.
|
||
(assign_outer_stack_local): Reflect some member name changes in struct
|
||
function.
|
||
(put_reg_into_stack): Likewise.
|
||
(assign_stack_temp_for_type): sequence_rtl_expr was renamed to
|
||
seq_rtl_expr.
|
||
(fixup_var_refs): Likewise.
|
||
(fix_lexical_addr): Likewise.
|
||
(trampoline_address): Likewise.
|
||
(prepare_function_start): Clear field inlinable of current_function.
|
||
(init_function_for_compilation): New function.
|
||
(expand_dummy_function_end): New function.
|
||
(expand_function_end): Call finish_expr_for_function.
|
||
* function.h (struct emit_status): New; fields moved here from struct
|
||
function and from global variables. Add accessor macros for some of
|
||
the fields.
|
||
(struct expr_status): Likewise.
|
||
(REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
|
||
(struct function): Add fields expr and emit, inlinable, inl_emit,
|
||
original_arg_vector, original_decl_initial, inl_last_parm_insn,
|
||
inl_max_label_num. Add many comments.
|
||
Add accessor macros for all elts of struct function that no longer
|
||
have a global variable.
|
||
(cleanup_label, return_label, frame_offset, tail_recursion_label,
|
||
tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
|
||
stack_slot_list): Delete declarations.
|
||
(get_func_frame_size): Declare.
|
||
(save_expr_status, restore_expr_status, save_emit_status,
|
||
save_storage_status, restore_storage_status): Delete declarations.
|
||
(init_virtual_regs): Declare.
|
||
* output.h (current_function_pops_args,
|
||
current_function_returns_struct, current_function_returns_pcc_struct,
|
||
current_function_needs_context, current_function_calls_setjmp,
|
||
current_function_calls_longjmp, current_function_calls_alloca,
|
||
current_function_has_nonlocal_label, current_function_varargs,
|
||
current_function_has_computed_jump, current_function_returns_pointer,
|
||
current_function_contains_functions, current_function_args_size,
|
||
current_function_pretend_args_size, current_function_stdarg,
|
||
current_function_outgoing_args_size, current_function_args_info,
|
||
current_function_name, current_function_return_rtx,
|
||
current_function_epilogue_delay_list,
|
||
current_function_uses_const_pool, current_function_cannot_inline):
|
||
Delete declarations.
|
||
* regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
|
||
regno_reg_rtx): Delete declaration.
|
||
(REGNO_POINTER_FLAG): Delete macro.
|
||
* stmt.c (expand_goto): Changes to reflect that some fields in struct
|
||
function were renamed.
|
||
* stor-layout.c (save_storage_status, restore_storage_status): Delete
|
||
functions.
|
||
* toplev.c: Include "function.h".
|
||
(current_function_decl): Delete declaration.
|
||
(compile_file): Call init_dummy_function_start and
|
||
expand_dummy_function_end around some initializations that need to
|
||
emit rtl.
|
||
(rest_of_compilation): Use DECL_SAVED_INSNS properly.
|
||
Call init_function_for_compilation.
|
||
* unroll.c: Include "function.h"
|
||
(unroll_loop): Access regno_pointer_* variables through
|
||
current_function.
|
||
|
||
* tree.h (struct tree_decl): Add elt f to saved_insns member.
|
||
(DECL_SAVED_INSNS): use it.
|
||
(expand_dummy_function_end): Declare.
|
||
(init_function_for_compilation): Declare.
|
||
* calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
|
||
that it's no longer an INLINE_HEADER.
|
||
(expand_call): Likewise.
|
||
* integrate.c (finish_inline): Delete function.
|
||
(max_parm_reg, parm_reg_stack_loc): Delete declarations.
|
||
(initialize_for_inline): Delete min_labelno, max_labelno and max_reg
|
||
args. Don't generate an INLINE_HEADER rtx, just return the arg
|
||
vector. All callers changed.
|
||
(save_for_inline_copying): Create a duplicate struct emit_status to
|
||
hold the emit state for compiling the current function. Use this and
|
||
the other new fields in struct function that are for integration
|
||
instead of an INLINE_HEADER.
|
||
Use memcpy instead of bcopy.
|
||
Store the current struct function in DECL_SAVED_INSNS of fndecl.
|
||
(save_for_inline_nocopy): Similar changes, except no new emit_status
|
||
is needed here.
|
||
(expand_inline_function): Get information from function structure,
|
||
not from an inline header rtx.
|
||
(output_inline_function): Lose code to extract the necessary
|
||
information from an inline header; simply put back the function
|
||
structure into current_function. Clear its inlinable elt.
|
||
* rtl.def (INLINE_HEADER): Delete.
|
||
* rtl.h: Delete all accessors for an INLINE_HEADER.
|
||
(gen_inline_header_rtx): Delete declaration.
|
||
(regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
|
||
Delete declarations.
|
||
(REGNO_POINTER_ALIGN): Delete.
|
||
(clear_emit_caches): Declare.
|
||
(set_new_last_label_num): Declare.
|
||
|
||
Mon Aug 9 01:52:24 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* print-tree.c (print_node): Print base for OFFSET_TYPEs.
|
||
|
||
* except.c (expand_eh_region_start_for_decl): Always start a new block.
|
||
* stmt.c (is_eh_region): Make sure current_function is present, too.
|
||
|
||
Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
|
||
for 64bit PA targets.
|
||
|
||
* pa.h (SELECT_SECTION): Define.
|
||
* som.h (SELECT_SECTION): Delete.
|
||
|
||
Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alias.c (init_alias_analysis): Wrap call to
|
||
`prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
|
||
|
||
1999-08-07 Bruce Korb <autogen@linuxbox.com>
|
||
|
||
* fixinc/inclhack.def(irix_asm_apostrophe): IRIX 5.2's
|
||
<sys/asm.h> contains an asm comment with an apostrophe
|
||
* fixinc/inclhack.sh: regen
|
||
* fixinc/fixincl.x: regen
|
||
|
||
Sat Aug 7 19:37:07 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (init_function_start): Clear prologue & epilogue.
|
||
(prologue_epilogue_contains): New function.
|
||
* alias.c (init_alias_analysis): Use it.
|
||
* rtl.h (prologue_epilogue_contains): Declare it.
|
||
|
||
Sat Aug 7 19:32:16 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (onlyjump_p): New function.
|
||
* rtl.h: Declare it.
|
||
* flow.c (delete_unreachable_blocks): Use onlyjump_p instead
|
||
of condjump_p in calling tidy_fallthru_edge and merge_blocks.
|
||
|
||
Sat Aug 7 17:09:36 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
|
||
to invert loops. Simplify block scanning.
|
||
|
||
Sat Aug 7 02:11:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
|
||
(cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
|
||
|
||
1999-08-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
|
||
|
||
* config/sparc/liteelf.h: New file to support sparclite-elf target
|
||
* config/sparc/t-sp86x: New file to support sparc86x targets
|
||
* config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
|
||
* config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
|
||
* configure.in: Support above target triplets
|
||
* configure: Regenerated
|
||
|
||
Sat Aug 7 01:39:27 1999 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* fixinc/server.c (server_setup): Do not prefix function used as
|
||
parameter with `&'.
|
||
|
||
Sat Aug 7 00:21:20 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
|
||
Remove fp reg alternatives.
|
||
|
||
Sat Aug 7 00:06:54 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefiin (TAROUTOPTS): Kill.
|
||
(install-headers-tar): Use "xpf" for tar headerfile extraction
|
||
* i370/x-oe (TAROUTOPTS): Delete.
|
||
* m68k/x-apollo68 (TAROUTOPTS): Delete.
|
||
* m68k/x-hp320 (TAROUTOPTS): Delete.
|
||
* m68k/x-hp320g (TAROUTOPTS): Delete.
|
||
* gcc.texi: Update bug reporting text.
|
||
|
||
1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* reg-stack.c (change_stack) Fixed problem with negative array index.
|
||
|
||
Fri Aug 6 23:08:44 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* extend.texi, install.texi: Fix spelling mistakes.
|
||
|
||
* Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
|
||
(s-attrtab); No longer try to use pre-made insn-attrtab file.
|
||
* mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
|
||
PREMADE_ATTRTAB_MD.
|
||
* mips/t-ecoff: Likewise.
|
||
* mips/t-elf: Likewise.
|
||
* mips/t-mips: Likewise.
|
||
* mips/t-osfrose: Likewise.
|
||
* mips/t-r3900: Likewise.
|
||
* mips/t-svr3: Likewise.
|
||
* mips/t-svr4: Likewise.
|
||
* mips/t-ultrix: Likewise.
|
||
|
||
* gcc.texi: Document recommend means to provide software floating
|
||
point libraries in libgcc.a
|
||
|
||
1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-lex.c (yylex): We can have a number with no digits.
|
||
|
||
Fri Aug 6 16:53:55 EDT 1999 John Wehle (john@feith.com)
|
||
|
||
* jump.c (delete_prior_computation): New function, broken
|
||
out of delete_computation. Check for side effects with
|
||
side_effects_p instead of FIND_REG_INC_NOTE. Handle
|
||
multi-word hard registers.
|
||
(delete_computation): Use it. Check for side effects with
|
||
side_effects_p instead of FIND_REG_INC_NOTE. Synthesize a
|
||
missing REG_DEAD note for a register which is both set and
|
||
used by an insn.
|
||
|
||
Fri Aug 6 11:05:29 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
|
||
(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
|
||
(ASM_FILE_START): Import _mcount with the right type.
|
||
(ASM_DECLARE_FUNCTION_NAME): Define.
|
||
(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
|
||
* pa.c (output_function_prologue): Always emit the function's label
|
||
here.
|
||
* pa.h (TEXT_SPACE_P): Define.
|
||
(FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
|
||
(ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
|
||
* som.h (TEXT_SPACE_P): Delete.
|
||
(FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
|
||
(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
|
||
|
||
Thu Aug 5 19:29:39 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (emit_group_load): Allow src to be a CONCAT.
|
||
|
||
Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
|
||
(___mulsi3): Use '!' comment character.
|
||
|
||
Thu Aug 5 13:34:14 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
|
||
|
||
Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcc.c: Update URLs and mail addresses.
|
||
* gcc.texi: Likewise.
|
||
|
||
Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org>
|
||
|
||
* rs6000.c (current_file_function_operand): Return zero for
|
||
weak functions.
|
||
(rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
|
||
weak symbols.
|
||
* rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
|
||
for weak symbols.
|
||
|
||
Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
|
||
allocate space in the stack frame for the PIC register.
|
||
|
||
Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.md (xordi3, anddi3): These patterns are not available on
|
||
the coldfire.
|
||
|
||
Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
|
||
(PUT_REAL): Likewise.
|
||
|
||
Wed Aug 4 20:45:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (shorten_branches): Don't add an alignment for loops
|
||
that have no label inside.
|
||
|
||
Wed Aug 4 16:39:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
|
||
prototypes in macro HAVE_cmpstrsi.
|
||
|
||
* cpplib.c (cpp_get_token): Remove unused label `op3'.
|
||
|
||
* emit-rtl.c (operand_subword): Remove unused variable
|
||
`bits_per_word'.
|
||
|
||
* rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
|
||
|
||
* tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
|
||
|
||
Wed Aug 4 13:29:23 1999 Zack Weinberg <zack@bitmover.com>
|
||
|
||
* cpphash.c (macroexpand): Delete leading whitespace when arg
|
||
is concatenated before.
|
||
(unsafe_chars): Correct test for whether + and - can extend a
|
||
token.
|
||
|
||
* cppinit.c (cpp_start_read): Do dependencies for
|
||
-include/-imacros files also.
|
||
|
||
* cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
|
||
tokenizing non-directive lines.
|
||
(cpp_expand_to_buffer): Temporarily disable no-output mode.
|
||
* cppmain.c: In no-output mode, just call cpp_scan_buffer for
|
||
the input file.
|
||
|
||
Wed Aug 4 12:53:44 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
|
||
|
||
* c-lex.c: Sync with C++ frontend.
|
||
(linemode): New variable.
|
||
(parse_float): imag, conversion_errno, and type are output only.
|
||
(yylex): Adjust. Move initial '.' case into main switch.
|
||
Use linemode.
|
||
(handle_generic_pragma): Just deal with tokens.
|
||
(readescape): Use ISXDIGIT and ISGRAPH.
|
||
* c-parse.in: Add END_OF_LINE token.
|
||
|
||
* c-lex.c (lang_init): Generalize.
|
||
(nextchar): Remove. Replace uses with UNGETC.
|
||
(skip_white_space): Handle linemode here. Optimize for cpplib.
|
||
(skip_white_space_on_line): Remove.
|
||
(extend_token_buffer_to): New fn.
|
||
(extend_token_buffer): Use it.
|
||
(read_line_number, check_newline): Just deal with tokens.
|
||
(token_getch, token_put_back): New fns.
|
||
(yylex): Use them. More cpplib optimizations. Simplify.
|
||
|
||
Wed Aug 4 12:53:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
|
||
Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
|
||
(consume_string): Make this smart about USE_CPPLIB.
|
||
(check_newline): Rewrite to be intelligent about USE_CPPLIB.
|
||
(yylex): Rewrite to be intelligent about USE_CPPLIB.
|
||
Also, clean up cases where we redundantly set token_buffer[0].
|
||
(read_line_number): New fn.
|
||
(ignore_escape_flag): New variable.
|
||
|
||
Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* a29k/t-a29kbare: Fix some comments.
|
||
(LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
|
||
(FPBIT, DPBIT): Define.
|
||
* a29k/t-vx29k: Likewise.
|
||
* arc/t-arc: Likewise.
|
||
* arm/t-arm-elf: Likewise.
|
||
* arm/t-bare: Likewise.
|
||
* arm/t-pe: Likewise.
|
||
* arm/t-pe-thumb: Likewise.
|
||
* arm/t-semi: Likewise.
|
||
* arm/t-thumb: Likewise.
|
||
* arm/t-thumb-elf: Likewise.
|
||
* arm/t-thumb-linux: Likewise.
|
||
* h8300/t-h8300: Likewise.
|
||
* i960/t-i960: Likewise.
|
||
* i960/t-vxworks960: Likewise.
|
||
* m32r/t-m32r: Likewise.
|
||
* mips/t-ecoff: Likewise.
|
||
* mips/t-elf: Likewise.
|
||
* mips/t-r3900: Likewise.
|
||
* pa/t-pro: Likewise.
|
||
* rs6000/t-aix43: Likewise.
|
||
* rs6000/t-beos: Likewise.
|
||
* rs6000/t-newas: Likewise.
|
||
* rs6000/t-ppccomm: Likewise.
|
||
* rs6000/t-rs6000: Likewise.
|
||
* rs6000/t-winnt: Likewise.
|
||
* rs6000/t-xnewas: Likewise.
|
||
* rs6000/t-xrs6000: Likewise.
|
||
* sh/t-sh: Likewise.
|
||
* sparc/t-elf: Likewise.
|
||
* sparc/t-sparcbare: Likewise.
|
||
* sparc/t-sparclite: Likewise.
|
||
* sparc/t-splet: Likewise.
|
||
* v850/t-v850: Likewise.
|
||
* mn10200/t-mn10200: Fix comments.
|
||
* mn10300/t-mn10300: Likewise.
|
||
|
||
* pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
|
||
dummy operand. Allocate a new pseudo for the dummy operand.
|
||
(divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
|
||
|
||
* pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
|
||
|
||
Wed Aug 4 11:53:55 1999 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* configure: Rebuilt.
|
||
* configure.in: Removed --enable-java-gc option and JAVAGC subst.
|
||
|
||
Wed Aug 4 09:06:14 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* recog.c (preproces_constraints): Zero recog_op_alt before
|
||
processing the constraints.
|
||
|
||
* arm.c (typedef minipool_node): Renamed from pool_node.
|
||
(minipool_vector, minipool_size, minipool_vector_label): Similarly.
|
||
(add_minipool_constant): New function.
|
||
(dump_minipool): New function.
|
||
(find_barrier): Remove special case for getting the insn size of
|
||
an insn that references the constant pool.
|
||
(minipool_fixup): New structure.
|
||
(push_minipool_barrier): New function.
|
||
(push_minipool_fix): New function.
|
||
(note_invalid_constants): New function.
|
||
(add_pool_constant, dump_table, fixit, broken_move): Delete.
|
||
(arm_reorg): Rewrite code to fix up the constant pool into a
|
||
series of mini-pools embedded in the insn stream.
|
||
(arm_output_epilogue): New function, made mainly from the body
|
||
of output_func_epilogue.
|
||
(output_func_epilogue): Move insn generation part of epilogue code
|
||
to arm_output_epilogue.
|
||
* arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
|
||
* arm.md (pool_range): New attribute.
|
||
(zero_extendqidi2): Add attribute pool_range.
|
||
(zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
|
||
extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
|
||
pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
|
||
movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
|
||
movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
|
||
(epilogue): New expand.
|
||
(epilogue_insn): New insn. Call arm_output_epilogue.
|
||
|
||
* arm.c (arm_poke_function_name): Undo change of July 17. Tidy up.
|
||
* arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
|
||
|
||
Mon Aug 2 19:18:44 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
||
|
||
1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* config/i386/djgpp.h (BSS_SECTION_ASM_OP): Define.
|
||
|
||
Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
|
||
|
||
Wed Aug 4 01:48:08 1999 Jim Kingdon <http://developer.redhat.com>
|
||
|
||
* global.c: Fix comment.
|
||
|
||
Wed Aug 4 01:43:01 1999 Ian Lance Taylor <ian@zembu.com>
|
||
|
||
* gcc.c (access_check): New static function.
|
||
(find_a_file): Use it when searching a directory list.
|
||
* collect2.c (find_a_file): Don't accept directories found when
|
||
searching a directory list.
|
||
|
||
Wed Aug 4 01:40:43 1999 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* tlink.c (symbol_hash_lookup): Do not prefix functions used as
|
||
function parameters with `&'.
|
||
(file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
|
||
|
||
Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (delete_unreachable_blocks): Do not call merge_blocks
|
||
or tidy_fallthru_edge if the last insn in the block is not
|
||
an unconditional jump or a simple conditional jump.
|
||
|
||
Tue Aug 3 20:21:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* Makefile.in (c-decl.o): Depends on defaults.h.
|
||
|
||
Tue Aug 3 14:14:52 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
|
||
PA1.1 and above.
|
||
(CLASS_MAX_NREGS): Likewise.
|
||
|
||
Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (cse_insn): Fix dumb thinko in last change.
|
||
|
||
Tue Aug 3 10:36:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
|
||
"const char *".
|
||
|
||
Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* dwarf2out.c (add_location_or_const_value_attribute): Correct
|
||
test for sizes of passed and declared parameter types.
|
||
|
||
Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fixincludes: Fix the return type of bsearch, char* -> void*.
|
||
|
||
* fixinc/inclhack.def: Likewise.
|
||
|
||
Mon Aug 2 18:29:32 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* invoke.texi (-fdump-translation-unit): New option.
|
||
|
||
Mon Aug 2 17:54:19 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.h (PROMOTE_PROTOTYPES): Move ...
|
||
* defaults.h: ... to here.
|
||
* c-decl.c: Include defaults.h instead of expr.h.
|
||
* c-typeck.c: Include defaults.h.
|
||
|
||
Mon Aug 2 17:10:24 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* toplev.h (errorcount): Declare.
|
||
(warningcount): Likewise.
|
||
(sorrycount): Likewise.
|
||
* c-lex.c (errorcount): Don't declare.
|
||
* dwarf2out.c (errorcount): Don't declare.
|
||
|
||
Mon Aug 2 17:02:08 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* config/libgloss.h: Add a note discouraging use with ELF.
|
||
* configure.in: Don't use libgloss.h for ELF targets.
|
||
Always use_collect2 on a.out targets.
|
||
|
||
Mon Aug 2 16:27:42 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
|
||
(force_to_mode, case ASHIFTRT): Add shiftrt label.
|
||
|
||
Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): When doing biv->giv conversion, update
|
||
reg note of NEXT->insn.
|
||
|
||
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
|
||
|
||
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* c-decl.c (get_parm_info, store_parm_decls): Change all uses of
|
||
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
|
||
Ensure expr.h is included.
|
||
* c-typecheck.c (convert_arguments): Ditto.
|
||
|
||
* expr.h: Supply default for PROMOTE_PROTOTYPES (0).
|
||
|
||
* config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
|
||
* config/convex/convex.h: Ditto.
|
||
* config/dsp16xx/dsp16xx.h: Ditto.
|
||
* config/fx80/fx80.h: Ditto.
|
||
* config/gmicro/gmicro.h: Ditto.
|
||
* config/i370/i370.h: Ditto.
|
||
* config/i386/i386.h: Ditto.
|
||
* config/m32r/m32r.h: Ditto.
|
||
* config/m68k/m68k.h: Ditto.
|
||
* config/m88k/m88k.h: Ditto.
|
||
* config/mips/mips.h: Ditto.
|
||
* config/pa/pa.h: Ditto.
|
||
* config/pyr/pyr.h: Ditto.
|
||
* config/tahoe/tahoe.h: Ditto.
|
||
* config/we32k/we32k.h: Ditto.
|
||
|
||
* config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
|
||
based on arch size.
|
||
|
||
* config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
|
||
|
||
* config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
|
||
from comment.
|
||
|
||
* tm.texi: Document new usage of PROMOTE_PROTOTYPES.
|
||
|
||
1999-08-02 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
|
||
for the register spill block.
|
||
(m32r_va_arg): New.
|
||
* m32r.h (EXPAND_BUILTIN_VA_ARG): New.
|
||
(EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
|
||
|
||
* m32r.h (INT8_P): Don't short-cut test with (unsigned).
|
||
(INT16_P, CMP_INT16_P, UINT16_P): Likewise.
|
||
(UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
|
||
|
||
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
|
||
MAX_WCHAR_TYPE defined in sparc.h.
|
||
* config/sparc/linuxaout.h: Likewise.
|
||
* config/sparc/linux64.h: Likewise.
|
||
Also default to -mvis if CPU is UltraSPARC.
|
||
|
||
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
|
||
(RTX_OK_FOR_OLO10): Likewise.
|
||
(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
|
||
%lo(), allow it in addresses...
|
||
(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
|
||
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
|
||
does not make sense.
|
||
* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
|
||
(sparc_output_scratch_registers): New function.
|
||
(output_function_prologue, sparc_flat_output_function_prologue): Use
|
||
it.
|
||
* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
|
||
defined.
|
||
* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
|
||
* configure.in: Add check for .register pseudo-op support in as and
|
||
check for offsetable %lo().
|
||
* acconfig.h: Add templates for the above checks.
|
||
* configure: Regenerate.
|
||
|
||
1999-08-02 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
|
||
* sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
|
||
* sparc/sol2.h (TARGET_DEFAULT): Likewise.
|
||
|
||
Mon Aug 2 23:46:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): When doing biv->giv conversion, fix up
|
||
reg_biv_class.
|
||
|
||
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* config/float-sparc.h: New file.
|
||
* configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
|
||
sparc-*-linux-gnu and sparc64-*-linux*.
|
||
|
||
1999-08-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.c (rs6000_va_list): Type is an array.
|
||
(rs6000_va_start): Don't doubly adjust for varargs.
|
||
(rs6000_va_arg): Evaluate long long GPR adjustment.
|
||
|
||
Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
|
||
-maix64 and -maix32.
|
||
(ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
|
||
LINK_SPEC): Change appropriately.
|
||
* rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
|
||
(u_short_cint_operand): Likewise.
|
||
* rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
|
||
for 64-bit hosts.
|
||
* rs6000/t-aix43 (MULTILIB): Change to -m64.
|
||
|
||
* invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
|
||
|
||
Mon Aug 2 16:15:57 1999 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* rs6000/rs6000.c (num_insns_constant_wide): Correct
|
||
for type promotion.
|
||
(add_operand): Get test correct for 64-bit HOST_WIDE_INT.
|
||
(non_add_cint_operand): Likewise.
|
||
(logical_operand): Likewise.
|
||
(non_logical_cint_operand): Likewise.
|
||
(print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
|
||
(print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
|
||
(rs6000_select_rtx_section): Suppress warning.
|
||
(small_data_operand): Suppress warning.
|
||
(rs6000_got_register): Suppress warning.
|
||
* rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
|
||
type, so `J' is generally the wrong constraint for a SImode value;
|
||
use `L' instead.
|
||
(andsi3_internal2): Likewise.
|
||
(andsi3_internal3): Likewise.
|
||
(iorsi3_internal1): Likewise.
|
||
(xorsi3_internal1): Likewise.
|
||
(movsi): Likewise.
|
||
(movsf_softfloat): Likewise.
|
||
(scc insns): Likewise.
|
||
(movsi+2): Preserve sign bits of SImode constant.
|
||
(floatsidf2_internal+1): Sign-extend SImode constant correctly.
|
||
(movdf+1): Sign-extend properly.
|
||
(movdi_32+1): Sign-extend properly.
|
||
(scc insns): Sign-extend properly.
|
||
|
||
* md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
|
||
K, L, and T.
|
||
|
||
1999-08-02 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (override_options): Move ev6 alpha_tp frobbing out of
|
||
-mcpu parsing code.
|
||
(print_operand): Notice alpha_fptm not alpha_tp for sw completion.
|
||
* alpha.md (all fp insns): Likewise.
|
||
|
||
1999-08-02 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
|
||
already defined.
|
||
|
||
Mon Aug 2 03:38:33 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (legitimize_pic_address): Clarify comments. Do not call the
|
||
pic_load_label generator directly.
|
||
* pa.md (pic_load_label): Clarify comments. Remove modes on operands.
|
||
No longer a named pattern.
|
||
|
||
Mon Aug 2 09:38:10 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* explow.c (force_reg): Call force_operand if X does not
|
||
satisfy general_operand.
|
||
|
||
Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fix-header.c (main): When testing for CONTINUED, use string
|
||
equality, not pointer equality.
|
||
|
||
Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu>
|
||
|
||
* sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
|
||
|
||
Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (cse_insn): Fix loop which deletes insns after a jump
|
||
that has become an unconditional jump.
|
||
|
||
* m68k.c (output_function_prologue): Fix typo in CPU32 case.
|
||
(output_function_epilogue): Similarly.
|
||
|
||
Sun Aug 1 20:14:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* tree.h (init_dummy_function_start): Declare.
|
||
|
||
Sun Aug 1 12:55:31 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
|
||
last_expr_type, last_expr_value, block_start_count, block_stack,
|
||
stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
|
||
nesting_depth, goto_fixup_chain): Delete global vars; now allocated
|
||
dynamically in stmt elt of struct function for each function.
|
||
(struct nesting): Rename function_call_count elt to n_function_calls,
|
||
target_temp_slot_level to block_target_temp_slot_level. All users
|
||
changed.
|
||
(struct stmt_status): New structure definition.
|
||
Add many accessor macros for stmt_status elements which previously
|
||
were global variables.
|
||
(init_stmt_for_function): Allocate stmt elt for current_function.
|
||
Reflect that block_start_count was renamed to
|
||
current_block_start_count.
|
||
(save_stmt_status, restore_stmt_status): Delete functions.
|
||
(preserve_subexpressions_p): Don't access loop_stack when outside
|
||
a function.
|
||
(expand_start_bindings): Reflect that block_start_count was renamed to
|
||
current_block_start_count.
|
||
(expand_fixup): Likewise.
|
||
(expand_decl): Don't access block_stack when outside a function.
|
||
(expand_decl_cleanup): Likewise.
|
||
(expand_dcc_cleanup): Likewise.
|
||
(expand_dhc_cleanup): Likewise.
|
||
(expand_anon_union_decl): Likewise.
|
||
(set_file_and_line_for_stmt): New function.
|
||
(in_control_zone_p): New function.
|
||
|
||
* function.h (struct function): Add new elt stmt.
|
||
Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
|
||
case_stack, nesting_stack, nesting_depth, block_start_count,
|
||
last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
|
||
emit_lineno, goto_fixup_chain.
|
||
(save_eh_status, restore_eh_status, save_stmt_status,
|
||
restore_stmt_status): Delete declarations.
|
||
* function.c (push_function_context_to): Don't call save_stmt_status.
|
||
(pop_function_context_to): Don't call restore_stmt_status.
|
||
* tree.h (in_control_zone_p): Declare.
|
||
* rtl.h (set_file_and_line_for_stmt): Declare.
|
||
|
||
* emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
|
||
call set_file_and_line_for_stmt.
|
||
|
||
Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com>
|
||
|
||
* gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
|
||
Also update copyright.
|
||
|
||
Sat Jul 31 11:10:07 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-pragma.c: Don't include "except.h".
|
||
* emit-rtl.c: Likewise.
|
||
* stor-layout.c: Likewise.
|
||
* tree.c: Likewise.
|
||
* varasm.c: Likewise.
|
||
|
||
* flow.c: Include "function.h".
|
||
* tree.h (init_dummy_function_start): Declare new function.
|
||
|
||
* except.h (struct eh_status): New structure.
|
||
(struct label_node, struct eh_entry): Declare even if tree.h hasn't
|
||
been included.
|
||
(eh_return_stub_label, ehstack, catchstack, ehqueue,
|
||
catch_clauses, false_label_stack, caught_return_label_stack,
|
||
protect_list, current_function_ehc): Add accessor macros for the
|
||
corresponding fields in current_function->eh; delete declarations
|
||
for all items that used to be declared here.
|
||
* except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
|
||
catch_clauses, false_label_stack, caught_return_label_stack,
|
||
protect_list, current_function_ehc): Delete variables.
|
||
(init_eh_for_function): Allocate current_function->eh.
|
||
(save_eh_status, restore_eh_status): Delete functions.
|
||
|
||
* function.h (struct function): Add fields next_global and eh.
|
||
Delete all exception handling related fields.
|
||
* function.c (current_function): New variable.
|
||
(all_functions): New variable.
|
||
(push_function_context_to): Don't allocate a struct function,
|
||
use current_function instead. Call init_dummy_function_start when
|
||
outside a function. Clear current_function before returning.
|
||
(pop_function_context_from): Restore current_function.
|
||
Don't free the restored struct function.
|
||
(prepare_function_start): New function.
|
||
(init_dummy_function_start): New function.
|
||
(init_function_start): Break out some code into prepare_function_start
|
||
and call it here.
|
||
|
||
* stmt.c (save_stmt_status): Don't call save_eh_status.
|
||
(restore_stmt_status): Don't call restore_eh_status.
|
||
|
||
* Makefile.in: Update dependencies.
|
||
|
||
Sat Jul 31 04:10:01 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
|
||
of depending on a magic constant value. Update comments.
|
||
(hppa_expand_prologue): Similarly.
|
||
|
||
* pa.md (reload_indi, reload_outdi): Allow any register for the
|
||
original reload register.
|
||
|
||
Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* cccp.c (print_help): Change marcos to macros.
|
||
|
||
1999-07-30 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-typeck.c (initializer_constant_valid_p): Move ...
|
||
* c-common.c (initializer_constant_valid_p): ... here. Use
|
||
FOO_TYPE_P instead of tests against TREE_CODE. Allow subtraction
|
||
of label addresses.
|
||
* c-common.h (initializer_constant_valid_p): Declare.
|
||
* c-tree.h (initializer_constant_valid_p): Remove.
|
||
|
||
Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
|
||
|
||
* config/i386/sol2-c1.asm: Align the stack.
|
||
* config/i386/sol2-gc1.asm: Likewise.
|
||
|
||
1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
|
||
|
||
* config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
|
||
-Asparclite for sparc86x.
|
||
(CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
|
||
sparc86x.
|
||
(ASM_CPU_SPEC): Use -Asparclite for sparc86x.
|
||
|
||
Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
|
||
the user if using the non-default arch size in BI_ARCH configuration.
|
||
* config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
|
||
|
||
* config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
|
||
Fix patterns so that they actually match.
|
||
(cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
|
||
(mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
|
||
(const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
|
||
TARGET_HARD_MUL32.
|
||
(mulsidi3): Reflect this in the expand.
|
||
(smulsi3_highpart): Only on TARGET_ARCH32.
|
||
(umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
|
||
(const_umulsidi3_sp32): Renamed from const_umulsidi3.
|
||
(umulsidi3): Reflect this in the expand.
|
||
(umulsi3_highpart): Only on TARGET_ARCH32.
|
||
(divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
|
||
don't require g0 to be zero.
|
||
(udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
|
||
({,u}divsi3): New expands.
|
||
({,u}divsi3_sp64): New patterns.
|
||
(after lshrdi3_v8plus): Four new patterns to help combiner
|
||
optimizing nested mixed mode shifts.
|
||
|
||
* config/sparc/sparc.c (sparc_override_options): Use deprecated
|
||
v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
|
||
speed things up. Don't use them by default on plain v9 in 64bit
|
||
mode, according to what SPAMv9 sais.
|
||
|
||
* config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
|
||
top 32 bits of %[og][0-7] in signal handlers.
|
||
Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
|
||
|
||
Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (zvdep_imm32): Renamed from zvdep_imm.
|
||
(ashlsi3): Corresponding changes.
|
||
|
||
* pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
|
||
|
||
Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
|
||
|
||
Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* arm.h (Hint): Delete macro.
|
||
Substitute HOST_WIDE_INT for Hint in some prototypes.
|
||
* arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
|
||
|
||
Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* builtins.c (expand_builtin_setjmp): Use force_operand to
|
||
make sure that the buffer address is in a suitable form to be
|
||
passed to force_reg.
|
||
|
||
Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/mips/mips.c: system.h handles MIN and MAX, don't undefine
|
||
them here.
|
||
|
||
Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (indirect_jump): Remove mode from match_operand. Verify
|
||
proper mode in the condition string.
|
||
(icacheflush, dcacheflush): Remove modes from match_operands.
|
||
|
||
* pa.c (emit_move_sequence): Always convert scratch_reg to the
|
||
proper mode before using it.
|
||
|
||
* pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
|
||
pair.
|
||
|
||
* pa.c (store_reg): Do not call add_high_const generator directly.
|
||
(load_reg, set_reg_plus_d): Likewise.
|
||
* pa.md (add_high_const): No longer a named pattern.
|
||
|
||
* pa.c (legitimize_address): Consistently use Pmode rather than
|
||
SImode. Do not call gen_pic2_highpart directly anymore.
|
||
* pa.md (pic2_highpart): No longer a named pattern.
|
||
(pic2_lo_sum): Similarly. Reformat to make more readable.
|
||
|
||
* pa.md (call, call_value): Use "word_mode" instead of "SImode" as
|
||
needed.
|
||
|
||
* README: Update.
|
||
|
||
Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
|
||
|
||
Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
|
||
and tag the spill mems.
|
||
(hppa_va_start): New.
|
||
(hppa_va_arg): New.
|
||
* pa.h (EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
|
||
Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
|
||
and tag the spill mems.
|
||
(mn10300_va_start): New.
|
||
(mn10300_va_arg): New.
|
||
* mn10300.h (EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
|
||
Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* mn10200.c (mn10200_va_arg): New.
|
||
* mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
|
||
|
||
Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
|
||
rather than play with TREE_INT_CST_LOW.
|
||
|
||
1999-07-27 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* config/arm/telf.h: Include dbxelf.h.
|
||
(CPP_PREDEFINES): Only define if not already defined.
|
||
(ASM_IDENTIFY_GCC): Likewise.
|
||
(SUBTARGET_EXTRA_SECTIONS): Likewise.
|
||
(SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
|
||
* config/arm/thumb.h (LINK_SPEC): Only define if not already
|
||
defined.
|
||
(DBX_DEBUGGING_INFO): Don't define.
|
||
* config/arm/linux-telf.h: New file.
|
||
* config/arm/linux-tgas.h: New file.
|
||
* config/arm/t-thumb-linux: New file.
|
||
* config/arm/uclinux-elf.h: New file.
|
||
* config/arm/uclinux-telf.h: New file.
|
||
* configure.in (arm-*-uclinux, thumb-*-linux-gnu,
|
||
thumb-*-uclinux): New targets.
|
||
* configure: Regenerate.
|
||
|
||
Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.md (post_store, pre_load): New expanders.
|
||
(post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
|
||
(post_ldwm, pre_stwm): Make these unnamed patterns since we never
|
||
need to directly generate RTL for them.
|
||
* pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
|
||
changes.
|
||
|
||
Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
|
||
* rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
|
||
(rs6000_cpu): Choose between 32-bit and 64-bit default processors.
|
||
(secndary_reload_class): Make TARGET_ELF conditional compile.
|
||
(print_operand_address): Similar.
|
||
(output_toc): Print all values as hex.
|
||
(get_issue_rate): Rearrange and add RS64A and PPC630.
|
||
* rs6000.h (processor_type): Add RS64A and PPC630.
|
||
(PROCESSOR_POWERPC64): New.
|
||
(PROMOTE_MODE): Use word_mode.
|
||
(RTX_COSTS): Add RS64A and PPC630.
|
||
* rs6000.md (scheduling information): Add lmul and ldiv
|
||
representing 64-bit integer multiply and divide. Add rs64a and
|
||
PPC630 information.
|
||
(ashldi3): Add support for "rldic" instruction.
|
||
* sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
|
||
|
||
Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
|
||
|
||
* config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
|
||
instead of V8 for sparclite86x in cpu_table.
|
||
|
||
Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
|
||
output_file_directive.
|
||
|
||
Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
|
||
tree for op1, not the rtl.
|
||
|
||
Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m88k.c (m88k_builtin_saveregs): Break out the constructor code
|
||
to m88k_va_start, leaving only the register spill.
|
||
(m88k_build_va_list): New.
|
||
(m88k_va_start): New.
|
||
(m88k_va_arg): New.
|
||
* m88k.h (BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
|
||
Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
|
||
Rename from expand_builtin_saveregs.
|
||
* config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
|
||
|
||
Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
|
||
for the register spill block.
|
||
(i960_build_va_list): New.
|
||
(i960_va_start): New.
|
||
(i960_va_arg): New.
|
||
* i960.h (BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
* i960.md (store_multiple): Use change_address on individual mems.
|
||
|
||
Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* builtins.c (stabilize_va_list): Don't INDIRECT_REF through
|
||
an ARRAY_TYPE.
|
||
(std_expand_builtin_va_start): Back out one word if !stdarg_p.
|
||
(expand_builtin_va_end): Evaluate arg for side effects.
|
||
* c-common.c (c_common_nodes_and_builtins): Construct a
|
||
va_list_arg_type_node to handle array decomposition to pointer.
|
||
|
||
Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* except.c (st_dynamic_cleanup): Use force_operand on the
|
||
buffer's address.
|
||
|
||
Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c4x.h (EXPAND_BUILTIN_VA_ARG): New.
|
||
* c4x.c (c4x_va_arg): New.
|
||
|
||
Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
|
||
has manual_pop set.
|
||
|
||
1999-07-26 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* eh-common.h (__eh_matcher): Prototype correctly.
|
||
|
||
Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
|
||
(TARGET_SINGLE_PIC_BASE): Likewise.
|
||
(GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
|
||
definitions.
|
||
(TARGET_CALLEE_INTERWORKING): Fix typo in comment.
|
||
(TARGET_SWITCHES): Add -m{no-}single-pic-base.
|
||
(TARGET_OPTIONS): Add -mpic-register=N.
|
||
(OUTPUT_INT_ADDR_CONST): New macro.
|
||
(INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
|
||
LEGITIMATE_PIC_OPERAND_P): Likewise.
|
||
(LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
|
||
(ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
|
||
output_addr_const directly.
|
||
(PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
|
||
ARM port.
|
||
(thumb_pic_register, thumb_pic_register_string): Declare.
|
||
|
||
* config/arm/thumb.c (symbol_mentioned_p): New function: Imported
|
||
from arm.c.
|
||
(label_mentioned_p): New function: Imported from arm.c.
|
||
(legitimize_pic_address): New function: Imported from arm.c.
|
||
(is_pic):New function: Imported from arm.c.
|
||
(thumb_finalize_pic):New function: Imported from arm.c.
|
||
(add_constant): Cope with PIC constants.
|
||
(fixit): Cope with PIC constants.
|
||
(output_return): Do not treat the PIC register as live if
|
||
TARGET_SINGLE_PIC_BASE is true.
|
||
(thumb_function_prologue): Do not treat the PIC register as live if
|
||
TARGET_SINGLE_PIC_BASE is true.
|
||
(thumb_expand_prologue): Do not treat the PIC register as live if
|
||
TARGET_SINGLE_PIC_BASE is true.
|
||
(thumb_unexpand_epilogue): Do not treat the PIC register as live if
|
||
TARGET_SINGLE_PIC_BASE is true.
|
||
(thumb_print_operand): Accept '|'.
|
||
(thumb_override_options): Process PIC options.
|
||
|
||
* config/arm/thumb.md (movsi): Support PIC.
|
||
(call_insn): Change "i" constraint to "X".
|
||
(call_value_insn): Likewise.
|
||
(consttable_4, consttable_8, consttable_end): Set and clear
|
||
"making_const_table" as appropriate.
|
||
(pic_load_addr, pic_add_dot_plus_four): New insns.
|
||
|
||
* invoke.texi (Thumb Options): Fix spelling. Document new
|
||
options -msingle-pic-base and -mpic-register=.
|
||
|
||
1999-07-26 Andrew Haley <aph@cygnus.com>
|
||
|
||
* config/m32r/initfini.c (__init): Use a full word immediate for
|
||
__fini: this allows it to be placed in any memory region.
|
||
|
||
* config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
|
||
-mmodel=medium. This is OK for all memory models.
|
||
|
||
Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
|
||
* config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
|
||
|
||
Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
|
||
defined.
|
||
|
||
* tm.texi: Document ASM_FPRINTF_EXTENSIONS.
|
||
|
||
Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i860.h (EXPAND_BUILTIN_SAVEREGS): New.
|
||
(BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
* i860.c (output_delayed_branch): Disable.
|
||
(output_delay_insn): Likewise.
|
||
(i860_saveregs): New.
|
||
(i860_build_va_list): New.
|
||
(i860_va_start): New.
|
||
(i860_va_arg): New.
|
||
* i860.md: Disable all peepholes using output_delayed_branch.
|
||
* i860/sysv4.h (I860_SVR4_VA_LIST): New.
|
||
|
||
Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
|
||
(BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
* clipper.c (clipper_builtin_saveregs): Only dump registers.
|
||
Return the address of the save area.
|
||
(clipper_build_va_list): New.
|
||
(clipper_va_start): New.
|
||
(clipper_va_arg): New.
|
||
|
||
Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* arc.h (EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
* arc.c (arc_setup_incoming_varargs): Set alias set of
|
||
varargs save area.
|
||
(arc_va_start): New.
|
||
(arc_va_arg): New.
|
||
|
||
Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
|
||
(BUILD_VA_LIST_TYPE): New.
|
||
(EXPAND_BUILTIN_VA_START): New.
|
||
(EXPAND_BUILTIN_VA_ARG): New.
|
||
* alpha.c (alpha_builtin_saveregs): Delete.
|
||
(alpha_build_va_list): New.
|
||
(alpha_va_start): New.
|
||
(alpha_va_arg): New.
|
||
|
||
Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
|
||
column zero.
|
||
(DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
|
||
(FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
|
||
|
||
* gcc.texi: More changes related to list conversion.
|
||
* invoke.texi: Likewise.
|
||
|
||
Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* builtins.c (expand_builtin_saveregs): Remove static, remove exp
|
||
and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
|
||
(expand_builtin_next_arg): Accept ARGLIST not EXP.
|
||
(stabilize_va_list): New function.
|
||
(std_expand_builtin_va_start): New function.
|
||
(expand_builtin_va_start): New function.
|
||
(get_varargs_alias_set): New function.
|
||
(std_expand_builtin_va_arg): New function.
|
||
(expand_builtin_va_arg): New function.
|
||
(expand_builtin_va_end): New function.
|
||
(expand_builtin_va_copy): New function.
|
||
(expand_builtin): Call them.
|
||
* c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
|
||
__builtin_{varargs_start,stdarg_start,end,copy}.
|
||
(build_va_arg): New function.
|
||
* c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
|
||
(build_va_arg): Declare.
|
||
* c-decl.c (ptr_type_node, va_list_type_node): New.
|
||
* c-parse.gperf (__builtin_va_arg): New.
|
||
* c-parse.in (VA_ARG): New token.
|
||
(unary_expr): Recognize it.
|
||
* expr.c (expand_expr): Expand VA_ARG_EXPR.
|
||
* expr.h (std_expand_builtin_va_start): Declare.
|
||
(std_expand_builtin_va_arg): Declare.
|
||
(expand_builtin_va_arg): Declare.
|
||
(get_varargs_alias_set): Declare.
|
||
* tree.def (VA_ARG_EXPR): New.
|
||
* tree.h (BUILT_IN_VARARGS_START): New.
|
||
(BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
|
||
(ptr_type_node, va_list_type_node): Declare.
|
||
* tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
|
||
* m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
|
||
* m88k.h, m88k.c: Likewise.
|
||
* mn10300.h, mn10300.c: Likewise.
|
||
* pa.h, pa.c: Likewise.
|
||
* rs6000.h, rs6000.c: Likewise.
|
||
* sh.h, sh.c: Likewise.
|
||
* sparc.h, sparc.c: Likewise.
|
||
|
||
* emit-rtl.c (operand_subword): Copy alias set.
|
||
(change_address): Likewise.
|
||
|
||
Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (compute_frame_size): Scan all the used callee saved registers,
|
||
not just the first one.
|
||
|
||
Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* config/arm/arm.h (TARGET_SWITCHES): Add
|
||
-m{no-}single-pic-base. Correct help string for -mshort-load-words.
|
||
(TARGET_OPTIONS): Add -mpic-register=.
|
||
(ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
|
||
(arm_pic_register_string): Declare.
|
||
(NEED_PLT_GOT): Delete, replace with ...
|
||
(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. New macros.
|
||
(OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
|
||
(ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
|
||
* config/arm/arm.c (arm_override_options): Add new option
|
||
-mpic-register=N.
|
||
(arm_pic_register_string): New variable.
|
||
(arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
|
||
(output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
|
||
register as never live. Use NEED_PLT_RELOC not NEED_PLT_GOT.
|
||
(output_return_instruction): Likewise.
|
||
* config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
|
||
(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. Define to flag_pic.
|
||
* config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
|
||
|
||
* invoke.texi (ARM Options): Fix spelling. Remove duplicate
|
||
mention of -msched-prolog. Document new options -msingle-pic-base
|
||
and -mpic-register=.
|
||
|
||
Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (reemit_notes): Tidy.
|
||
* sched.c (reemit_notes): Duplicate 1998-08-31 patch to
|
||
haifa's routine.
|
||
|
||
Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* explow.c (trunc_int_for_mode): New function.
|
||
(plus_constant_wide): Use it.
|
||
* combine.c (simplify_and_const_int): Likewise.
|
||
(merge_outer_ops): Likewise.
|
||
(simplify_shift_const): Likewise.
|
||
* cse.c (simplify_unary_operation): Likewise.
|
||
(simplify_binary_operation): Likewise.
|
||
* emit-rtl.c (operand_subword): Likewise.
|
||
* rtl.h: Declare it.
|
||
|
||
Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
|
||
(use NUM_REGS instead of NUM_INTS).
|
||
|
||
Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* builtins.c: New file.
|
||
* expr.c (saveregs_value, apply_args_value): Delete definition,
|
||
moved into builtins.c.
|
||
(string_constant): No longer static.
|
||
(get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
|
||
apply_args_size, apply_result_size, result_vector,
|
||
expand_builtin_apply_args, expand_builtin_apply,
|
||
expand_builtin_return): Delete functions, moved into builtins.c.
|
||
(INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
|
||
* expr.h (saveregs_value, apply_args_value): Declare variables.
|
||
(expand_builtin, string_constant): Declare functions.
|
||
* Makefile.in: Update to build builtin.o.
|
||
|
||
Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
|
||
* tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
|
||
* dwarf2out.c (dwarf2out_init): Don't output a label to mark the
|
||
start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
|
||
false.
|
||
* config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
|
||
Define to zero.
|
||
|
||
1999-07-21 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* print-rtl.c (print_rtx): Print the names of the virtual
|
||
registers.
|
||
|
||
Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
|
||
introduced in previous delta.
|
||
|
||
Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-lang.c (finish_file): Rename void_list_node to void_list_node_1
|
||
to avoid name clash.
|
||
|
||
Wed Jul 21 08:39:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* c-lex.c (yylex) : Correct the test for overflow when lexing
|
||
integer literals.
|
||
|
||
Tue Jul 20 18:02:42 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
|
||
(adjust_priority): Always call ADJUST_PRIORITY.
|
||
(schedule_insn): Only put insns into the ready at cost 0.
|
||
(schedule_block): Remove redundant initial sort. Give clock_var
|
||
and can_issue_more to MD_SCHED_REORDER. Requeue if hazard cost
|
||
is not 0.
|
||
* tm.texi (MD_SCHED_REORDER): Update docs.
|
||
|
||
* sparc.h (MD_SCHED_REORDER): Update. Set CAN_ISSUE_MORE.
|
||
* sparc.c (ultra_reorder_called_this_block): Delete.
|
||
(ultrasparc_sched_init): Don't set it.
|
||
(ultrasparc_sched_reorder): Don't check it.
|
||
|
||
Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rs6000.h (struct rs6000_args): Add sysv_gregno.
|
||
* rs6000.c (init_cumulative_args): Init sysv_gregno.
|
||
(function_arg_boundary): Align DFmode.
|
||
(function_arg_advance): Restructure for ABI_V4; use sysv_gregno
|
||
to get fp reg and stack overflow correct.
|
||
(function_arg): Likewise.
|
||
(function_arg_pass_by_reference): True for TFmode for ABI_V4.
|
||
(setup_incoming_varargs): Restructure for ABI_V4; use
|
||
function_arg_advance to skip final named argument.
|
||
(expand_builtin_saveregs): Properly unskip the last integer arg
|
||
when doing varargs. Adjust overflow location calculation.
|
||
|
||
* ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
|
||
explicitly unsigned.
|
||
(__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
|
||
(__VA_GP_REGSAVE): Similarly.
|
||
(__va_longlong_p): Delete.
|
||
(__va_arg_type_violation): New declaration.
|
||
(va_arg): Restructure. Flag promotion errors. Align double.
|
||
TFmode passed by reference.
|
||
|
||
* rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
|
||
in the HOST_BITS_PER_WIDE_INT > 32 case.
|
||
|
||
Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* dwarf2out.c (output_abbrev_section): Terminate with a zero.
|
||
|
||
Tue Jul 20 12:12:27 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
|
||
* toplev.c (documented_lang_options): Add -fpreprocessed.
|
||
* cpplib.h (struct cpp_buffer): Add preprocessed.
|
||
* cppinit.c (cpp_handle_option): Handle -fpreprocessed.
|
||
(cpp_start_read): Don't expand macros or emit an initial #line
|
||
directive if -fpreprocessed.
|
||
|
||
Tue Jul 20 12:12:09 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
|
||
|
||
* cpplib.h (struct cpp_buffer): Added manual_pop for
|
||
better C++ tokenization.
|
||
* cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
|
||
Also, support C++ tokenization for ->*, .*, <?, and >? operators.
|
||
* c-common.c (cpp_token): Make non-static.
|
||
|
||
Tue Jul 20 11:24:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* c-common.h: New file.
|
||
* c-common.c (permanent_obstack): Delete unused declaration.
|
||
(c_global_trees): New array.
|
||
(c_common_nodes_and_builtins): New function; split off common code
|
||
from init_decl_processing in both c-decl.c and cp/decl.c.
|
||
* c-tree.h: Delete lots of declarations of tree nodes; replaced by
|
||
c_global_trees and accessor macros defined in c-common.h.
|
||
Include c-common.h.
|
||
* c-decl.c: Delete definitions for tree nodes that were replaced by
|
||
c_global_trees.
|
||
(init_decl_processing): Build void_list_node.
|
||
Call c_common_nodes_and_builtins; delete code to generate the common
|
||
builtins here.
|
||
* objc/objc-act.c (build_module_descriptor): Rename variable
|
||
void_list_node to avoid clash with c-common.h.
|
||
|
||
* Makefile.in: Update dependencies.
|
||
* objc/Make-lang.in: Likewise.
|
||
|
||
Mon Jul 19 14:22:18 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
|
||
(UNIQUE_SECTION_P): Likewise.
|
||
(UNIQUE_SECTION): Likewise.
|
||
|
||
1999-07-19 Linas Vepstas <linas@linas.org>
|
||
|
||
* config/i370/README: New file.
|
||
* config/i370/linux.h: New file.
|
||
* config/i370/mvs.h: New file.
|
||
* config/i370/oe.h: New file.
|
||
* config/i370/t-linux: New file.
|
||
* config/i370/t-mvs: New file.
|
||
* config/i370/t-oe: New file.
|
||
* config/i370/x-oe: New file.
|
||
* config/i370/xm-linux.h: New file.
|
||
* config/i370/xm-mvs.h: New file.
|
||
* config/i370/xm-oe.h: New file.
|
||
|
||
* i370.c (label_node_t): Add first_ref_page, label_addr,
|
||
label_first_ref, label_last_ref members.
|
||
(mvs_need_base_reload): Renamed from mvs_label_emitted.
|
||
(MAX_MVS_LABEL_SIZE): Define.
|
||
(MAX_LONG_LABEL_SIZE): Define.
|
||
(alias_node_t, alias_anchor, alias_number): New.
|
||
(mvs_function_table): Reorder for EBCDIC.
|
||
(ascebc, ebcasc): Unconditionally define.
|
||
(i370_branch_dest, i370_branch_length): New functions.
|
||
(i370_short_branch, i370_label_scan): New functions.
|
||
(mvs_get_label): Renamed from mvs_add_label. Search for
|
||
an existing label before creating a new one.
|
||
(mvs_add_label): New function.
|
||
(mvs_get_label_page): New function.
|
||
(mvs_free_label_list): Renamed from mvs_free_label. Iterate
|
||
over the entire list.
|
||
(mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
|
||
(mvs_check_page) [TARGET_ELF_ABI]: New function.
|
||
(mvs_add_alias, mvs_need_alias): New functions.
|
||
(mvs_get_alias, mvs_check_alias): New functions.
|
||
(handle_pragma): New function.
|
||
(mvs_function_check): New function.
|
||
(unsigned_jump_follows_p): Search harder.
|
||
(i370_function_prolog) [TARGET_HLASM]: Handle LE370. Scan labels.
|
||
(i370_function_prolog) [TARGET_ELF_ABI]: New function.
|
||
* i370.h (TARGET_VERSION): Delete.
|
||
(CPP_SPEC, CPP_PREDEFINES): Delete.
|
||
(mvs_label_emitted): Delete.
|
||
(TARGET_EBCDIC): Delete.
|
||
(MAP_CHARACTER): Define only if TARGET_EBCDIC.
|
||
(HANDLE_PRAGMA): Define.
|
||
(HARD_REGNO_NREGS): Handle complex modes.
|
||
(HARD_REGNO_MODE_OK): Likewise.
|
||
(CLASS_MAX_NREGS): Likewise.
|
||
(RET_REG): Likewise.
|
||
(EXTRA_CONSTRAINT): Define.
|
||
(RETURN_IN_MEMORY): True for DImode.
|
||
(TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
|
||
(FUNCTION_PROFILER): Delete.
|
||
(COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
|
||
(NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
|
||
(TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
|
||
(TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
|
||
(TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
|
||
(ASM_FILE_START): Add "RMODE ANY".
|
||
(ASM_OUTPUT_EXTERNAL): Check for aliases.
|
||
(ASM_GLOBALIZE_LABEL): Likewise.
|
||
(ASM_OUTPUT_LABELREF): Likewise.
|
||
(ASM_OUTPUT_COMMON): Likewise.
|
||
(PRINT_OPERAND): Handle 'K', 'W', default.
|
||
(PRINT_OPERAND_ADDRESS): New.
|
||
(Lots of defines): Add support for TARGET_ELF_ABI.
|
||
* i370.md (attr length): New. Define for all patterns.
|
||
(*): Lots of tweeks to assembly output and constraints.
|
||
|
||
Mon Jul 19 15:09:29 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
|
||
Disable patterns performing SImode comparisons with SImode values
|
||
if TARGET_POWERPC64 and instruction does not sign-extend or does
|
||
not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
|
||
differ for signed quantities.
|
||
(indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
|
||
(tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
|
||
(decrement_and_branch_on_count): Add 64-bit variant.
|
||
|
||
Mon Jul 19 09:36:27 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* final.c (output_asm_insn): When searching for the matching string
|
||
for a given dialect, don't run past the end of the list of
|
||
alternatives if there are fewer alternatives in the template than
|
||
dialects.
|
||
|
||
1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
|
||
Removed paragraph about compression of files and size limitation,
|
||
duplicated in the FAQ. Use gcc-patches for posting patches.
|
||
* gcc.c (main): Updated URL with bug reporting instructions to
|
||
gcc.gnu.org. Removed e-mail address.
|
||
* system.h (abort): Likewise.
|
||
|
||
1999-07-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (stmp-multilib-sub): Make the files extracted
|
||
from $(LIBGCC1) writable.
|
||
|
||
Sat Jul 17 14:25:46 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/aout.h: Reformat for improved readability.
|
||
|
||
* config/arm/arm.h: Reformat for improved readability.
|
||
Replace uses of fprintf with asm_fprintf where appropriate.
|
||
(ARM_DECLARE_FUNCTION_NAME): New macro: Perform any generic ARM
|
||
function declaration assembler actions.
|
||
(NUM_INTS): New macro: Convert from bytes to words.
|
||
(NUM_REGS): New macro: Compute number of registers required to
|
||
hold a quanitity of tyep MODE.
|
||
(NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
|
||
types.
|
||
(NUM_ARG_REGS): New macro: The number of argument registers
|
||
available.
|
||
(ARG_REGISTER): New macro: Compute the register number of the Nth
|
||
argument register.
|
||
(LAST_ARG_REGNUM): New macro: The number of the last argument
|
||
register.
|
||
(SP_REGNUM): New macro: Register number of the stack pointer.
|
||
(FP_REGNUM): New macro: Register number of the frame pointer.
|
||
(FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
|
||
FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
|
||
CUMULATIVE_ARGS so that it counts registers not bytes.
|
||
|
||
* config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
|
||
TARGET_INTERWORK.
|
||
Replace uses of fprintf with asm_fprintf where appropriate.
|
||
(output_ascii_pseudo_op): Replace with version from thumb.c
|
||
|
||
* config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
|
||
|
||
* config/arm/elf.h (CPP_PREDEFINES): Replace with
|
||
SUBTARGET_CPP_SPEC.
|
||
(ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
|
||
(ASM_FILE_START): Emit ASM_APP_OFF.
|
||
|
||
Fri Jul 16 13:48:09 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (compute_frame_size): Round frame according to
|
||
STACK_BOUNDARY rather than a hardwired value.
|
||
|
||
* pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
|
||
|
||
* configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
|
||
of "1".
|
||
* configure: Rebuilt.
|
||
|
||
* configure.in (hppa*-*-linux*): New configuration.
|
||
* configure: Rebuilt.
|
||
* pa.h (MAX_OFILE_ALIGNMENT): Delete.
|
||
* pa/som.h (MAX_OFILE_ALIGNMENT): Define.
|
||
* pa/pa-linux.h: New file.
|
||
* pa/t-linux: New file.
|
||
* pa/xm-linux.h: New file.
|
||
|
||
* pa.c (hppa_legitimize_address): Change references from SImode to
|
||
either Pmode or word_mode as appropriate.
|
||
(emit_move_sequence, store_reg, load_reg): Likewise.
|
||
(set_reg_plus_d, hppa_expand_prologue): Likewise.
|
||
(output_mul_insn): Likewise.
|
||
* pa.h (PROMOTE_MODE): Likewise.
|
||
(INITIALZE_TRAMPOLINE): Likewise.
|
||
(Pmode): Define to word_mode.
|
||
|
||
* pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
|
||
value of 4. Allocate 8 bytes for each FP register save.
|
||
(hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
|
||
value of 4.
|
||
(hppa_expand_prologue): Likewise.
|
||
* pa.h (PROMOTE_MODE): Likewise.
|
||
(HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
|
||
(FUNCTION_ARG_BOUNDARY): Likewise.
|
||
|
||
* invoke.texi (HPPA Options): Remove -mspace/-mno-space.
|
||
|
||
* pa.c (out_of_line_prologue_epilogue): Delete.
|
||
(override_options): Remove -mspace related code.
|
||
(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
|
||
(compute_frame_size): Only allocate space for register that
|
||
actually need to be saved.
|
||
* pa.h (MASK_SPACE, TARGET_SPACE): Delete.
|
||
(TARGET_SWITCHES): Remove -mspace, -mno-space
|
||
* pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
|
||
* pa/t-pro (LIB2FUNCS_EXTRA): Likewise. Remove -mspace multilib.
|
||
* pa/ee.asm, pa/ee_fp.asm: Delete.
|
||
|
||
* pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
|
||
|
||
* config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
|
||
directive in column zero.
|
||
|
||
Fri Jul 16 01:39:57 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.c (output_function_prologue): Fix computation of save mask
|
||
when generating PIC code.
|
||
|
||
Thu Jul 15 15:40:09 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* tree.c (build_type_attribute_variant): Move current_obstack restore
|
||
after build_qualified_type call.
|
||
|
||
1999-07-15 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* configure.in: Use t-iris6, even with GNU LD.
|
||
* config/mips/iris6gld.h: Fix typo in linker spec.
|
||
* config/mips/t-iris6gld: Remove.
|
||
|
||
Thu Jul 15 15:15:43 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (insv, extzv): Remove SImode dependence in named
|
||
patterns. Explicitly generate DImode RTL if PowerPC64 and
|
||
operand is DImode.
|
||
(insvdi): Reverse start and size in instruction template.
|
||
|
||
1999-07-12 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* invoke.texi: Typo fixes.
|
||
|
||
Wed Jul 14 23:28:06 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
|
||
handle at this time instead of silently generating incorrect code.
|
||
(gen_imagpart): Likewise.
|
||
|
||
* reload.c (find_reloads): Emit a USE for a pseudo register without
|
||
a hard register if we could not create an optional reload for the
|
||
pseudo.
|
||
|
||
Wed Jul 14 23:45:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* c-typeck.c (output_init_element, process_init_element):
|
||
When advancing constructor_unfilled_fields for a RECORD_TYPE,
|
||
check for nameless bit fields.
|
||
|
||
Wed Jul 14 01:57:39 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* regclass.c (scan_one_insn): Notice subregs that change the
|
||
size of their operand.
|
||
(record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
|
||
|
||
Wed Jul 14 01:41:42 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (alpha*-*-*): Include alpha/t-ieee.
|
||
* configure: Rebuilt.
|
||
* alpha/t-ieee: New file.
|
||
|
||
Tue Jul 13 10:45:58 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.c (find_addr_reg): Do not select r0 as an address
|
||
register.
|
||
|
||
Tue Jul 13 00:46:18 1999 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
|
||
|
||
Mon Jul 12 14:29:15 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.md (movsf): Do not force easy FP constants into memory.
|
||
|
||
* expr.c (expand_expr, case PLUS_EXPR): Pass constants through
|
||
immed_double_const to ensure they are properly truncated then
|
||
sign extended.
|
||
|
||
Mon Jul 12 10:40:01 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
|
||
|
||
* config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
|
||
always unless NO_DEBUG is used. Compile this code
|
||
unconditionally.
|
||
(replace_symbols_in_block): Compile it unconditionally.
|
||
|
||
Sun Jul 11 12:32:32 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (i?86-*-elf*): New target.
|
||
* configure: Rebuilt.
|
||
* i386/i386elf.h, i386/t-i386elf: New files.
|
||
|
||
Fri Jul 9 22:39:44 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (main): Don't complain about saying -gdwarf.
|
||
(rest_of_compilation): Remove redundant code.
|
||
|
||
Fri Jul 9 19:08:55 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (unroll_loops): Don't delete named CODE_LABELs.
|
||
|
||
Fri Jul 9 18:54:18 1999 Felix Lee <flee@cygnus.com>
|
||
|
||
* config/i960/i960.c (ret_label): Change asm label from "LR:" to
|
||
"Li960R:", to avoid name clash.
|
||
|
||
Fri Jul 9 10:48:28 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||
|
||
* loop.c (check_dbra_loop): When reversing a loop, delete all
|
||
REG_EQUAL notes referencing the reversed biv except those which are
|
||
for a giv based on it.
|
||
|
||
Fri Jul 9 03:51:52 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* version.c: Drop "gcc-" prefix from version #.
|
||
|
||
Thu Jul 8 18:06:30 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_line): Emit a line number comment after
|
||
the label if we're being verbose.
|
||
|
||
Thu Jul 8 14:18:46 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m68k.c (output_function_prologue): Add pic register to mask
|
||
if live and flag_pic.
|
||
(output_function_epilogue): Likewise.
|
||
|
||
Thu Jul 8 12:55:12 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
|
||
directives in column zero.
|
||
|
||
* pa/elf.h (ASM_FILE_START): Define.
|
||
* pa/som.h (ASM_FILE_START): Include .level directives.
|
||
* pa/hpux10.h (ASM_FILE_START): Delete.
|
||
* pa/hpux11.h (ASM_FILE_START): Delete.
|
||
|
||
* pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
|
||
|
||
Thu Jul 8 18:03:19 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (choose_reload_regs): Never call remove_address_replacements
|
||
when reload_out equals reload_in.
|
||
|
||
Thu Jul 8 16:50:14 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* invoke.texi (Spec Files): New node: Describe the contents of
|
||
spec files.
|
||
|
||
Thu Jul 8 10:28:25 1999 Craig Burley <craig@jcb-sc.com>
|
||
|
||
* invoke.texi (DEC Alpha Options): Put @end table at
|
||
beginning of line, to avoid confusing texi2html.
|
||
|
||
Thu Jul 8 09:22:06 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
|
||
introduced in previous delta.
|
||
|
||
Wed Jul 7 02:00:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* reload1.c (gen_reload): When synthesizing a 3 operand add
|
||
sequence, improve test for when to reload OP1 into the reload
|
||
register instead of OP0.
|
||
|
||
Wed Jul 7 01:38:03 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
|
||
|
||
1999-07-07 Manfred Hollstein <mhollstein@cygnus.com>
|
||
|
||
* m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
|
||
string literal.
|
||
|
||
Wed Jul 7 01:16:43 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ginclude/varargs.h (__builtin_va_alist_t): New typedef.
|
||
(va_dcl): Use __builtin_va_alist_t.
|
||
|
||
Wed Jul 7 01:14:42 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (gen_struct_or_union_type_die): Only remember types
|
||
on the permanent_obstack.
|
||
* dwarfout.c (output_type): Likewise.
|
||
|
||
Tue Jul 6 15:25:32 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
|
||
Merged from c-typeck.c and cp/typeck.c.
|
||
* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
|
||
Merged into c-common.
|
||
|
||
Tue Jul 6 13:06:01 1999 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* c-lex.c (errorcount): Declare it.
|
||
(finish_parse): Update errorcount when using CPPLIB.
|
||
|
||
1999-07-06 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/inclhack.def(end_else_label): Double the backslash so
|
||
sed gets a chance to see it.
|
||
* fixinc/inclhack.sh: regen
|
||
* fixinc/fixincl.x: regen
|
||
|
||
Fri Jul 2 18:49:51 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
Add framework to support armv5 architecture when it becomes
|
||
available:
|
||
|
||
* config/arm/arm.c (FL_ARCH5): New processor capability flag.
|
||
(arm_arch5): New variable.
|
||
(all_architectures): Add armv5 line.
|
||
* config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
|
||
-march=armv5 is specified on the command line.
|
||
(arm_arch5): Export this variable.
|
||
* invoke.texi: Document new string accepted by -march= switch for
|
||
ARM ports.
|
||
|
||
* config/arm/arm.h: Replace use of constant 12 as a register
|
||
number with IP_REGNUM. Similarly 14 and LR_REGNUM.
|
||
* config/arm/arm.c: Replace use of constant 12 as a register
|
||
number with IP_REGNUM. Similarly 14 and LR_REGNUM.
|
||
|
||
* config/arm/elf.h: Tidy up.
|
||
* config/arm/coff.h: Tidy up.
|
||
|
||
Thu Jul 1 19:08:13 1999 Mark P. Mitchell <mark@codesourcery.com>
|
||
|
||
* gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
|
||
* gcc/config/mips/t-iris6gld: New file.
|
||
* gcc/config/mips/iris6gld.h: Likewise.
|
||
|
||
Fri Jul 2 13:23:39 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* c-decl.c (widest_integer_literal_type_node,
|
||
widest_unsigned_literal_type) : New.
|
||
(init_decl_processing): Handle/use the two new types.
|
||
* c-common.c (type_for_size,type_for_mode) : Same.
|
||
* c-lex.c (yylex) : Same.
|
||
* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
|
||
Same.
|
||
* c-tree.h (widest_integer_literal_type_node,
|
||
widest_unsigned_literal_type) : New.
|
||
|
||
Fri Jul 2 03:05:44 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* dwarfout.c (field_byte_offset): Correctly compute the object's
|
||
byte offset for the first bit of a field which crosses an alignment
|
||
boundary on a !BYTES_BIG_ENDIAN target.
|
||
|
||
Fri Jul 2 01:36:36 1999 Robert Lipe <robertlipe@usa.net>
|
||
|
||
* fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
|
||
ntohs.
|
||
|
||
Fri Jul 2 00:46:47 1999 Richard Henderson <rth@cygnus.com>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* ginclude/varargs.h (va_dcl): Use word_mode for type of
|
||
__builtin_va_list.
|
||
|
||
* except.c: Include intl.h.
|
||
(expand_eh_return): Set current_function_cannot_inline.
|
||
(save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
|
||
* function.h (struct function): Add eh_return_stub_label.
|
||
* flow.c (delete_unreachable_blocks): Don't merge across EH edges.
|
||
* Makefile.in (except.o): Depend on intl.h.
|
||
|
||
Fri Jul 2 00:04:23 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
|
||
same as offsettable in cases 1 and 2.
|
||
|
||
Thu Jul 1 20:54:10 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
|
||
(extlh, extwh): Likewise.
|
||
|
||
Thu Jul 1 11:05:25 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* c-lex.c (yylex): Improve 'integer constant out of range' messages.
|
||
|
||
Wed Jun 30 16:51:41 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* configure.in: Add arm-pe and thumb-pe targets.
|
||
* configure: Regenerate.
|
||
|
||
* thumb.c (arm_naked_function_p): New function: Determines if
|
||
a function is naked (has no gcc generated prologue/epilogue).
|
||
(is_called_in_ARM_mode): Return true if the func has the
|
||
interfacearm attribute.
|
||
(output_return): Do not generate a return for naked functions.
|
||
(thumb_function_prologue): Do not generate a prologue for
|
||
naked functions.
|
||
(thumb_expand_prologue): Do not generate a prologue for naked
|
||
functions.
|
||
(thumb_expand_epilogue): Do not generate an epilogue for naked
|
||
functions.
|
||
(arm_valid_machine_decl_attribute): New function, copied from
|
||
arm.c: Permit naked and interfacearm attributes.
|
||
|
||
* config/arm/pe.c: New file: Support code for arm-pe target.
|
||
* config/arm/pe.h: New file: Header file for arm-pe target.
|
||
* config/arm/tpe.h: New file: Header file for thumb-pe target.
|
||
* config/arm/t-thumb-pe: New file: Makefile fragment for
|
||
thumb-pe target.
|
||
|
||
1999-07-01 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
|
||
-fPIC or -fpic is specified.
|
||
|
||
Wed Jun 30 03:31:54 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* expr.c (emit_block_move): Use copy_to_mode_reg for
|
||
!TARGET_MEM_FUNCTIONS case too.
|
||
|
||
* configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
|
||
appropriate.
|
||
* configure: Rebuilt.
|
||
(hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
|
||
* pa.h: Include dbxelf.h. Delete various dbx/stabs related
|
||
definitions made redundant by dbxelf.h inclusion. Delete
|
||
lots of definitions related to assembly output that are
|
||
specific to the SOM object format.
|
||
* pa.c (output_function_prologue): Do not emit the function's
|
||
name for OBJ_ELF.
|
||
* pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
|
||
* pa-pro.h: Deleted.
|
||
* som.h: New file with SOM specific definitions.
|
||
* elf.h: New file with ELF specific definitions.
|
||
|
||
* elfos.h (const_section): Output a tab before assembler directives.
|
||
(ctors_section, dtors_section): Likewise.
|
||
(ASM_OUTPUT_SECTION_NAME): Likewise.
|
||
|
||
* pa/pa1.h: Delete unused file.
|
||
|
||
Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (hppa*-hp-hpux11*): New configuration.
|
||
* configure: Rebuilt.
|
||
* pa/pa-hpux11.h: New file.
|
||
* pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
|
||
command line.
|
||
|
||
* mips.md (leasi, leadi): New patterns.
|
||
|
||
* expr.c (emit_block_move): Properly handle case where one of the
|
||
block move arguments has a queued increment or decrement.
|
||
(clear_storage): Similarly. Fix formatting goof.
|
||
|
||
1999-06-28 "David O'Brien" <obrien@NUXI.com>
|
||
|
||
* fixinc/inclhack.def(stdio_va_list): This patch Removes a
|
||
semicolon from the BSD VA_LIST replacement expression.
|
||
|
||
* fixinc/inclhack.sh: regen
|
||
* fixinc/fixincl.x: regen
|
||
|
||
* fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
|
||
now use the fixincl program.
|
||
|
||
Mon Jun 28 05:28:12 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
|
||
case. Also make the PIC register call_used.
|
||
|
||
* m68k.h (FINALIZE_PIC): Delete.
|
||
* m68k.c (finalize_pic): Delete.
|
||
|
||
Mon Jun 28 05:16:35 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
|
||
to memory.
|
||
|
||
Mon Jun 28 04:07:27 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
|
||
|
||
Sun Jun 27 02:39:08 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
|
||
|
||
Sat Jun 26 17:18:18 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
|
||
|
||
Fri Jun 25 11:33:24 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
|
||
|
||
Fri Jun 25 13:41:25 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (output_toc): Always use hex values for floating-point
|
||
constants. Store single-precision values in upper-half of TOC
|
||
entry in 64-bit mode.
|
||
* rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
|
||
to final constraints.
|
||
(fix_truncdfsi2 splitter): Change pattern matching fctiwz.
|
||
(fctiwz): Improve accuracy of RTL for pattern.
|
||
|
||
Fri Jun 25 11:26:38 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* expr.c (expand_expr): Allow RTL_EXPR's through the
|
||
MAX_INTEGER_COMPUTATION_MODE checks.
|
||
|
||
Fri Jun 25 06:06:37 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
|
||
such that MASK_SUPPORT_ARCH is not negative.
|
||
|
||
Fri Jun 25 05:35:44 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (verify_dominator): Properly handle ADDR_VEC and
|
||
ADDR_DIFF_VEC insns that appear inside loops.
|
||
|
||
Thu Jun 24 22:54:05 1999 David Edelsohn <edelsohn@gnu.org>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* rs6000.md (movdf_hardfloat32): Revert previous patch.
|
||
Handle LO_SUM the same as offsettable in cases 1 and 2.
|
||
* rs6000.c (find_addr_reg): Revert previous patch.
|
||
|
||
Thu Jun 24 22:43:12 1999 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* system.h (strstr): New external function declaration.
|
||
* acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
|
||
* configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
|
||
* config.in, configure: Rebuilt.
|
||
|
||
1999-06-24 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* gcc.c (main): Read user-specified specs files after computing
|
||
additional startfile_prefixes.
|
||
|
||
Thu Jun 24 15:00:47 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Revert these two patches:
|
||
|
||
Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
* loop.c (strength_reduce): When doing biv->giv conversion, update
|
||
reg note of NEXT->insn.
|
||
|
||
Thu Jun 17 17:22:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
* loop.c (strength_reduce): When doing biv->giv conversion, fix up
|
||
reg_biv_class.
|
||
(recombine_givs): Set ix field after sorting.
|
||
|
||
Wed Jun 23 21:26:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
|
||
for the parts of an UNSPEC / UNSPEC_VOLATILE.
|
||
|
||
1999-06-23 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
*fixinc/inclhack.def: Add fix development commentary
|
||
(read_ret_type): reactivate and add selection clause
|
||
(zzz_*): tweak output file name to match what is used in hackshell.tpl
|
||
*fixinc/{fixincl.x|inclhack.sh}: regen
|
||
|
||
Wed Jun 23 00:48:21 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (expand_expr): STRIP_NOPS before checking against
|
||
MAX_INTEGER_COMPUTATION_MODE
|
||
(check_max_integer_computation_mode): Likewise.
|
||
|
||
Tue Jun 22 20:23:43 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
|
||
|
||
1999-06-22 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (store_expr): When target is a promoted subreg, return a
|
||
promoted subreg as a result.
|
||
|
||
Tue Jun 22 17:14:58 1999 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
|
||
coding standards.
|
||
(dwarf2out_define): Mark unused parameters appropriately.
|
||
(gen_unspecified_parameters_die): Ditto.
|
||
(gen_subprogram_die): Fix signed/unsigned warnings.
|
||
(gen_variable_die): Ditto.
|
||
|
||
1999-06-22 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/inclhack.def(end_else_label): combined else_label
|
||
and endif_label and fixed the sed expression.
|
||
*fixinc/{fixincl.x|inclhack.sh}: regen
|
||
|
||
Tue Jun 22 01:58:18 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
|
||
'x' when handling non-offsettable addresses
|
||
|
||
Tue Jun 22 00:20:05 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* final.c (shorten_branches): Don't try to split an insn that has
|
||
been deleted.
|
||
|
||
Mon Jun 21 12:47:39 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* config/mips/mips.c (symbolic_expression_p): New function.
|
||
(mips_select_rtx_section): Put symbolic expressions in the
|
||
data section, not the read-only data section.
|
||
|
||
Mon Jun 21 22:13:06 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.md (find_addr_reg): Handle LO_SUM addresses.
|
||
|
||
Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* collect2.c (main): Log frame table count.
|
||
(GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
|
||
(scan_prog_file) [COFF]: Handle frame tables.
|
||
|
||
* alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
|
||
(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
|
||
* alpha/elf.h: Undef them again.
|
||
* alpha/vms.h: Remove their definitions.
|
||
|
||
Tue Jun 22 03:17:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (machine_dependent_reorg): When fixing up fp pcloads,
|
||
remove the clobber of r0 and change the REG_UNUSED note to
|
||
REG_INC.
|
||
|
||
1999-06-21 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* real.c (ereal_from_double): Fix for 64-bit big endian hosts.
|
||
* emit-rtl.c (gen_lowpart_common): Add case for hosts where double
|
||
fits in HOST_WIDE_INT and one uses union to access a long constant
|
||
as double.
|
||
|
||
Mon Jun 21 17:18:25 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.c (sparc_override_options): Don't allow profiling for
|
||
code models other than medlow.
|
||
(sparc_function_profiler): New function from old FUNCTION_PROFILER
|
||
macro. Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
|
||
(sparc_function_block_profiler): Likewise. Use user_label_prefix.
|
||
(sparc_block_profiler): Likewise.
|
||
(sparc_function_block_profiler_exit): Likewise.
|
||
* sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
|
||
(FUNCTION_BLOCK_PROFILER): Likewise.
|
||
(BLOCK_PROFILER): Likewise.
|
||
(FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
|
||
(MCOUNT_FUNCTION): New.
|
||
* sparc/pbd.h (FUNCTION_PROFILER): Delete.
|
||
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
|
||
* sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
|
||
(MCOUNT_FUNCTION): New.
|
||
* sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
|
||
(BLOCK_PROFILER): Delete.
|
||
(MCOUNT_FUNCTION): New.
|
||
|
||
Mon Jun 21 14:11:29 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movdf_hardfloat32): Fix typo in case 2.
|
||
|
||
Mon Jun 21 12:27:17 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
|
||
|
||
* config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
|
||
Add the macros.
|
||
|
||
* config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
|
||
Ditto.
|
||
|
||
* config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
|
||
Ditto.
|
||
|
||
* config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
|
||
Ditto.
|
||
|
||
Mon Jun 21 14:58:42 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
|
||
types.
|
||
|
||
Mon Jun 21 06:22:21 1999 Mark Elbrecht <snowball3@bigfoot.com>
|
||
|
||
* i386/djgpp.h (LIB_SPEC): New.
|
||
(STARTFILE_SPEC): New.
|
||
|
||
* i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
|
||
|
||
Mon Jun 21 06:19:33 1999 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
|
||
compiler flags.
|
||
|
||
* system.h (WSTOPSIG): New macro.
|
||
|
||
Mon Jun 21 05:33:15 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* c-pragma.c (push_alignment): Don't ignore alignments greater than
|
||
4 bytes.
|
||
(insert_pack_attributes): Take into account member natural
|
||
alignment.
|
||
|
||
* i386/winnt.c (exports_head): New static variable.
|
||
(i386_pe_record_exported_symbol): New function.
|
||
(i386_pe_asm_file_end): Use.
|
||
* i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
|
||
symbols to be emitted at end of assembly.
|
||
(ASM_DECLARE_OBJECT_NAME): Likewise.
|
||
(ASM_DECLARE_FUNCTION_NAME): Likewise.
|
||
|
||
* i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
|
||
-iwithprefix.
|
||
|
||
Mon Jun 21 04:44:31 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
|
||
in last change.
|
||
|
||
Sun Jun 20 17:27:20 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (sched_analyze_1): Use free_list instead of
|
||
zapping reg_last_uses directly.
|
||
(sched_analyze_2, sched_analyze_insn): Likewise.
|
||
(sched_analyze): Likewise. Don't clear reg_last_uses on calls.
|
||
|
||
Sun Jun 20 16:57:29 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movdf_hardfloat32): Use worst case insn length
|
||
attributes for cases 1 and 2.
|
||
|
||
Sat Jun 19 22:52:55 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
|
||
instead of set.
|
||
|
||
Sat Jun 19 05:40:07 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
|
||
|
||
Sat Jun 19 05:25:05 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
|
||
PIC_OFFSET_TABLE_REGNUM for general alloaction.
|
||
(INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
|
||
must be stacked if it is used for PIC accesses.
|
||
* arm.c (use_return_insn): Handle PIC register specially.
|
||
(output_return_instruction): Likewise.
|
||
(output_func_{prologue,epilogue}): Likewise.
|
||
(output_expand_prologue): Likewise.
|
||
|
||
* arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
|
||
(*strsi_predec): Renamed from *strqi_predec.
|
||
(*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
|
||
(*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
|
||
|
||
* arm.c (arm_override_options): Remove warning about PIC code
|
||
not being supported.
|
||
|
||
Fri Jun 18 23:47:06 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (find_addr_reg): New function.
|
||
* rs6000.h (find_addr_reg): Declare.
|
||
(offsettable_addr_operand): Delete.
|
||
* rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
|
||
from and stores to GPRs.
|
||
|
||
Fri Jun 18 15:44:18 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_block_move): Use get_insns rather than
|
||
gen_sequence as argument to emit_no_conflict_block.
|
||
|
||
Fri Jun 18 07:02 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
|
||
* fixinc/inclhack.def(dgux_int_varargs): script must end with \n
|
||
*fixinc/fixincl.x: regen
|
||
*fixinc/inclhack.sh: regen
|
||
|
||
Thu Jun 17 15:06:10 PDT 1999 Don Lindsay <dlindsay@cygnus.com>
|
||
|
||
* added support for -mpcrel (PC relative addressing for m68k)
|
||
based on code done by Michael Tiemann <tiemann@axon.cygnus.com>.
|
||
* invoke.texi (m68000 options): Add documentation for -mpcrel flag.
|
||
* m68k.c (print_operand_address): Handle 32-bit PIC case.
|
||
(comments for general_src_operand): Add some explanation
|
||
about EXTRA_CONSTRAINTS.
|
||
(OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
|
||
* m68kelf.h (OVERRIDE_OPTIONS): Ditto.
|
||
(LEGITIMATE_PIC_OPERAND_P): Fix typo.
|
||
(LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
|
||
* m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
|
||
(INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
|
||
(OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
|
||
if not already set.
|
||
(OVERRIDE_OPTIONS): Merge in changes from m68k.h.
|
||
* m68k.h (TARGET_PCREL): New target flag.
|
||
(TARGET_SWITCHES): Add "pcrel" as a recognized switch.
|
||
(OVERRIDE_OPTIONS): Add checks for -mpcrel.
|
||
(LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
|
||
contains a SYMBOL_REF. Relax this constraint during reload, since
|
||
we want to use the predicates, not reload's built-in concept of a
|
||
valid memory address, to control what insns need reloading.
|
||
(EXTRA_CONSTRAINT): Define constraints to accept pc-relative
|
||
operands (essentially 'g', 'm', and 's' under normal circumstances).
|
||
* m68k.c (print_operand): Cause printing of pc-relative addresses
|
||
to include pc register.
|
||
(print_operand_address): Ditto.
|
||
(general_src_operand): Accept operands that are not only
|
||
general_operands, but are also valid when used as a pc-relative
|
||
source.
|
||
(nonimmediate_src_operand): Similar, for nonimmediate_operands.
|
||
(memory_src_operand): Similar, for memory_operands.
|
||
(pcrel_address): New predicate to accept the special case of a
|
||
pc-relative address.
|
||
* m68k.md (many patterns): Rewrite common SImode, HImode, and
|
||
QImode insns to accept *_src_operand instead of *_operand where
|
||
pc-relative operands can fit. For example, a pc-relative operand
|
||
can be used as a memory source operand for addsi3, but not as a
|
||
memory destination.
|
||
* hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
|
||
|
||
Fri Jun 18 09:11:07 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
|
||
.thumb_set pseudo op to mark aliases of thumb functions.
|
||
|
||
Wed Jun 16 18:19:13 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
|
||
preference to ASM_OUTPUT_DEF, if it is defined.
|
||
|
||
* tm.texi: Document new, optional target macro
|
||
ASM_OUTPUT_DEF_FROM_DECLS.
|
||
|
||
Thu Jun 17 15:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixincludes: ISCNTL patch
|
||
* fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
|
||
(dgux_int_varargs): new for DG/UX
|
||
* fixinc/{fixincl.x,inclhack.sh}: Regenerated.
|
||
|
||
Thu Jun 17 21:34:24 1999 Jeff Law <law@cygnus.com>
|
||
|
||
* invoke.texi (ia32 options): Fix typo.
|
||
|
||
Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): When doing biv->giv conversion, update
|
||
reg note of NEXT->insn.
|
||
|
||
Thu Jun 17 14:25:08 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (move_movables): Note issues with replacing REGs with
|
||
SUBREGs.
|
||
* mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
|
||
|
||
Thu Jun 17 13:28:30 1999 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* i386/freebsd-elf.h (LINK_SPEC): Fix typo.
|
||
|
||
* i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
|
||
the reference to `mcount' was not correct for the ELF on FreeBSD.
|
||
|
||
Thu Jun 17 17:22:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): When doing biv->giv conversion, fix up
|
||
reg_biv_class.
|
||
|
||
(recombine_givs): Set ix field after sorting.
|
||
|
||
Thu Jun 17 02:54:30 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (operand_subword): Tighten checks for when it is safe
|
||
to safe to extract a subword out of a REG.
|
||
|
||
Thu Jun 17 01:45:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (mulsi3): Don't add a no-op move at the end.
|
||
|
||
Wed Jun 16 20:29:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* cse.c (cse_insn): Don't put hard register source into tables for
|
||
the last insn of a libcall.
|
||
|
||
Wed Jun 16 19:44:33 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): Insert sets of derived givs at every
|
||
biv increment, even if it's the only one.
|
||
|
||
Wed Jun 16 10:33:02 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarfout.c (add_incomplete_type): New fn.
|
||
(output_type): Call it.
|
||
(retry_incomplete_types): New fn.
|
||
(dwarfout_finish): Call it.
|
||
|
||
From Eric Raskin <ehr@listworks.com>:
|
||
(output_type): Output types for bases.
|
||
|
||
Tue Jun 15 12:51:23 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* mips.c (mips_output_conditional_branch): Add `break'
|
||
between `default' label and `close braces'.
|
||
|
||
Tue Jun 15 01:55:20 1999 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
|
||
specifications and make it realistic.
|
||
(LIB_SPEC): Likewise.
|
||
|
||
Mon Jun 14 15:38:43 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/mips/mips.c (mips_secondary_reload_class): Check for
|
||
(PLUS (SP) (REG)) and return appropriate register class.
|
||
* config/mips/mips.md (reload_insi): Delete predicate for operand 1.
|
||
Handle (PLUS (SP) (REG)).
|
||
(tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
|
||
(tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
|
||
of emit_insn for tablejump.
|
||
|
||
Mon Jun 14 17:26:40 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (output_prolog): RS6000_CALL_GLUE must be
|
||
asm_fprintf format string by itself.
|
||
(output_function_profiler): Likewise.
|
||
|
||
Mon Jun 14 12:57:38 1999 David Mosberger <davidm@hpl.hp.com>
|
||
|
||
* combine.c (simplify_logical, case AND): Only call
|
||
simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
|
||
or the constant is positive.
|
||
|
||
Mon Jun 14 11:43:41 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* configure.in: Fix typo in rs6000-ibm-aix4 case.
|
||
* configure: Regenerate.
|
||
|
||
Mon Jun 14 03:55:40 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
|
||
require a sub-version #.
|
||
* configure: Rebuilt.
|
||
|
||
1999-06-14 Robert Lipe (robertlipe@usa.net)
|
||
|
||
* svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
|
||
|
||
Mon Jun 14 10:30:52 BST 1999 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-typeck.c (process_init_element): Detect excess elements in
|
||
char array initializer.
|
||
|
||
1999-06-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||
|
||
* gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
|
||
|
||
Sat Jun 12 22:29:48 EDT 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
||
|
||
* invoke.texi (Option Summary): Add -fpermissive flag.
|
||
|
||
Sat Jun 12 03:40:42 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
|
||
that require PIC code sequences.
|
||
|
||
Wed Jun 9 16:29:01 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* configure.in: Add new target: thumb-elf.
|
||
* configure: Regenerate.
|
||
* config/arm/t-thumb-elf: New file: Makefile fragment for
|
||
thumb-elf build.
|
||
* config/arm/telf.h: New file: Header file for thumb-elf
|
||
build.
|
||
|
||
Fri Jun 11 03:17:51 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
|
||
* libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
|
||
initializers is some circumstances.
|
||
|
||
* fixinc/inclhack.def (endif_label): Add additional selector for
|
||
more bogus stuff after #endif statements.
|
||
* fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
|
||
|
||
Thu Jun 10 20:44:36 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin.h (SET_ASM_OP): Define.
|
||
|
||
Thu Jun 10 20:37:57 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
|
||
|
||
Thu Jun 10 19:23:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
|
||
latter.
|
||
|
||
* sh.md (ic_invalidate_line_i): Remove second alternative.
|
||
|
||
Thu Jun 10 06:55 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
*fixinc/inclhack.def(sun_auth_proto): We do not know how to
|
||
test for the presence of valid prototypes. Delete bypass expr.
|
||
(ioctl_fix_ctrl): Correct the selection expression.
|
||
(no_double_slash): Correct quoting rules
|
||
*fixinc/fixincl.x: regen
|
||
*fixinc/inclhack.sh: regen
|
||
|
||
Thu Jun 10 15:08:15 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
|
||
|
||
Wed Jun 9 15:57:57 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.md (movsi_got_internal_mem): Delete.
|
||
* rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
|
||
(GOT_TOC_REGNUM): Delete.
|
||
(PIC_OFFSET_TABLE_REGNUM): Define.
|
||
(FINALIZE_PIC): Disable.
|
||
* rs6000.c (rs6000_got_register): New code for fixed pic register.
|
||
(rs6000_replace_regno): Delete.
|
||
(rs6000_finalize_pic): Likewise.
|
||
(output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
|
||
|
||
Wed Jun 9 19:44:26 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (loop_insn_first_p): Don't compare LUIDs when P
|
||
is a note; use <= for the compare; advance P while it is
|
||
a NOTE.
|
||
|
||
Wed Jun 9 13:12:24 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixinc/inclhack.def (no_double_slash): Fix quoting for test.
|
||
* fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
|
||
|
||
* varasm.c (remove_from_pending_weak_list): Verify t->name
|
||
is non-NULL before passing it to strcmp.
|
||
|
||
Wed Jun 9 06:50 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
*fixinc/inclhack.def(sun_auth_proto): bypass the patch if
|
||
the typed arguments are not part of a comment
|
||
(ioctl_fix_ctrl): Added a purpose comment
|
||
*fixinc/fixincl.x: regenerate
|
||
*fixinc/inclhack.sh: regenerate
|
||
|
||
Wed Jun 9 22:57:02 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* invoke.texi: Add C4x invocation docs.
|
||
|
||
Wed Jun 9 22:34:38 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
|
||
Define new macros.
|
||
* config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
|
||
TARGET_EXPOSE_LDP.
|
||
(c4x_legitimize_reload_address): New function.
|
||
* config/c4x/c4x.md: Update docs.
|
||
|
||
Wed Jun 9 04:14:48 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixincludes: Avoid removing '.'.
|
||
* fixinc/fixinc.svr4: Likewise.
|
||
* fixinc/fixinc.winnt: Likewise.
|
||
* fixinc/inclhack.tpl: Likewise.
|
||
* fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
|
||
|
||
1999-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fixinc/inclhack.def (sun_catmacro): Escape parens in the select
|
||
pattern.
|
||
* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
|
||
|
||
Wed Jun 9 03:10:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
|
||
correctly.
|
||
|
||
Tue Jun 8 13:06:15 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
|
||
* configure: Regenerate.
|
||
|
||
Tue Jun 8 05:47:48 1999 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
|
||
values.
|
||
|
||
Mon Jun 7 22:30:37 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixinc/inclhack.def (avoid_bool): Also catch
|
||
"typedef [unsigned] int bool".
|
||
* fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
|
||
|
||
* m68k/x-hp3bsd44: Delete obsolete and incorrect file.
|
||
* configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
|
||
* configure: Rebuilt.
|
||
|
||
Mon Jun 7 22:05:03 1999 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
|
||
such that we can override its definitions if necessary.
|
||
(CPP_SPEC): New define. Support processor specific predefines via
|
||
%(cpp_cpu).
|
||
(CC1_SPEC): New define. Support processor specific compiler
|
||
options via %(cc1_cpu).
|
||
(STARTFILE_SPEC): New define. Use crt0.o instead of crt1.o for
|
||
-static.
|
||
|
||
1999-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
|
||
between sed's -e flag, and the open-quote following it.
|
||
* fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
|
||
|
||
Mon Jun 7 20:34:20 1999 Robert Lipe <robertlipe@usa.net>
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* varasm.c (assemble_start_function): Remove the function
|
||
from the pending weak decls list when we define a function.
|
||
(assemble_variable): Similarly for variables.
|
||
(weak_finish): Ignore items on the list with a NULL name.
|
||
(remove_from_ending_weak_list); New function to "remove" an item
|
||
from the pending weak declarations list.
|
||
|
||
Mon Jun 7 19:27:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
||
|
||
* pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
|
||
|
||
Mon Jun 7 14:07:39 1999 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* c-lex.c (GETC): Redefine to call getch.
|
||
(UNGETC): Redefine to call put_back.
|
||
(putback_buffer): New structure type.
|
||
(putback): New static structure.
|
||
(getch): New function.
|
||
(put_back): New function.
|
||
(yylex): Replace unused bytes from bad multibyte character.
|
||
|
||
Mon Jun 7 13:33:39 1999 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cpplib.c (do_define): Cast `alloca' return value.
|
||
(do_include, do_undef, do_pragma): Likewise.
|
||
* cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
|
||
values.
|
||
* cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
|
||
* gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
|
||
|
||
Sun Jun 6 11:58:34 1999 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* sparc.md (abstf2): This should be an expand.
|
||
(split after abstf2_notv9): Fix mode.
|
||
(abstf2_hq_v9): New pattern.
|
||
(abstf2_v9): Only use when no hard quad.
|
||
(absdf2_v9): Fix if target is not the same as source.
|
||
(ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
|
||
Add correct output constraints.
|
||
|
||
Sat Jun 5 17:04:16 1999 Craig Burley <craig@jcb-sc.com>
|
||
|
||
From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
|
||
* invoke.texi: Clarify text vis-a-vis Intel CPUs.
|
||
|
||
Sat Jun 5 12:11:24 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* mips.h (mips_output_conditional_branch): New function.
|
||
(mips_adjust_insn_length): Likewise.
|
||
(ASSEMBLER_SCRATCH_REGNUM): New macro.
|
||
(ADJUST_INSN_LENGTH): Likewise.
|
||
* mips.c (print_operand): Add `F' and `W' for floating-point
|
||
comparison opcodes.
|
||
(machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
|
||
are now in bytes.
|
||
(mips_adjust_insn_length): New function.
|
||
(mips_output_conditional_branch): New function.
|
||
* mips.md (length): Adjust attribute definition to handle
|
||
conditional branches. Change lengths to bytes, rather than
|
||
instructions throughout. Remove length attribute from
|
||
instructions whose length is four bytes, and rely on the default
|
||
instead.
|
||
(dslot): Fix typo in comment.
|
||
Reword conditional branch patterns to use
|
||
mips_output_conditional_branch.
|
||
|
||
Fri Jun 4 13:30:27 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||
|
||
* alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
|
||
(LIB_SPEC): Likewise.
|
||
Link with -lprof1_r for -g/-pg.
|
||
|
||
1999-06-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* loop.c (check_dbra_loop): Fix change of Jan 19.
|
||
|
||
Fri Jun 4 00:12:40 1999 Marc Espie <espie@cvs.openbsd.org>
|
||
|
||
* freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define.
|
||
(STARTFILE_SPEC): Define, override the svr4.h version.
|
||
(ENDFILE_SPEC): Likewise.
|
||
|
||
Thu Jun 3 23:58:55 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
|
||
* fixinc/fixincl.x: Regenerated.
|
||
* fixinc/inclhack.sh: Regenerated.
|
||
|
||
Fri Jun 4 05:42:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (barrier_align): Don't return early for normal branch/barrier
|
||
when optimizing for SH2.
|
||
|
||
Thu Jun 3 22:27:50 1999 Robert Lipe <robertlipe@usa.net>
|
||
|
||
* i386/udk.h (LINK_SPEC): Correct linker search path for
|
||
system libraries.
|
||
|
||
Fri Jun 4 03:20:40 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (fixup_addr_diff_vecs): Emit braf reference label.
|
||
(braf_label_ref_operand): Delete.
|
||
* sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
|
||
* sh.md (casesi_jump_2): Operand1 is now the inside of a
|
||
label_ref, and has no predicate.
|
||
The pattern has a predicate to guard against invalid substitutions.
|
||
(dummy_jump): Delete.
|
||
(casesi): Update use of casesi_jump_2.
|
||
|
||
Thu Jun 3 07:48 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
*fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
|
||
*fixinc/fixincl.x: regenerate
|
||
*fixinc/inclhack.sh: regenerate
|
||
|
||
Thu Jun 3 02:15:07 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (add_incomplete_type): New fn.
|
||
(gen_struct_or_union_type_die): Call it.
|
||
(retry_incomplete_types): New fn.
|
||
(dwarf2out_finish): Call it.
|
||
|
||
Thu Jun 3 01:19:03 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcse.c (insert_insn_end_bb): Correct placement of insns when the
|
||
current block starts with a CODE_LABEL and ends with a CALL and
|
||
we can not find all the argument setup instructions for the CALL.
|
||
|
||
Wed Jun 2 15:44:15 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
Revert this change:
|
||
* fold-const.c (fold): STRIP_NOPS when deciding whether or not
|
||
something is a candidate for optimize_bit_field_compare.
|
||
|
||
Wed Jun 2 21:53:05 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
|
||
|
||
Wed Jun 2 12:25:55 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (override_options): Thinko in last patch.
|
||
|
||
* alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
|
||
(LIB_SPEC): Recognize -pthread.
|
||
|
||
Wed Jun 2 08:42:55 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronize with
|
||
definition in config/arm/coff.h
|
||
* config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
|
||
|
||
Wed Jun 2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
|
||
fixes that need "file=xxx\n" prepended before invocation
|
||
(start_fixer - new): starting the fixer process is complex enough
|
||
to warrent its own routine. It prepends the "file=xxx\n" stuff.
|
||
(process): uses the new routine; omit usage of putenv()
|
||
* fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
|
||
* fixinc/fixincl.x: regenerate
|
||
|
||
Wed Jun 2 02:29:07 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
|
||
and version #s (1.1 -> 2.96) as needed.
|
||
* README.g77: Kill way out of date file in the toplevel directory.
|
||
|
||
Wed Jun 2 00:52:34 1999 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
|
||
i386/freebsd-elf.h no longer requires it. Instead include svr4.h.
|
||
* configure: Rebuilt.
|
||
* i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
|
||
(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
|
||
(PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
|
||
(SWITCH_TAKES_ARG): Likewise.
|
||
* i386/freebsd.h: Remove FREEBSD_NATIVE support.
|
||
* config/t-freebsd: Moved from config/i386/ so it can used for all
|
||
FreeBSD targets.
|
||
|
||
Mon May 31 02:22:55 1999 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
|
||
|
||
Wed Jun 2 00:08:34 1999 Robert Lipe <robertlipe@usa.net>
|
||
|
||
* configure.in (i[34567]86-*-udk*): Install headers with cpio.
|
||
* configure: Rebuilt.
|
||
|
||
Tue Jun 1 19:06:22 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000/aix41.h (RS6000_CALL_GLUE): Define.
|
||
* rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
|
||
* rs6000/rs6000.c (rs6000_file_start): Use putc.
|
||
(rs6000_output_load_toc_table): Same.
|
||
(output_prolog, output_mi_thunk): Same.
|
||
* rs6000/rs6000.h (SELECT_SECTION): Formatting.
|
||
(ASM_GLOBALIZE_LABEL): Use putc.
|
||
|
||
Mon May 31 15:23:23 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (reload_*_help): New patterns and splitters.
|
||
(reload_*): Use them.
|
||
(mov[qh]i): Likewise.
|
||
|
||
Mon May 31 11:48:07 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* cccp.c (handle_directive): Handle backslash-newlines in quoted
|
||
strings correctly.
|
||
|
||
Mon May 31 09:36:11 1999 Cort Dougan <cort@cs.nmt.edu>
|
||
|
||
* rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
|
||
|
||
Mon May 31 11:40:20 EDT 1999 John Wehle (john@feith.com)
|
||
|
||
* flow.c (mark_regs_live_at_end, insn_dead_p,
|
||
mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
|
||
and HARD_FRAME_POINTER_REGNUM special treatment if reload
|
||
hasn't run or the frame pointer is needed.
|
||
* haifa-sched.c (attach_deaths): Likewise.
|
||
* sched.c (attach_deaths): Likewise.
|
||
|
||
Mon May 31 00:46:17 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (jump_optimize_1): Only set CAN_REACH_END if
|
||
calculate_can_reach_end returns nonzero.
|
||
|
||
* configure.in (native gas tests): Search for an assembler in the
|
||
same manner that the installed compiler will.
|
||
* configure: Rebuilt.
|
||
* tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
|
||
|
||
* alias.c (find_base_term): Improve handling of addresses
|
||
constructed from binary operations.
|
||
|
||
Sun May 30 14:29:17 1999 Eric Raskin (ehr@listworks.com)
|
||
|
||
* dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
|
||
|
||
Sun May 30 14:19:13 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* function.h (cleanup_label, frame_offset): Declare.
|
||
(tail_recursion_label, tail_recursion_reentry): Likewise.
|
||
(arg_pointer_save_area, rtl_expr_chain): Likewise.
|
||
* stmt.c (cleanup_label, frame_offset): Delete extern declarations.
|
||
(tail_recursion_label, tail_recursion_reentry): Likewise.
|
||
(arg_pointer_save_area, rtl_expr_chain): Likewise.
|
||
|
||
Sat May 29 19:08:10 1999 Philip Blundell <philb@gnu.org>
|
||
|
||
* config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
|
||
defined.
|
||
* config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
|
||
(MAX_OFILE_ALIGNMENT): Define.
|
||
|
||
Fri May 28 21:40 1999 Robert Lipe <robertlipe@usa.net>
|
||
|
||
* fixincl.c: Replace local include scheme with #includes of
|
||
gansidecl.h and system.h.
|
||
* procopen.c: Likewise.
|
||
* server.c: Likewise.
|
||
|
||
Fri May 28 03:47:03 1999 Eric Raskin (ehr@listworks.com)
|
||
|
||
* i386/t-dgux (EXTRA_PARTS): Add crti.o
|
||
(crti.o): Add build rule and dependencies.
|
||
* fixinc/fixinc.dgux: Use modified _int_varargs.h
|
||
|
||
Fri May 28 03:41:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/sysv4.h (CC1_SPEC): Add support for -profile
|
||
(LIB_LINUX_SPEC): Likewise.
|
||
(LIB_LINUX_SPEC): Add support for -pthread
|
||
(CPP_OS_LINUX_SPEC): Likewise.
|
||
(CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
|
||
specified.
|
||
|
||
Thu May 27 13:04:52 1999 H.J. Lu (hjl@gnu.org)
|
||
|
||
* i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
|
||
conditional move.
|
||
(notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
|
||
(output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
|
||
for IEEE math and CC_FCOMI.
|
||
(put_jump_code): No IEEE if CC_FCOMI is set.
|
||
|
||
1999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* fold-const.c (fold_truthop): Make the field reference unsigned
|
||
when converting a single bit compare.
|
||
|
||
Thu May 27 02:40:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): Don't do biv->giv conversion on constants.
|
||
|
||
Thu May 27 02:09:27 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* varasm.c (STRIP_NAME_ENCODING): Remove default definition.
|
||
* output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
|
||
version did.
|
||
|
||
* reload.c (push_reload): Do not call remove_address_replacements
|
||
when presented with identical optional reloads.
|
||
|
||
Wed May 26 14:18:05 1999 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (MASK_FIX, TARGET_FIX): New.
|
||
(MASK_*): Reorganize constants.
|
||
(CPP_AM_FIX_SPEC): New.
|
||
(TARGET_SWITCHES): Add FIX.
|
||
(EXTRA_SPECS): Likewise.
|
||
(CPP_CPU_EV6_SPEC): Use FIX, not CIX.
|
||
(SECONDARY_MEMORY_NEEDED): Likewise.
|
||
(REGISTER_MOVE_COST): Likewise.
|
||
* alpha.c (override_options): Add FIX support. Always use
|
||
ALPHA_TP_PROG for ev6.
|
||
* alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
|
||
* alpha/elf.h (ASM_FILE_START): Look at FIX too.
|
||
* configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
|
||
|
||
Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* fold-const.c (fold): STRIP_NOPS when deciding whether or not
|
||
something is a candidate for optimize_bit_field_compare.
|
||
|
||
Wed May 26 09:40:02 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* gcc.texi (Passes): Document branch-shortening.
|
||
* invoke.texi (Debugging Options): Document the fact that `-dp'
|
||
outputs length information for instructions.
|
||
|
||
Wed May 26 08:49:31 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* flow.c: Revert previous delta.
|
||
|
||
Wed May 26 06:05:10 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* flow.c (insn_dead_p): Check against frame_pointer_rtx not
|
||
FRAME_POINTER_REGNUM.
|
||
(mark_set_1): Ditto.
|
||
(mark_used_regs): Ditto.
|
||
|
||
Wed May 26 02:19:31 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* arm.h (NEED_PLT_GOT): Fix mistake in last change.
|
||
(GOT_PCREL): New macro. Define to 1 if not already defined.
|
||
* arm/elf.h (GOT_PCREL): Define to 0.
|
||
* arm.c (arm_finalize_pic): Take into account the setting of
|
||
GOT_PCREL.
|
||
|
||
Tue May 25 14:06:06 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* output.h (STRIP_NAME_ENCODING): Provide default definition.
|
||
* dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
|
||
|
||
* flow.c (mark_set_1): Do not record BLKmode stores as dead
|
||
store elimination candidates.
|
||
|
||
Tue May 25 08:55:57 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
|
||
TARGET_GAS.
|
||
|
||
Mon May 24 20:30:08 1999 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
|
||
Add use of x-aix41-gld.
|
||
|
||
Mon May 24 16:44:09 1999 Jakub Jelinek <jj@ultra.linux.cz>
|
||
|
||
* sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
|
||
(ASM_OUTPUT_DESTRUCTOR): Define.
|
||
|
||
Mon May 24 14:35:24 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
|
||
last CODE_LABEL in a loop if we have previously passed a jump
|
||
to the top of the loop.
|
||
|
||
Mon May 24 07:56:29 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
|
||
applying Philip's patch.
|
||
|
||
Mon May 24 01:02:12 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* stmt.c (expand_end_bindings): Ignore any elements of VARS that
|
||
are not VAR_DECLs.
|
||
|
||
Sun May 23 20:31:16 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (strength_reduce): Grow reg_single_usage as needed.
|
||
|
||
Sun May 23 10:13:20 1999 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
|
||
Also remove a useless comment.
|
||
|
||
Sun May 23 10:05:23 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
||
|
||
* pa.md (negdf2,negsf2): Use fneg instead of fsub on pa 2.0.
|
||
|
||
Sat May 22 21:02:06 1999 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* collect2.c (main): Only generate import or export file and add
|
||
to link arguments if non-empty. Use xmalloc not alloca.
|
||
(write_{export,import}_file): Delete.
|
||
(write_aix_file): New function.
|
||
(locatelib): Use xmalloc not malloc.
|
||
(GCC_OK_SYMBOL): Do not check type if aix64.
|
||
|
||
Sat May 22 09:35:51 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
Based on patch by Scott Bambrough and Pat Beirne:
|
||
* config/arm/arm.c (making_const_table): New variable.
|
||
* config/arm/arm.h (making_const_table): Declare.
|
||
(OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
|
||
appropriate.
|
||
* config/arm/arm.md (consttable_4, consttable_8, consttable_end):
|
||
Keep track of when we are building the constant table.
|
||
|
||
Sat May 22 09:34:22 1999 Philip Blundell <pb@nexus.co.uk>
|
||
|
||
* config/arm/arm.c (arm_override_options): Fix erroneous warning
|
||
message.
|
||
|
||
Sat May 22 09:06:33 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h (NEED_PLT_GOT): Only define if not already
|
||
defined.
|
||
|
||
Sat May 22 07:17:05 1999 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* tm.texi (FUNCTION_ARG): Correct description of a stack element
|
||
in a PARALLEL.
|
||
|
||
Sat May 22 01:27:49 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
|
||
|
||
Fri May 21 21:19:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.c (output_mi_thunk): Enable full support again.
|
||
|
||
Fri May 21 20:09:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (BRANCH_COST): Define.
|
||
|
||
Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
|
||
|
||
* Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
|
||
|
||
Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz>
|
||
|
||
* function.c (assign_stack_local): Align stack slot properly.
|
||
(assign_outer_stack_local): Likewise.
|
||
|
||
Thu May 20 10:38:43 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* expr.h (lang_expand_constant): Declare.
|
||
* toplev.c (lang_expand_constant): Define it.
|
||
* varasm.c (output_constant): Use it.
|
||
|
||
Thu May 20 11:28:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
|
||
Change function definitions to K&R style.
|
||
|
||
Thu May 20 08:16:39 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/fixincl.c: We must not ignore SIGCLD now.
|
||
|
||
Thu May 20 07:06:39 1999 Alexandre Oliva <aoliva@acm.org>
|
||
|
||
* fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
|
||
* fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
|
||
(several places): omit static initialization
|
||
(process): use single fd, since only the read fd is used
|
||
* fixinc/gnu-regex.c: define 'const' away, if not supported
|
||
* fixinc/procopen.c(several places): omit static initialization
|
||
* fixinc/server.c: define 'volitile' away, if not supported
|
||
|
||
1999-05-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
|
||
asm_fprintf and %L to generate the label name.
|
||
* config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
|
||
(ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
|
||
|
||
Thu May 20 01:40:55 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (can_reverse_comparison_p): Do not abort if the comparison
|
||
insn for a conditional jump can not be found.
|
||
|
||
Wed May 19 23:58:58 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
|
||
on variables in specific sections other than .sbss and .sdata.
|
||
|
||
Wed May 19 03:56:56 1999 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* stmt.c (expand_return): Call start_cleanup_deferral and
|
||
end_cleanup_deferral around conditional code.
|
||
|
||
Wed May 19 08:40:08 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
||
|
||
* fixinc/fixincl.tpl: Avoid depending on ANSI C features for
|
||
filename lists. Utilizes new "krstr" AutoGen function.
|
||
* fixinc/fixincl.x: Rebuilt.
|
||
|
||
Wed May 19 02:47:11 1999 Jan Hubicka (hubicka@freesoft.cz)
|
||
|
||
* i386.c (output_float_compare): Avoid GNU-C extensions.
|
||
|
||
Wed May 19 00:34:40 1999 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* version.c: Bump to distinguish mainline tree from the
|
||
gcc-2.95 branch.
|
||
|
||
See ChangeLog.1 for earlier changes.
|