ad41bd84ff
* ABOUT-GCC-NLS, ChangeLog, ChangeLog-1997, ChangeLog-1998, ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, ChangeLog.dataflow, ChangeLog.lib, ChangeLog.ptr, ChangeLog.tree-ssa, ChangeLog.tuples, FSFChangeLog, FSFChangeLog.10, FSFChangeLog.11, LANGUAGES, ONEWS, acinclude.m4, config/alpha/gnu.h, config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-osf4, config/alpha/t-vms, config/alpha/va_list.h, config/alpha/x-vms, config/arc/t-arc, config/arm/README-interworking, config/arm/arm-c.c, config/arm/gentune.sh, config/arm/libgcc-bpabi.ver, config/arm/t-arm, config/arm/t-arm-elf, config/arm/t-arm-softfp, config/arm/t-bpabi, config/arm/t-linux, config/arm/t-linux-eabi, config/arm/t-netbsd, config/arm/t-pe, config/arm/t-strongarm-elf, config/arm/t-symbian, config/arm/t-vxworks, config/arm/t-wince-pe, config/avr/t-avr, config/bfin/elf.h, config/bfin/libgcc-bfin.ver, config/bfin/linux.h, config/bfin/t-bfin, config/bfin/t-bfin-elf, config/bfin/t-bfin-linux, config/bfin/t-bfin-uclinux, config/bfin/uclinux.h, config/cris/mulsi3.asm, config/cris/t-cris, config/cris/t-elfmulti, config/crx/t-crx, config/darwin-ppc-ldouble-patch.def, config/darwin-sections.def, config/divmod.c, config/fr30/t-fr30, config/frv/libgcc-frv.ver, config/frv/t-frv, config/frv/t-linux, config/h8300/genmova.sh, config/h8300/t-h8300, config/i386/athlon.md, config/i386/darwin-libgcc.10.4.ver, config/i386/darwin-libgcc.10.5.ver, config/i386/libgcc-glibc.ver, config/i386/mach.h, config/i386/netbsd.h, config/i386/t-crtpc, config/i386/t-cygming, config/i386/t-cygwin, config/i386/t-i386, config/i386/t-linux64, config/i386/t-nwld, config/i386/t-rtems-i386, config/i386/t-sol2-10, config/i386/x-mingw32, config/ia64/div.md, config/ia64/elf.h, config/ia64/ia64.opt, config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver, config/ia64/linux.h, config/ia64/sysv4.h, config/ia64/t-hpux, config/ia64/t-ia64, config/iq2000/abi, config/iq2000/lib2extra-funcs.c, config/iq2000/t-iq2000, config/libgcc-glibc.ver, config/m32r/libgcc-glibc.ver, config/m32r/t-linux, config/m32r/t-m32r, config/m68hc11/t-m68hc11, config/m68k/t-floatlib, config/m68k/t-linux, config/m68k/t-mlibs, config/m68k/t-uclinux, config/mcore/t-mcore, config/mcore/t-mcore-pe, config/mips/20kc.md, config/mips/4130.md, config/mips/5400.md, config/mips/5500.md, config/mips/crti.asm, config/mips/crtn.asm, config/mips/irix-crti.asm, config/mips/irix-crtn.asm, config/mips/libgcc-mips16.ver, config/mips/mips-dsp.md, config/mips/mips-dspr2.md, config/mips/mips-fixed.md, config/mips/sb1.md, config/mips/sr71k.md, config/mips/t-elf, config/mips/t-gofast, config/mips/t-iris6, config/mips/t-isa3264, config/mips/t-libgcc-mips16, config/mips/t-linux64, config/mips/t-mips, config/mips/t-r3900, config/mips/t-rtems, config/mips/t-sb1, config/mips/t-sde, config/mips/t-sdemtk, config/mips/t-slibgcc-irix, config/mips/t-sr71k, config/mips/t-st, config/mips/t-vr, config/mips/t-vxworks, config/mmix/t-mmix, config/mn10300/t-linux, config/mn10300/t-mn10300, config/pa/pa32-regs.h, config/pa/t-hpux-shlib, config/pa/t-linux, config/pa/t-linux64, config/pa/t-pa64, config/pdp11/t-pdp11, config/picochip/libgccExtras/clzsi2.asm, config/picochip/t-picochip, config/rs6000/darwin-ldouble-format, config/rs6000/darwin-libgcc.10.4.ver, config/rs6000/darwin-libgcc.10.5.ver, config/rs6000/libgcc-ppc-glibc.ver, config/rs6000/ppc-asm.h, config/rs6000/t-aix43, config/rs6000/t-aix52, config/rs6000/t-darwin, config/rs6000/t-fprules, config/rs6000/t-fprules-fpbit, config/rs6000/t-linux64, config/rs6000/t-lynx, config/rs6000/t-netbsd, config/rs6000/t-ppccomm, config/rs6000/t-ppcendian, config/rs6000/t-ppcgas, config/rs6000/t-rs6000, config/rs6000/t-rtems, config/rs6000/t-spe, config/rs6000/t-vxworks, config/s390/libgcc-glibc.ver, config/score/t-score-elf, config/sh/divcost-analysis, config/sh/libgcc-glibc.ver, config/sh/t-netbsd, config/sh/t-sh, config/sh/t-sh64, config/sh/t-superh, config/sh/t-symbian, config/sparc/libgcc-sparc-glibc.ver, config/sparc/sol2-bi.h, config/sparc/sol2-gas.h, config/sparc/sol2-gld-bi.h, config/sparc/t-elf, config/sparc/t-linux64, config/sparc/t-sol2, config/stormy16/stormy-abi, config/stormy16/t-stormy16, config/t-darwin, config/t-libunwind, config/t-libunwind-elf, config/t-linux, config/t-lynx, config/t-slibgcc-elf-ver, config/t-slibgcc-sld, config/t-sol2, config/t-vxworks, config/udivmod.c, config/udivmodsi4.c, config/v850/t-v850, config/v850/t-v850e, config/xtensa/t-xtensa, diagnostic.def, gdbinit.in, glimits.h, gstab.h, gsyms.h, java/ChangeLog, java/ChangeLog.ptr, java/ChangeLog.tree-ssa, libgcc-std.ver, limitx.h, version.c, xcoff.h: Add copyright and license notices. * config/h8300/genmova.sh: Include copyright and license notices in generated output. * config/h8300/mova.md: Regenerate. * doc/install.texi2html: Include word "Copyright" in copyright notice and use name "Free Software Foundation, Inc.". * ChangeLog, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008: Correct dates. ada: * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and license notices. cp: * ChangeLog, ChangeLog-1993, ChangeLog-1994, ChangeLog-1995, ChangeLog-1996, ChangeLog-1997, ChangeLog-1998, ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, ChangeLog.ptr, ChangeLog.tree-ssa, NEWS, cfns.gperf: Add copyright and license notices. * cfns.h: Regenerate. * ChangeLog, ChangeLog-2004: Correct dates. fortran: * ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add copyright and license notices. * ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008: Correct dates. java: * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and license notices. objc: * ChangeLog: Add copyright and license notices. objcp: * ChangeLog: Add copyright and license notices. po: * ChangeLog, EXCLUDES: Add copyright and license notices. testsuite: * ChangeLog, ChangeLog-1993-2007, ChangeLog-2008, ChangeLog.ptr, ChangeLog.tree-ssa, README, README.QMTEST, README.compat, README.gcc, g++.dg/README, g++.dg/compat/break/README, g++.dg/gomp/gomp.exp, g++.old-deja/g++.brendan/README, g++.old-deja/g++.oliva/ChangeLog, g++.old-deja/g++.robertl/README, gcc.c-torture/ChangeLog.0, gcc.c-torture/execute/builtins/builtins.exp, gcc.dg/README, gcc.dg/gomp/gomp.exp, gcc.target/frv/frv.exp, gcc.target/i386/math-torture/math-torture.exp, gcc.target/mips/inter/mips16-inter.exp, gcc.target/mips/mips-nonpic/README, gcc.target/x86_64/abi/README.gcc, gcc.target/xstormy16/xstormy16.exp, gcc.test-framework/README, gfortran.dg/g77/README, gfortran.dg/gomp/gomp.exp, gfortran.fortran-torture/ChangeLog.g95: Add copyright and license notices. * ChangeLog-1993-2007, ChangeLog: Correct dates. From-SVN: r146533
17624 lines
639 KiB
Plaintext
17624 lines
639 KiB
Plaintext
Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.md (adddi_dilshr32): Allow all operands to be registers too.
|
||
(adddi_dishl32): Similarly.
|
||
|
||
* cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
|
||
for each insn in the skipped block.
|
||
|
||
* reload1.c (reload_as_needed): Verify that the insn satisfies its
|
||
constraints after replacing a register address with an autoincrement
|
||
address for reload inheritance purposes.
|
||
|
||
* i386.md (doubleword shifts): Avoid namespace pollution.
|
||
|
||
Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
|
||
|
||
* configure.in (FreeBSD ELF): Needs special crt files.
|
||
|
||
Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
|
||
|
||
* i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
|
||
|
||
1998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* loop.c (check_dbra_loop): While reversing the loop, if the
|
||
comparison value has a VOID mode use the mode of the other operand
|
||
to compute the mask.
|
||
|
||
Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.md ({save,restore}_stack_function): Take 2 operands to
|
||
avoid warnings in compiling explow.c.
|
||
|
||
(patch from Ken Raeburn, raeburn@cygnus.com)
|
||
* rs6000.c (rs6000_stack_info): Force 8-byte alignment of
|
||
fpmem_offset. Compute total size after that, and then
|
||
rs6000_fpmem_offset using both values.
|
||
|
||
Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
|
||
the future; indeed that already happens in some cases.
|
||
|
||
Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.c (input_operand): Recognize (const (constant_p_rtx)).
|
||
(arith_operand): Remove constant_p_rtx handling.
|
||
(const64_operand, const64_high_operand): Likewise.
|
||
(arith11_operand, arith10_operand, arith_double_operand): Likewise.
|
||
(arith11_double_operand, arith10_double_operand, small_int): Likewise.
|
||
(small_int_or_double, uns_small_int, zero_operand): Likewise.
|
||
* sparc.h (PREDICATE_CODES): Likewise.
|
||
|
||
* rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
|
||
|
||
Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* rtl.def (CONSTANT_P_RTX): Clarify commentary.
|
||
* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
|
||
consider constant CONSTRUCTOR constant and to defer some cases
|
||
to cse.
|
||
* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
|
||
* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
|
||
|
||
Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
|
||
* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
|
||
|
||
* alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
|
||
(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
|
||
(sext_add_operand, and_operand, or_operand): Likewise.
|
||
(reg_or_cint_operand, some_operand, input_operand): Likewise.
|
||
* alpha.h (PREDICATE_CODES): Likewise.
|
||
|
||
Sat Dec 26 23:26:26 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gengenrtl.c (gencode): Always use bzero to clear memory instead
|
||
of dangerous casts and stores.
|
||
|
||
* Makefile.in (compare, gnucompare): Add missing else true clauses.
|
||
|
||
Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* alpha.md (builtin_longjmp): Add missing "DONE".
|
||
|
||
Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* gcc.c (execute): Enable -pipe with win32.
|
||
|
||
Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/t-arm-elf: Add multiplib option for leading
|
||
underscores.
|
||
|
||
* config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
|
||
'user_label_prefix' rather than macro USER_LABEL_PREFIX.
|
||
|
||
(thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
|
||
than variable 'reload_address_base_reg_class'. [Note this
|
||
change is unrelated to the others in this patch].
|
||
|
||
* config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
|
||
leading underscore.
|
||
|
||
Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alias.c (record_alias_subset): Remove ignored `&'.
|
||
(init_alias_once): Likewise.
|
||
|
||
* c-lex.c (UNGETC): Cast first argument of comma expression to void.
|
||
|
||
* config/mips/mips.c (mips_asm_file_end): Cast the result of
|
||
fwrite to `int' when comparing against one.
|
||
|
||
* config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
|
||
(INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
|
||
|
||
* cse.c (rehash_using_reg): Change type of variable `i' to
|
||
unsigned int.
|
||
|
||
* dwarf2out.c (initial_return_save): Cast -1 to unsigned before
|
||
assigning it to one.
|
||
|
||
* except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
|
||
|
||
* final.c (final_scan_insn): Likewise for variable `i'.
|
||
(output_asm_insn): Cast a char to unsigned char when used as an
|
||
array index.
|
||
|
||
* gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
|
||
assigning it to one.
|
||
|
||
* loop.c (strength_reduce): Remove unused variables `count' and `temp'.
|
||
|
||
* recog.c (preprocess_constraints): Cast a char to unsigned char
|
||
when used as an array index.
|
||
|
||
* regmove.c (find_matches): Likewise.
|
||
|
||
* reload1.c (calculate_needs): Add default case in switch.
|
||
(eliminate_regs_in_insn): Initialize variable `offset'.
|
||
(set_offsets_for_label): Change type of variable `i' to unsigned.
|
||
(reload_as_needed): Wrap variable `i' in macro check on
|
||
AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
|
||
|
||
* scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
|
||
with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
|
||
when comparing against one.
|
||
|
||
* stor-layout.c (layout_decl): Cast maximum_field_alignment to
|
||
unsigned when comparing against one. Likewise for
|
||
GET_MODE_ALIGNMENT().
|
||
(layout_record): Cast record_align to int when comparing against a
|
||
signed value.
|
||
(layout_type): Cast TYPE_ALIGN() to int when comparing against a
|
||
signed value.
|
||
|
||
* tree.c (get_identifier): Cast variable `len' to unsigned when
|
||
comparing against one.
|
||
(maybe_get_identifier): Likewise
|
||
|
||
Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (rest_of_compilation): Do not set reload_completed.
|
||
* reload1.c (reload): Set reload_completed before calling
|
||
cleanup_subreg_operands.
|
||
|
||
Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload1.c (emit_reload_insns): Check `set' not null before use.
|
||
|
||
Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
|
||
'int'.
|
||
|
||
Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
||
|
||
* halfpic.c (half_pic_encode): Delete redundant code.
|
||
|
||
Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* toplev.c (main): Delete handling of -dM as a preprocessor
|
||
option.
|
||
|
||
Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* toplev.c (main): Don't emit any warnings when using -dD, -dM, or
|
||
-dI, which are handled by the preprocessor.
|
||
|
||
Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
|
||
|
||
* configure.in: Handle Digital UNIX 5.x the same as 4.x.
|
||
* i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
|
||
|
||
Sun Dec 20 07:39:52 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Dec 19 22:24:22 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Dec 19 21:41:32 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* genattr.c (fatal): Qualify a char* with the `const' keyword.
|
||
|
||
* genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
|
||
write_unit_name, write_eligible_delay, expand_units,
|
||
make_length_attrs, write_attr_case, find_attr,
|
||
make_internal_attr): Likewise.
|
||
* gencheck.c (tree_codes): Likewise.
|
||
* gencodes.c (fatal): Likewise.
|
||
* genconfig.c (fatal): Likewise.
|
||
* genemit.c (fatal): Likewise.
|
||
* genextract.c (fatal, walk_rtx, copystr): Likewise.
|
||
* genflags.c (fatal): Likewise.
|
||
* genopinit.c (fatal, optabs, gen_insn): Likewise.
|
||
* genoutput.c (fatal, error, predicates): Likewise.
|
||
* genpeep.c (fatal): Likewise.
|
||
* genrecog.c (fatal, decision, pred_table, add_to_sequence,
|
||
write_tree_1, write_tree, change_state, copystr, indents): Likewise.
|
||
|
||
Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||
|
||
* configure.in (with-fast-fixincludes): Fix whitespace.
|
||
* configure: Rebuilt.
|
||
|
||
* fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
|
||
asm() etc. function declarations in __DECC.
|
||
|
||
Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* expr.c (emit_move_insn_1): Only emit a clobber if the target
|
||
is a pseudo register.
|
||
|
||
Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* gcse.c: Include expr.h in order to get the prototype for
|
||
get_condition() which is used in delete_null_pointer_checks().
|
||
|
||
Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
|
||
|
||
Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
|
||
(ALL_CFLAGS): Delete SCHED_CFLAGS.
|
||
|
||
1998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
|
||
|
||
* config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
|
||
';').
|
||
|
||
1998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
|
||
|
||
* i960.md (extend*, zero_extend*): Don't generate rtl that looks
|
||
like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
|
||
optimizations from the combiner.
|
||
|
||
Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
|
||
|
||
Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c (main): Disable optimize_size if a specific
|
||
optimization level is requested. Always set optimization
|
||
level to 2 if -Os is specified.
|
||
|
||
Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
|
||
cpplib.
|
||
* cpplib.c (cpp_start_read): If in_fname is not initialized, try to
|
||
initialize it using fname.
|
||
|
||
1998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.c (do_include): Treat #include_next in the
|
||
primary source file as #include plus warning. Treat
|
||
#include_next in a file included by absolute path as an
|
||
error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
|
||
|
||
Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cccp.c: Don't define MIN/MAX anymore.
|
||
* cpplib.c: Likewise.
|
||
* machmode.h: Likewise.
|
||
* system.h: Provide definitions for MIN/MAX.
|
||
|
||
Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* fix-header.c: Don't define xstrdup here.
|
||
|
||
Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (consec_sets_giv): New argument last_consec_insn.
|
||
(strength_reduce): Provide / use it.
|
||
|
||
Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.h (loop_info): New field 'vtop'.
|
||
* loop.c (check_dbra_loop): Use loop_info->vtop rather than
|
||
scanning loop for vtop.
|
||
* unroll.c (subtract_reg_term, find_common_reg_term): New functions.
|
||
(loop_iterations): Use them to determine if loop has a constant
|
||
number of iterations. Set loop_info->vtop. Don't subtract
|
||
common reg term from initial_value and final_value if have a
|
||
do-while loop.
|
||
|
||
Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
|
||
|
||
* mn10300.md (bset, bclr): Operand 0 is a read/write operand.
|
||
|
||
* mn10200.md (abssf2, negsf2): New expanders.
|
||
|
||
* mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
|
||
|
||
Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* integrate.c (copy_rtx_and_substitute): If a SUBREG is
|
||
replaced by a CONCAT whose components do not have the same
|
||
mode as the original SUBREG, use a new SUBREG to restore the
|
||
mode.
|
||
|
||
* emit-rtl.c (subreg_realpart_p): Cope with subregs containing
|
||
multiword complex values.
|
||
|
||
1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cppalloc.c: Add xstrdup here.
|
||
* cpplib.h: Remove savestring prototype.
|
||
* cpplib.c: Remove savestring function. s/savestring/xstrdup/
|
||
throughout.
|
||
* cppfiles.c: s/savestring/xstrdup/ throughout.
|
||
|
||
1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.c: Make all directive handlers read their own
|
||
arguments.
|
||
(struct directive): Remove last two arguments from FUNC
|
||
member prototype. Remove `command_reads_line' member
|
||
entirely.
|
||
(directive_table): Remove initializations of
|
||
command_reads_line flag. Pretty-print.
|
||
(eval_if_expression, do_define, do_line, do_include,
|
||
do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
|
||
do_else, do_elif, do_sccs, do_assert, do_unassert,
|
||
do_warning): Take only two args.
|
||
|
||
(cpp_define): Call do_define with two args and the text to
|
||
define stuffed into a buffer.
|
||
(make_assertion): Call do_assert with two args.
|
||
(handle_directive): Call do_line with two args. Call
|
||
kt->func with two args. Remove command_reads_line
|
||
processing.
|
||
(do_define, do_undef, do_error, do_warning, do_pragma,
|
||
do_sccs): Read the rest of the line here.
|
||
(do_ident): Gobble rest of line, as cccp does.
|
||
(cpp_undef): New function.
|
||
(cpp_start_read): Call cpp_undef instead of do_undef.
|
||
|
||
1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpphash.h (union hash_value): Remove `keydef' member, add a
|
||
`struct hashnode *aschain' member for #assert.
|
||
|
||
* cpplib.c (struct tokenlist_list, struct
|
||
assertion_hashnode): Delete structure definitions.
|
||
(assertion_install, assertion_lookup, delete_assertion,
|
||
check_assertion, compare_token_lists, reverse_token_list,
|
||
read_token_list, free_token_list): Delete functions.
|
||
(parse_assertion): New function.
|
||
(cpp_cleanup): Don't destroy the assertion_hashtable.
|
||
|
||
(do_assert): Gut and rewrite. #assert foo (bar) places
|
||
entries for `#foo' and `#foo(bar)' in the macro hash table,
|
||
type T_ASSERT. The value union's `aschain' member is used
|
||
to chain all answers for a given predicate together.
|
||
(do_unassert): Also rewritten. Take an un-asserted
|
||
answer off the chain from its predicate and call
|
||
delete_macro on the hashnode, or walk a predicate chain
|
||
calling delete_macro on all the entries.
|
||
(cpp_read_check_assertion): Simply call parse_assertion to
|
||
get the canonical assertion name, and look that up in the
|
||
hash table.
|
||
|
||
* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
|
||
Removed.
|
||
|
||
* cpphash.c (install): Use bcopy instead of an explicit loop
|
||
to copy the macro name.
|
||
|
||
* cppexp.c (cpp_lex): Convert the result of
|
||
cpp_read_check_assertion to a `struct operation' directly;
|
||
don't go through parse_number.
|
||
|
||
Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.h (struct induction): Delete times_used member.
|
||
* loop.c (n_times_set): Rename to set_in_loop. Changed all users.
|
||
(n_times_used): Rename to n_times_set. Changed all users.
|
||
(scan_loop): Free reg_single_usage before strength reduction.
|
||
(record_giv, combine_givs): Remove handling of times_used member.
|
||
(combine_givs_used_once): Rename to:
|
||
(combine_givs_used_by_other) . Changed all callers.
|
||
|
||
Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
|
||
instead of TREE_CODE_CLASS == 't'.
|
||
(gen_type_die): Likewise.
|
||
(scope_die_for): Ignore FUNCTION_TYPE "scopes".
|
||
|
||
Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* real.c (endian): Disable last change unless
|
||
HOST_BITS_PER_WIDE_INT is greater than 32.
|
||
|
||
Mon Dec 14 17:13:36 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* output.h (force_data_section): New prototype.
|
||
* varasm.c (force_data_section): New function to force the
|
||
data section, regardless of what in_section thinks.
|
||
* dwarf2out.c (output_call_frame_info): Call force_data_section
|
||
since varasm may not realize we've changes sections.
|
||
|
||
Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
|
||
after completing reload.
|
||
|
||
* rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
|
||
deleted after reload.
|
||
|
||
Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtl.h (multiple_sets): Fix prototype.
|
||
* rtlanal.c (multiple_sets): Fix return type.
|
||
|
||
Sun Dec 13 12:43:58 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Dec 13 01:05:22 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
1998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
|
||
|
||
Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* rtl.h (recompute_reg_usage): Add second argument.
|
||
* flow.c (recompute_reg_usage): Likewise.
|
||
* toplev.c (rest_of_compilation): Supply second argument to
|
||
recompute_reg_usage.
|
||
|
||
* reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
|
||
after reload.
|
||
|
||
Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
|
||
(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
|
||
(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
|
||
mcpu32 or m5200.
|
||
|
||
* i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
|
||
|
||
* rtlanal.c (multiple_sets): New function.
|
||
* rtl.h (multiple_sets): Declare it.
|
||
* local-alloc.c (wipe_dead_reg): Use it.
|
||
* global.c (global_conflicts): Likewise.
|
||
|
||
Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* global.c (record_conflicts): Don't use an array of shorts to
|
||
store an array of ints.
|
||
(global_conflicts): Likewise.
|
||
|
||
Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_block_move): mode_for_size expects
|
||
bits, not bytes. Infer extra alignment from addressof.
|
||
|
||
1998-12-11 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
|
||
.sbss section, not .sdata.
|
||
|
||
1998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* cccp.c: Do not #include <sys/stat.h> here; this is already done
|
||
by "system.h".
|
||
* collect2.c: Likewise.
|
||
* cpplib.h: Likewise.
|
||
* gcc.c: Likewise.
|
||
* gcov.c: Likewise.
|
||
* getpwd.c: Likewise.
|
||
* protoize.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
|
||
* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
|
||
and don't try to define it here.
|
||
* Makefile.in (cppmain.o): Depend on machmode.h.
|
||
(cpplib.o): Likewise.
|
||
(cpperror.o): Likewise.
|
||
(cppexp.o): Likewise.
|
||
(cppfiles.o): Likewise.
|
||
(cpphash.o): Likewise.
|
||
(cppalloc.o): Likewise.
|
||
(fix-header.o): Likewise.
|
||
(scan-decls.o): Likewise.
|
||
|
||
Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* sh.c (print_operand): Lookup interrupt_handler attribute instead
|
||
of relying on static variable.
|
||
* (calc_live_regs): Likewise.
|
||
* (sh_pragma_insert_attributes): Create interrupt_handler
|
||
attribute if a pragma was specified.
|
||
* (sh_valid_machine_decl_attribute): Don't set static flag.
|
||
* sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
|
||
|
||
Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
|
||
to determine if a register is live at a jump destination.
|
||
Everything is dead at a BARRIER.
|
||
|
||
Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* cse.c (simplify_unary_operation): Sign-extend constants when
|
||
they have the most significant bit set for the target.
|
||
* real.c (endian): Sign-extend 32 bit output values on a 64 bit
|
||
host.
|
||
* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
|
||
HOST_WIDE_INT temporary before negating it.
|
||
* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
|
||
|
||
Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* objc/objc-act.c (lang_init_options): Enclose cpplib related code in
|
||
#if USE_CPPLIB.
|
||
|
||
Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* collect2.h: New header file for prototypes.
|
||
|
||
* Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
|
||
|
||
* collect2.c: Include collect2.h.
|
||
* tlink.c: Likewise.
|
||
|
||
Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c: Update some comments.
|
||
|
||
Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* objc/objc-act.c (cpp_initialized): Removed.
|
||
(lang_init_options): Initialize cpplib.
|
||
(lang_decode_option): Move initialization of cpplib to
|
||
lang_init_options.
|
||
* c-lang.c (parse_options,parse_in): Added.
|
||
(lang_init_options): Initialized cpplib here.
|
||
* c-decl.c (parse_options,cpp_initialized): Removed.
|
||
(c_decode_option): Move initialization of cpplib to
|
||
lang_init_options.
|
||
|
||
Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_combine, reload_combine_note_store):
|
||
Make STORE_RUID always valid.
|
||
(reload_combine): Check if BASE is clobbered too early.
|
||
|
||
Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* reload.c (find_reloads): Display the insn that cannot be
|
||
reloaded.
|
||
|
||
Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cccp.c (create_definition): Fix end of buffer logic.
|
||
|
||
Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
|
||
pointer parameters changed to use the PARAMS() macro.
|
||
|
||
Wed Dec 9 09:12:40 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.h (struct handler_info): Add handler_number field.
|
||
* except.c (gen_exception_label): EH labels no longer need to be
|
||
on the permanent obstack.
|
||
(get_new_handler): Set the label number field.
|
||
(output_exception_table_entry): Regenerate handler label reference
|
||
from the label number field.
|
||
(init_eh): Remove a blank line.
|
||
* integrate.c (get_label_from_map): Labels no longer need to be
|
||
on the permanent obstack.
|
||
|
||
Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
|
||
only when OUTER_CODE is SET.
|
||
|
||
Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (strength_reduce): If scan_start points to the loop exit
|
||
test, be wary of subversive use of gotos inside expression statements.
|
||
Don't set maybe_multiple for a backward jump that does not
|
||
include the label under consideration into its range.
|
||
* unroll.c (biv_total_increment): Make use of maybe_multiple field.
|
||
|
||
Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* explow.c (plus_constant_wide): Don't immediately return with
|
||
result of recursive call.
|
||
|
||
Tue Dec 8 15:32:56 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* eh-common.h (struct eh_context): Add table_index for rethrows.
|
||
|
||
* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
|
||
(SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
|
||
processed when inlined or unrolled (ie duplicated in some way).
|
||
|
||
* rtl.c (reg_note_name): Add strings for new reg_note enums.
|
||
|
||
* expr.h (rethrow_libfunc): New library decl.
|
||
|
||
* optabs.c (rethrow_libfunc): Initialize.
|
||
|
||
* except.h (struct eh_entry): Add new field 'rethrow_label'.
|
||
(new_eh_region_entry): No longer exported from except.c.
|
||
(duplicate_handlers): Renamed to duplicate_eh_handlers and
|
||
different prototype.
|
||
(rethrow_symbol_map, rethrow_used): New exported functions.
|
||
(eh_region_from_symbol): New exported function.
|
||
|
||
* except.c (create_rethrow_ref): New function to create a single
|
||
SYMBOL_REF for a rethrow region.
|
||
(push_eh_entry): Initialize a rethrow ref.
|
||
(func_eh_entry): Add a rethrow_label field.
|
||
(new_eh_region_entry): Make static, and initialize the rethrow entry.
|
||
(duplicate_eh_handlers): Create a new region, and remap labels/symbols.
|
||
(eh_region_from_symbol): Find an EH region based on its rethrow symbol.
|
||
(rethrow_symbol_map): Given a label map, maps a rethrow symbol for
|
||
a region into an appropriate new symbol.
|
||
(rethrow_used): Indicate whether a rethrow symbol has been referenced.
|
||
(expand_eh_region_end): Don't issue jump around code for new-exceptions.
|
||
(end_catch_handler): Emit a barrier for new-exceptions since
|
||
control can never drop through the end of a catch block.
|
||
(expand_end_all_catch): new-exceptions never fall through a catch
|
||
block.
|
||
(expand_rethrow): Use __rethrow routine for new exceptions.
|
||
(output_exception_table_entry): Generate rethrow labels, if needed.
|
||
(output_exception_table): Generate start and end rethrow labels.
|
||
(init_eh): Create rethrow symbols for beginning and end of table.
|
||
(scan_region): Don't eliminate EH regions which are the targets of
|
||
rethrows.
|
||
|
||
* flow.c (make_edges): Add different edges for rethrow calls,
|
||
identified by having the REG_EH_RETHROW reg label.
|
||
(delete_unreachable_blocks): Don't delete regions markers which are
|
||
the target of a rethrow.
|
||
|
||
* integrate.c (save_for_inline_eh_labelmap): New callback routine to
|
||
allow save_for_inline_copying to call duplicate_eh_handlers.
|
||
(save_for_inline_copying): Call duplicate_eh_handlers instead of
|
||
exposing internal details of exception regions.
|
||
(copy_for_inline): Check if SYMBOL_REFs need adjustment.
|
||
(expand_inline_function_eh_labelmap): New callback routine to
|
||
allow expand_inline_function to call duplicate_eh_handlers.
|
||
(expand_inline_function): Call duplicate_eh_handlers instead of
|
||
exposing internal details of exception regions.
|
||
(copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
|
||
flag is set.
|
||
|
||
* libgcc2.c (find_exception_handler): Generalize to enable it to
|
||
pick up processing where it left off last time for a rethrow.
|
||
(__unwinding_cleanup): New function. debug hook which is called before
|
||
unwinding when __throw finds there is nothing but cleanups left.
|
||
(throw_helper): Common parts of __throw extracted out for reuse.
|
||
(__throw): Common parts moved to throw_helper.
|
||
(__rethrow): New function for performing rethrows.
|
||
|
||
Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (current_function_decl): Tweak declaration.
|
||
|
||
Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-decl.c (flag_isoc9x): Default off.
|
||
(c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
|
||
* cccp.c (print_help, main): Likewise.
|
||
* gcc.c (default_compilers): Update for -std=gnu*.
|
||
|
||
Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
|
||
* demangle.h: Deleted.
|
||
|
||
* reload1.c (current_function_decl): Declare.
|
||
|
||
Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
|
||
|
||
Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
|
||
|
||
1998-12-08 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* configure.in: Test for availability of putc_unlocked, fputc_unlocked,
|
||
and fputs_unlocked.
|
||
* configure: Rebuilt.
|
||
* system.h: If the *_unlocked functions are available use them
|
||
instead of the locked counterparts by defining macros.
|
||
* config.in: Regenerated.
|
||
|
||
Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
|
||
wrong and should only be used for dump related things, not
|
||
debugging information, instead main_input_filename should be used.
|
||
Also, reuse output_file_directive if possible.
|
||
* i386/aix386ng.h (ASM_FILE_START): Likewise.
|
||
* i386/isc.h (ASM_FILE_START): Likewise.
|
||
* i386/win-nt.h (ASM_FILE_START): Likewise.
|
||
* i386/sun386.h (ASM_FILE_START): Likewise.
|
||
|
||
Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* configure.in (mips*-*-linux*): Handle big and little endian
|
||
systems.
|
||
* configure: Rebuilt.
|
||
|
||
Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* emit-rtl.c: Fix typo.
|
||
|
||
Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* reload1.c (eliminate_regs): Don't do anything, if we're not
|
||
generating code.
|
||
|
||
Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
|
||
|
||
* mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
|
||
Add comment.
|
||
* mips/mips.c (mips_select_section): Add comment.
|
||
|
||
Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* cccp.c (ignore_escape_flag): Add support for \ as `natural'
|
||
characters in file names in #line to be consistent with #include
|
||
handling. We support escape processing in the # 1 "..." version of
|
||
the command. See also support in cp/lex.c.
|
||
(handle_directive): Likewise.
|
||
(do_line): Likewise.
|
||
|
||
1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
|
||
so it'll work on non-ASCII platforms. Always consider $ an
|
||
identifier character. Take no arguments.
|
||
(cpp_reader_init): Call initialize_char_syntax with no
|
||
arguments.
|
||
(cpp_start_read): Don't call initialize_char_syntax again.
|
||
Clear is_idchar['$'] and is_idstart['$'] if not
|
||
opts->dollars_in_ident.
|
||
|
||
* cpplib.h (struct cpp_reader): Replace void *data element by
|
||
cpp_options *opts. Rearrange elements to make gdb printout
|
||
less annoying (put buffer stack at end).
|
||
(CPP_OPTIONS): Get rid of now-unnecessary cast.
|
||
|
||
* cppmain.c: s/data/opts/ when initializing cpp_reader
|
||
structure.
|
||
* c-decl.c: Likewise.
|
||
* objc/objc-act.c: Likewise.
|
||
* fix-header.c: Likewise.
|
||
|
||
1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.h (struct cpp_buffer): Replace dir and dlen members
|
||
with a struct file_name_list pointer.
|
||
(struct cpp_reader): Add pointer to chain of `actual
|
||
directory' include searchpath entries.
|
||
(struct file_name_list): Add *alloc pointer for the sake of
|
||
the actual-directory chain.
|
||
|
||
Move definition of HOST_WIDE_INT here.
|
||
(cpp_parse_escape): Change prototype to match changes in
|
||
cppexp.c.
|
||
|
||
* cppfiles.c (actual_directory): New function.
|
||
(finclude): Use it to initialize the buffer's actual_dir
|
||
entry.
|
||
(find_include_file): We don't need to fix up max_include_len
|
||
here.
|
||
|
||
* cpplib.c (do_include): Don't allocate a file_name_list on
|
||
the fly for current directory "" includes, use the one that's
|
||
been preallocated in pfile->buffer->actual_dir. Hoist out
|
||
duplicate code from the search_start selection logic.
|
||
(cpp_reader_init): Initialize pfile->actual_dirs.
|
||
|
||
Remove definition of HOST_WIDE_INT. Change calls
|
||
to cpp_parse_escape to match changes in cppexp.c (note
|
||
hardcoded MASK, which is safe since this is the source
|
||
character set).
|
||
|
||
* cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
|
||
to handle wide character constants in #if directives. The
|
||
function now returns a HOST_WIDE_INT, and takes a third
|
||
argument which is a binary mask for all legal values (0x00ff
|
||
for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
|
||
MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
|
||
cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
|
||
|
||
Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
|
||
|
||
Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
|
||
* cppalloc.c: Move function `xcalloc' from cpplib.c to here.
|
||
* cpplib.c: Move function `xcalloc' from here to cppalloc.c.
|
||
|
||
Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* final.c (output_asm_name): Use tabs to separate comments from
|
||
assembly text.
|
||
|
||
Include instruction lengths (if defined) in output.
|
||
|
||
Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
|
||
in the loop_info structure.
|
||
|
||
Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* configure.in (arm*-*-ecos-elf): New target.
|
||
* configure: Regenerated.
|
||
* config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
|
||
* config/arm/ecos-elf.h: New file.
|
||
* config/arm/unknown-elf.h (TARGET_VERSION): Check
|
||
for redefinition.
|
||
|
||
Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (output_far_jump): Emit braf only for TARGET_SH2.
|
||
|
||
Sun Dec 6 04:19:45 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.c (check_dbra_loop): New argument loop_info. Update fields
|
||
as needed.
|
||
|
||
Sun Dec 6 03:40:13 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
|
||
compressed reports are ok and preferred over URLs.
|
||
|
||
Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* invoke.texi (Warning Options): Soften the tone of -pedantic.
|
||
|
||
Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* print-rtl.c (print_rtx): Add prototype.
|
||
|
||
* unroll.c (iteration_info): Make it static.
|
||
|
||
Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alias.c (memrefs_conflict_p): A second ANDed address
|
||
disables the aligned address optimization.
|
||
|
||
Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_emit_set_const_1): Fix parenthesis error
|
||
in -c << n case.
|
||
|
||
Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i960.h (BOOL_TYPE_SIZE): Define.
|
||
|
||
Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
|
||
from old valid_parallel_operands_4.
|
||
(valid_parallel_operands_4): Check that operands for 4 operand
|
||
parallel insns are valid, excluding load/store insns.
|
||
* config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
|
||
* config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
|
||
valid_parallel_load_store instead of valid_parallel_operands_4.
|
||
(*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
|
||
*negqf2_movqf_clobber, *absqi2_movqi_clobber,
|
||
*fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
|
||
*notqi_movqi_clobber): Use valid_parallel_operands_4.
|
||
(*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
|
||
*ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
|
||
*subqi3_movqi_clobber): Use valid_parallel_operands_5.
|
||
|
||
Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (iteration_info): Delete extern.
|
||
|
||
Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
|
||
|
||
* final.c (cleanup_subreg_operands): Delete some unused code.
|
||
|
||
* recog.h (MAX_RECOG_ALTERNATIVES): New macro.
|
||
(struct insn_alternative): New structure definition.
|
||
(recog_op_alt): Declare variable.
|
||
(preprocess_constraints): Declare function.
|
||
* recog.c (recog_op_alt): New variable.
|
||
(extract_insn): Verify number of alternatives is in range.
|
||
(preprocess_constraints): New function.
|
||
* reg-stack.c: Include recog.h.
|
||
(constrain_asm_operands): Delete.
|
||
(get_asm_operand_lengths): Delete.
|
||
(get_asm_operand_n_inputs): New function.
|
||
(record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
|
||
N_OUTPUTS args. All callers changed.
|
||
Compute number of inputs and outputs here by calling
|
||
get_asm_operand_n_inputs.
|
||
Instead of constrain_asm_operands, call extract_insn,
|
||
constrain_operands and preprocess_constraints. Use information
|
||
computed by these functions throughout.
|
||
(record_reg_life): Delete code that is unused due to changes in
|
||
record_asm_reg_life.
|
||
(subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
|
||
N_INPUTS and N_OUTPUTS args. All callers changed.
|
||
Similar changes as in record_asm_reg_life.
|
||
(subst_stack_regs): Move n_operands declaration into the if statement
|
||
where it's used.
|
||
Delete code that is unused due to changes in subst_asm_stack_regs.
|
||
* stmt.c (expand_asm_operands): Verify number of alternatives is in
|
||
range.
|
||
* Makefile.in (reg-stack.o): Depend on recog.h.
|
||
|
||
Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* except.c (set_exception_version_code): Argument is an "int".
|
||
|
||
Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
|
||
* configure: Rebuilt.
|
||
|
||
Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* configure.in (mipsel-*-linux*): New target.
|
||
* mips/linux.h: New file, based on other Linux targets.
|
||
|
||
Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
|
||
runs in the context of the deleter, not the deletee, so we must
|
||
use taskVarGet to find the correct memory to free.
|
||
(__gthread_key_create): Initialize the task
|
||
variable subsystem so that the task variable is still active when
|
||
the delete hook is run.
|
||
|
||
1998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* pdp11.h: Use optimize_size for space optimizations.
|
||
* pdp11.c: Likewise.
|
||
* pdp11.md: Likewise.
|
||
|
||
* pdp11.h (TARGET_40_PLUS): Fix typo.
|
||
|
||
Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* local-alloc.c (block_alloc): Slightly retune heuristic to widen
|
||
qty lifetimes.
|
||
|
||
Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* alias.c (addr_side_effect_eval): New function.
|
||
(memrefs_conflict_p): Use it.
|
||
* rtl.h (addr_side_effect_eval): Prototype it.
|
||
|
||
1998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
|
||
|
||
* pdp11.md (extendsfdf2): Fix mode mismatch in SET.
|
||
|
||
Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (find_reloads): When force const to memory, put result
|
||
in substed_operand not *recog_operand_loc.
|
||
|
||
1998-12-02 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* c-lex.c: Fix indentation from last patch.
|
||
Remove trailing whitespace.
|
||
* real.c: Likewise.
|
||
|
||
Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (delete_block): Call set_last_insn after we have reset
|
||
NEXT_INSN (kept_tail).
|
||
|
||
Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.md (trap_if): Use "$0" for the value zero.
|
||
|
||
Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
|
||
Stephen L Moshier <moshier@world.std.com>
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-common.c (declare_function_name): Declare predefined variable
|
||
`__func__'.
|
||
|
||
* c-decl.c (flag_isoc9x): Set to 1 by default.
|
||
(c_decode_option): Handle -std= option. Remove -flang-isoc9x.
|
||
(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
|
||
|
||
* c-parse.in: Allow constructors in ISO C 9x.
|
||
Rewrite designator list handling.
|
||
Allow [*] parameters.
|
||
Don't warn about comma at end of enum definition for ISO C 9x.
|
||
|
||
* cccp.c (c9x): New variable.
|
||
(rest_extension): New variable.
|
||
(print_help): Document new -std= option.
|
||
(main): Recognize -std= option. Set c9x appropriately.
|
||
(create_definition): Recognize ISO C 9x vararg macros.
|
||
|
||
* gcc.c (default_compilers): Adjust specs for -std options.
|
||
(option_map): Add --std.
|
||
(display_help): Document -std.
|
||
|
||
* toplev.c (documented_lang_options): Add -std and remove
|
||
-flang-isoc9x.
|
||
|
||
* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
|
||
or REAL_VALUE_HTOF based on base of the constants.
|
||
* fold-const.c (real_hex_to_f): New function. Replacement function
|
||
for hex FP conversion if REAL_ARITHMETIC is not defined.
|
||
* real.c (asctoeg): Add handling of hex FP constants.
|
||
* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
|
||
real_hex_to_f.
|
||
|
||
Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
|
||
-mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
|
||
expansion. Use hi/lo as destination register.
|
||
(div_trap): New.
|
||
(divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
|
||
umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
|
||
Avoid as macro expansion. Use hi/lo as destination register.
|
||
|
||
* mips.h (MASK_CHECK_RANGE_DIV): New.
|
||
(MASK_NO_CHECK_ZERO_DIV): New.
|
||
(ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
|
||
(CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
|
||
return address for leaf functions out of r31 to support
|
||
builtin_return_address.
|
||
|
||
Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
|
||
NEXT_INSN(x) to check insn x.
|
||
|
||
Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (delete_block): Call set_last_insn if we end up deleting the
|
||
last insn in the rtl chain.
|
||
|
||
* reload1.c (reload): Do not set reload_completed or split insns
|
||
here. Instead...
|
||
* toplev.c (rest_of_compilation): Set reload_completed after
|
||
reload returns. Split insns after reload_cse has run.
|
||
|
||
Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* final.c (final_scan_insn): Abort if block_depth falls below 0.
|
||
|
||
Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
|
||
|
||
Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
|
||
use of user-label_prefix.
|
||
|
||
Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (emit_reload_insns): Clear spill_reg_store
|
||
when doing a new non-inherited reload from the same pseudo.
|
||
|
||
* local-alloc.c (function_invariant_p): New function.
|
||
(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
|
||
to decide if an equivalence should be recorded.
|
||
* reload1.c (num_eliminable_invariants): New static variable.
|
||
(reload): Set it. Use function_invariant_p instead of CONSTANT_P
|
||
to decide if an equivalence should be recorded.
|
||
Unshare PLUS.
|
||
(calculate_needs_all_insns): Skip insns that only set an equivalence.
|
||
Take num_eliminable_invariants into account when deciding
|
||
if register elimination should be done.
|
||
(reload_as_needed): Take num_eliminable_invariants into account
|
||
when deciding if register elimination should be done.
|
||
(eliminate_regs): Handle non-constant reg_equiv_constant.
|
||
* rtl.h (function_invariant_p): Declare.
|
||
|
||
Mon Nov 30 02:00:08 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Nov 30 00:42:59 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* except.c (add_new_handler): Complain about additional handlers
|
||
after one that catches everything.
|
||
|
||
Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (alpha*-*-netbsd): Fix typo.
|
||
* configure: Rebuilt.
|
||
|
||
Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h: Include libiberty.h.
|
||
|
||
* c-aux-info.c: Remove prototypes for concat/concat3. Change
|
||
function `concat' from fixed parameters to variable parameters,
|
||
as is done in libiberty. All callers of concat/concat3
|
||
changed to use the new `concat' with variable args.
|
||
|
||
* cccp.c: Remove things made redundant by libiberty.h and/or
|
||
conform to libiberty standards.
|
||
* cexp.y: Likewise.
|
||
* collect2.c: Likewise.
|
||
* config/1750a/1750a.h: Likewise.
|
||
* cppalloc.c: Likewise.
|
||
* cppexp.c: Likewise.
|
||
* cppfiles.c: Likewise.
|
||
* cpphash.c: Likewise.
|
||
* cpplib.c: Likewise.
|
||
* dyn-string.c: Likewise.
|
||
* fix-header.c: Likewise.
|
||
* gcc.c: Likewise.
|
||
* gcov.c: Likewise.
|
||
* genattr.c: Likewise.
|
||
* genattrtab.c: Likewise.
|
||
* gencheck.c: Likewise.
|
||
* gencodes.c: Likewise.
|
||
* genconfig.c: Likewise.
|
||
* genemit.c: Likewise.
|
||
* genextract.c: Likewise.
|
||
* genflags.c: Likewise.
|
||
* gengenrtl.c: Likewise.
|
||
* genopinit.c: Likewise.
|
||
* genoutput.c: Likewise.
|
||
* genpeep.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
* getpwd.c: Likewise.
|
||
* halfpic.c: Likewise.
|
||
* hash.c: Likewise.
|
||
* mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
|
||
in NEED_DECLARATION_* macros.
|
||
|
||
* mips-tfile.c: Remove things made redundant by libiberty.h and/or
|
||
conform to libiberty standards.
|
||
(fatal): Fix const-ification of variable `format' in
|
||
!ANSI_PROTOTYPES case.
|
||
|
||
* prefix.c: Remove things made redundant by libiberty.h and/or
|
||
conform to libiberty standards.
|
||
|
||
* print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
|
||
conflicting with function `spaces' from libiberty.
|
||
|
||
* profile.c: Remove things made redundant by libiberty.h and/or
|
||
conform to libiberty standards.
|
||
* protoize.c: Likewise.
|
||
* rtl.h: Likewise.
|
||
* scan.h: Likewise.
|
||
* tlink.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
* toplev.h: Likewise.
|
||
* tree.h: Likewise.
|
||
|
||
Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
|
||
|
||
Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* README.C4X: Updated URLs.
|
||
* config/c4x/c4x.c (c4x_address_conflict): Fix typo.
|
||
(valid_parallel_operands_5): Remove unused variable.
|
||
|
||
Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
|
||
|
||
1998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
|
||
which can be configured.
|
||
(LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
|
||
(Makefile): Pass actual LANGUAGES through the environment when
|
||
re-configuring.
|
||
(cstamp-h): Likewise.
|
||
(config.status): Likewise.
|
||
|
||
* configure.in (enable_languages): Add new configuration parameter
|
||
"--enable-languages=lang1,lang2,...".
|
||
(${srcdir}/*/config-lang.in): Change handling to configure only
|
||
those directories, that the user might have enabled; default to
|
||
"all" existing languages.
|
||
* configure: Regenerate.
|
||
|
||
Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtlanal.c (regs_set_between_p): New function.
|
||
* rtl.h (regs_set_between_p): Prototype it.
|
||
* jump.c (jump_optimize): Use it instead of modified_between_p
|
||
in the Sep 2 change.
|
||
|
||
Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
|
||
Matthias Pfaller <leo@dachau.marco.de>
|
||
|
||
* invoke.texi (Option Summary, NS32K Options): Add description
|
||
of NS32K specific options.
|
||
|
||
* ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
|
||
fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
|
||
fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
|
||
negdf2, absdf2): Use l instead of f since the double class and
|
||
float class are no longer the same.
|
||
(cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
|
||
divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
|
||
ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
|
||
Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
|
||
fixed.
|
||
(cmpsi, cmphi, cmpqi): Use general_operand instead of
|
||
non_immediate_operand. Removes erroneous assumption that can't
|
||
compare constants.
|
||
(movsf, movsi, movhi, movqi,...): New register numbering scheme.
|
||
(movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
|
||
constants.
|
||
(movstrsi, movstrsi1, movstrsi2): Completely new block move
|
||
scheme.
|
||
(...): Patterns to exploit multiply-add instructions.
|
||
(udivmodsi4, udivmodsi_internal4, udivmodhi4,
|
||
udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
|
||
patterns to exploit extended divide insns.
|
||
(udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
|
||
etc patterns.
|
||
|
||
* ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
|
||
float return values as well as simple scalar floats.
|
||
(TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
|
||
Support new flag to denote 32381 fpu.
|
||
(OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
|
||
(CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
|
||
compiling for 32381.
|
||
(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
|
||
REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
|
||
REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
|
||
L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
|
||
LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
|
||
REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
|
||
REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
|
||
REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
|
||
REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
|
||
fpu registers and special register classes for new 32381
|
||
instructions dotf and polyf.
|
||
(MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
|
||
be tieable.
|
||
(INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
|
||
INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
|
||
required.
|
||
(SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
|
||
(MOVE_RATIO): Set to zero because of smart movstrsi implementation.
|
||
(REGISTER_MOVE_COST): Move code to register_move_cost function for
|
||
ease of coding and debugging.
|
||
(CLASS_LIKELY_SPILLED_P): Under new register scheme class
|
||
LONG_FLOAT_REGO is likely spilled but not caught by default
|
||
definition.
|
||
(CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
|
||
instead of hard coded numbers in range check.
|
||
(ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
|
||
(...): Add prototypes for functions in ns32k.c but disable because
|
||
of problems when ns32k.h is included in machine independent files.
|
||
|
||
* ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
|
||
(ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
|
||
hard_regno_mode_ok, secondary_reload_class,
|
||
print_operand, print_operand_address): New register scheme to
|
||
include 32381 fpu registers and special register classes for new
|
||
32381 instructions dotf and polyf.
|
||
(gen_indexed_expr): Make static to keep namespace clean.
|
||
(check_reg): Remove since never called.
|
||
(move_tail, expand_block_move): Helper functions for "movstrsi"
|
||
block move insn.
|
||
(register_move_cost): Helper function for REGISTER_MOVE_COST macro.
|
||
Increase cost of moves which go via memory.
|
||
* netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
|
||
(CPP_PREDEFINES): No longer predefine "unix".
|
||
|
||
* ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
|
||
Remove erroneous %$. print_operand() can work out from the rtx is
|
||
an immediate prefix is required.
|
||
|
||
* ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
|
||
VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
|
||
SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
|
||
convention.
|
||
(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
|
||
pic operands.
|
||
|
||
* ns32k.c (symbolic_reference_mentioned_p, print_operand):
|
||
Correct handling of pic operands.
|
||
(ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
|
||
ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
|
||
-mrtd calling convention.
|
||
|
||
Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* gcc.c (option_map): Recognize --output-class-directory.
|
||
|
||
Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.h (precondition_loop_p): Added new mode argument.
|
||
* unroll.c (precondition_loop_p): Likewise.
|
||
(approx_final_value): Function deleted and subsumed
|
||
into loop_iterations.
|
||
(loop_find_equiv_value): New function.
|
||
(loop_iterations): Use loop_find_equiv_value to find increments
|
||
too large to be immediate constants. Also use it to find terms
|
||
common to initial and final iteration values that can be removed.
|
||
|
||
Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.h (struct loop_info): Define new structure.
|
||
(precondition_loop_p): Added prototype.
|
||
(unroll_loop): Added new argument loop_info to prototype.
|
||
(final_biv_value, final_giv_value): Added new argument n_iterations
|
||
to prototype.
|
||
* loop.c (strength_reduce): Declare new structure loop_iteration_info
|
||
and new pointer loop_info.
|
||
(loop_n_iterations): Replace global variable by element in
|
||
loop_info structure.
|
||
(check_final_value): New argument n_iterations.
|
||
(insert_bct): New argument loop_info.
|
||
(loop_unroll_factor): Replace global array by element in
|
||
loop_info structure.
|
||
(loop_optimize): Remove code to allocate and initialize
|
||
loop_unroll_factor_array.
|
||
* unroll.c (precondition_loop_p): No longer static since
|
||
used by branch on count optimization.
|
||
(precondition_loop_p, unroll_loop): New argument loop_info.
|
||
(final_biv_value, final_giv_value, find_splittable_regs): New
|
||
argument n_iterations.
|
||
(loop_iteration_var, loop_initial_value, loop_increment,
|
||
loop_final_value, loop_comparison_code, loop_unroll_factor):
|
||
Replaced global variables by loop_info structure.
|
||
(loop_unroll_factor): Replace global array by element in
|
||
loop_info structure.
|
||
|
||
Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
|
||
when loop reversed.
|
||
|
||
* unroll.c (precondition_loop_p): Return loop_initial_value
|
||
for initial_value instead of loop_iteration_var.
|
||
|
||
Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md: Fix minor formatting problems. Update docs.
|
||
(*b, *b_rev, *b_noov, *b_noov_rev, *db,
|
||
decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
|
||
to output the instruction sequences.
|
||
(rpts): Delete.
|
||
(rptb_top): Provide alternatives to use any register or memory
|
||
for loop counter.
|
||
(rptb_end): Emit use of operands rather than assigning them
|
||
explicitly to the RS and RE registers.
|
||
|
||
Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
|
||
c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
|
||
c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
|
||
c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
|
||
c4x_merge_notes, c4x_parallel_process,
|
||
c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
|
||
c4x_combine_parallel): Delete.
|
||
|
||
Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_override_options): For compatibility
|
||
with old target options clear flag_branch_on_count_reg if
|
||
-mno-rptb specified and set flag_argument_alias is -mno-aliases
|
||
specified.
|
||
(c4x_output_cbranch): Handle a sequence of insns rather than a
|
||
single insn.
|
||
(c4x_rptb_insert): Do not emit a RPTB insn if the RC register
|
||
has not been allocated as the loop counter.
|
||
(c4x_address_conflict): Do not allow two volatile memory references.
|
||
(valid_parallel_operands_4, valid_parallel_operands_5,
|
||
valid_parallel_operands_6): Reject pattern if the register destination
|
||
of the first set is used as part of an address in the second set.
|
||
|
||
Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
|
||
(TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
|
||
is no longer enabled if PARALLEL_MPY_FLAG set.
|
||
(HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
|
||
(REG_CLASS_CONTENTS): Add braces around initializers.
|
||
(HAVE_MULTIPLE_PACK): Define.
|
||
(ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
|
||
REAL_VALUE_TO_DECIMAL.
|
||
(ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
|
||
REAL_VALUE_TO_DECIMAL.
|
||
(ar0_reg_operand): Add prototype.
|
||
(ar0_mem_operand): Likewise.
|
||
(ar1_reg_operand): Likewise.
|
||
(ar1_mem_operand): Likewise.
|
||
(ar2_reg_operand): Likewise.
|
||
(ar2_mem_operand): Likewise.
|
||
(ar3_reg_operand): Likewise.
|
||
(ar3_mem_operand): Likewise.
|
||
(ar4_reg_operand): Likewise.
|
||
(ar4_mem_operand): Likewise.
|
||
(ar5_reg_operand): Likewise.
|
||
(ar5_mem_operand): Likewise.
|
||
(ar6_reg_operand): Likewise.
|
||
(ar6_mem_operand): Likewise.
|
||
(ar7_reg_operand): Likewise.
|
||
(ar7_mem_operand): Likewise.
|
||
(ir0_reg_operand): Likewise.
|
||
(ir0_mem_operand): Likewise.
|
||
(ir1_reg_operand): Likewise.
|
||
(ir1_mem_operand): Likewise.
|
||
(group1_reg_operand): Likewise.
|
||
(group1_mem_operand): Likewise.
|
||
(ir1_reg_operand): Likewise.
|
||
(arx_reg_operand): Likewise.
|
||
(not_rc_reg): Likewise.
|
||
(not_modify_reg): Likewise.
|
||
(c4x_group1_reg_operand): Remove prototype.
|
||
(c4x_group1_mem_operand): Likewise.
|
||
(c4x_arx_reg_operand): Likewise.
|
||
|
||
Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Remove earlier change.
|
||
* real.c (make_nan): Make SIGN arg actually specify the sign bit.
|
||
|
||
Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
|
||
during reload.
|
||
|
||
Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
|
||
unless FMOVD_WORKS is defined.
|
||
|
||
Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regclass.c (init_reg_sets): Move code that calculates tables
|
||
dependent on reg_class_contents from here...
|
||
(init_reg_sets_1): To here.
|
||
|
||
Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.h: Delete struct import_file. Add ihash element to
|
||
struct cpp_buffer. Delete dont_repeat_files and
|
||
import_hash_table elements from cpp_reader; change
|
||
all_include_files to a hash table. Delete all foobar_include
|
||
/ last_foobar_include elements from struct cpp_options; put
|
||
back four such: quote_include, bracket_include,
|
||
system_include, after_include. Redo struct file_name_list
|
||
completely. Add new structure type include_hash. Add
|
||
prototypes for merge_include_chains and include_hash. Change
|
||
prototypes for finclude, find_include_file, and
|
||
append_include_chain to match changes below.
|
||
|
||
* cppfiles.c (simplify_pathname, include_hash,
|
||
remap_filename, merge_include_chains): New functions.
|
||
(add_import, lookup_import, open_include_file): Removed.
|
||
(INO_T_EQ): Define this (copied from cccp.c).
|
||
(hack_vms_include_specification): Remove all calls and #if 0
|
||
out the definition. It was being called incorrectly and at
|
||
the wrong times. Until a VMSie can look at this, it's better
|
||
to not pretend to support it.
|
||
(append_include_chain): Change calling convention; now takes
|
||
only one directory at a time, and sets up the data structure
|
||
itself.
|
||
(redundant_include_p): Rewritten - this is now used for all
|
||
include redundancy, whether by #ifndef, #import, or #pragma
|
||
once. Looks up things in the include hash table.
|
||
(file_cleanup): Decrement pfile->system_include_depth here if
|
||
it's >0.
|
||
(find_include_file): Calling convention changed; now passes
|
||
around a struct include_hash instead of 3 separate parameters.
|
||
Guts ripped out and replaced with new include_hash mechanism.
|
||
(finclude): Calling convention changed as for
|
||
find_include_file. Error exits pulled out-of-line. Reformat.
|
||
(safe_read): Return a long, not an int.
|
||
(deps_output): Don't recurse.
|
||
|
||
* cpplib.c (is_system_include): Deleted.
|
||
(path_include): Fix up call to append_include_chain.
|
||
(do_include): Fix up calls to find_include_file and finclude.
|
||
Clean up dependency output a bit. Shorten obnoxiously lengthy
|
||
#import warning message. Don't decrement
|
||
pfile->system_include_depth here.
|
||
(do_pragma): Understand the include_hash structure. Reformat.
|
||
(do_endif): Correct handling of control macros. Understand
|
||
the include_hash.
|
||
(cpp_start_read): Fix up calls to finclude. Call
|
||
merge_include_chains.
|
||
(cpp_handle_option): Fix up calls to append_include_chain.
|
||
Understand the four partial include chains.
|
||
(cpp_finish): Add debugging code (#if 0-ed out) for the
|
||
include_hash.
|
||
(cpp_cleanup): Free the include_hash, not the import hash and
|
||
the all_include and dont_repeat lists which no longer exist.
|
||
|
||
Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (no_new_pseudos): Define.
|
||
(rest_of_compilation): Set no_new_pseudos as needed.
|
||
* emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
|
||
if no_new_pseudos is set.
|
||
* rtl.h (no_new_pseudos): Declare it.
|
||
* reload1.c (reload): Update comments.
|
||
* md.texi: Corresponding changes.
|
||
|
||
Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
|
||
(choose_reload_regs): Rename it here as well. When computing it,
|
||
also merge in used hardregs.
|
||
|
||
1998-11-25 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* gcc.c: Split out Objective-C specs to...
|
||
* objc/lang-specs.h: here. (New file.) Make the specs cpplib
|
||
aware.
|
||
|
||
* c-lex.c (init_parse): Always initialize the filename global.
|
||
* objc/objc-act.c (lang_init): Always call check_newline at
|
||
beginning of file.
|
||
|
||
Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* reload1.c (reload): Remove unused variable.
|
||
(reload_reg_free_for_value_p): Add missing parameter definition.
|
||
|
||
* jump.c (jump_optimize): Remove unused variable.
|
||
|
||
Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
|
||
|
||
* cse.c (fold_rtx): Make autoincrement addressing mode tests be
|
||
runtime selectable.
|
||
* expr.c (move_by_pieces): Similarly.
|
||
(move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
|
||
* flow.c (find_auto_inc): Similarly.
|
||
(try_pre_increment): Similarly.
|
||
* loop.c (strength_reduce): Similarly.
|
||
* regclass.c (auto_inc_dec_reg_p): Similarly.
|
||
* regmove.c (try_auto_increment): Similarly.
|
||
(fixup_match_1): Similarly.
|
||
* rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
|
||
(HAVE_PRE_DECREMENT): Similarly.
|
||
(HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
|
||
* Corresponding changes to all target header files.
|
||
* tm.texi: Update docs for autoinc addressing modes.
|
||
|
||
Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
|
||
* configure: Rebuild.
|
||
* config/elfos.h: New file.
|
||
* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
|
||
config/m68k/t-m68kelf: New file.
|
||
|
||
Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (HOST_AR): Define.
|
||
(HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
|
||
(libcpp.a): Use the host tools explicitly.
|
||
(STAGESTUFF): Add libcpp.a.
|
||
|
||
Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/m32r/m32r.md (movstrsi_internal): Describe changes made
|
||
to source and destination registers.
|
||
|
||
Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
|
||
The strategy we now use is to pre allocate the top_elt along
|
||
with the EH context so that each thread has its own top_elt.
|
||
This is necessary as the dynamic cleanup chain is used on the
|
||
top element of the stack and each thread MUST have its own.
|
||
(eh_context_static): Likewise.
|
||
(new_eh_context): Likewise.
|
||
(__sjthrow): Likewise.
|
||
|
||
Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
|
||
* i386.md (prologue_get_pc): Remove unused variable.
|
||
|
||
Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
|
||
|
||
* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
|
||
|
||
Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* Makefile.in (OBJS): Add graph.o.
|
||
(graph.o): New dependency list.
|
||
* flags.h: Declare dump_for_graph and define graph_dump_types type.
|
||
* print-rtl.c (dump_for_graph): Define new variable.
|
||
(print_rtx): Rewrite to allow use in graph dumping functions.
|
||
* toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
|
||
finish_graph_dump_file.
|
||
Define graph_dump_format.
|
||
(compile_file): If graph dumping is enabled also clear these files.
|
||
Finish graph dump files.
|
||
(rest_of_compilation): Also dump graph information if enabled.
|
||
(main): Recognize -dv to enabled VCG based graph dumping.
|
||
* graph.c: New file. Graph dumping functions.
|
||
|
||
Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in: Look for <sys/stat.h>.
|
||
* system.h: Include it before substitute S_ISREG definitions.
|
||
|
||
Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
|
||
* config/mips/iris6.h: Same.
|
||
* config/mips/mips.md: Same.
|
||
* config/mips/mips.c: Same; also add "-mabi=o64" option.
|
||
* config/mips/mips.h: Same; also define ABI_O64.
|
||
|
||
Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in: Use AC_PREREQ(2.12.1).
|
||
|
||
Mon Nov 23 10:16:38 1998 Melissa O'Neill <oneill@cs.sfu.ca>
|
||
|
||
* cccp.c (S_ISREG, S_ISDIR): Delete defines.
|
||
* cpplib.c, gcc.c: Likewise.
|
||
* system.h (S_ISREG, S_ISDIR): Define if not already defined.
|
||
|
||
Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* local-alloc.c (local_alloc): Use malloc not alloca for
|
||
reg_qty, reg_offset, ref_next_in_qty.
|
||
|
||
Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* caller-save.c (insert_one_insn): Initialize the live_before and
|
||
live_after register sets.
|
||
|
||
Add SH4 support:
|
||
|
||
* config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
|
||
(___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
|
||
* sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
|
||
(fp_reg_names, assembler_dialect): New variables.
|
||
(print_operand_address): Handle SUBREGs.
|
||
(print_operand): Added 'o' case.
|
||
Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
|
||
Name of FP registers depends on mode.
|
||
(expand_block_move): Emit different code for SH4 hardware.
|
||
(prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
|
||
(from_compare): Likewise.
|
||
(add_constant): New argument last_value. Changed all callers.
|
||
(find_barrier): Don't try HImode load for FPUL_REG.
|
||
(machine_dependent_reorg): Likewise.
|
||
(sfunc_uses_reg): A CLOBBER cannot be the address register use.
|
||
(gen_far_branch): Emit a barrier after the new jump.
|
||
(barrier_align): Don't trust instruction lengths before
|
||
fixing up pcloads.
|
||
(machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
|
||
Use auto-inc addressing for fp registers if doubles need to
|
||
be loaded in two steps.
|
||
Set sh_flag_remove_dead_before_cse.
|
||
(push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
|
||
(pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
|
||
(calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
|
||
Support for FIRST_XD_REG .. LAST_XD_REG.
|
||
(sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
|
||
(sh_expand_epilogue): Likewise.
|
||
(sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
|
||
(initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
|
||
(arith_reg_operand): FPUL_REG is OK for SH4.
|
||
(fp_arith_reg_operand, fp_extended_operand): New functions.
|
||
(tertiary_reload_operand, fpscr_operand): Likewise.
|
||
(commutative_float_operator, noncommutative_float_operator): Likewise.
|
||
(binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
|
||
(emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
|
||
(expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
|
||
(emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
|
||
* sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
|
||
(CONDITIONAL_REGISTER_USAGE): Likewise.
|
||
(HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
|
||
(TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
|
||
(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
|
||
(target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
|
||
(OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
|
||
to -1 and sh_flag_remove_dead_before_cse to 1.
|
||
(ASSEMBLER_DIALECT): Define to assembler_dialect.
|
||
(assembler_dialect, fp_reg_names): Declare.
|
||
(OVERRIDE_OPTIONS): Add code for TARGET_SH4.
|
||
Hide names of registers that are not accessible.
|
||
(CACHE_LOG): Take TARGET_CACHE32 into account.
|
||
(LOOP_ALIGN): Take TARGET_HARWARD into account.
|
||
(FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
|
||
(FIRST_PSEUDO_REGISTER: Now 49.
|
||
(FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
|
||
(HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
|
||
(HARD_REGNO_MODE_OK): Update.
|
||
(enum reg_class): Add DF_REGS and FPSCR_REGS.
|
||
(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
|
||
(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
|
||
(CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
|
||
(NPARM_REGS): Eight floating point parameter registers on SH4.
|
||
(BASE_RETURN_VALUE_REG): SH4 also passes double values
|
||
in floating point registers.
|
||
(GET_SH_ARG_CLASS): Likewise.
|
||
Complex float types are also returned in float registers.
|
||
(BASE_ARG_REG): Complex float types are also passes in float registers.
|
||
(FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
|
||
(LIBCALL_VALUE): Remove trailing semicolon.
|
||
(ROUND_REG): Round when double precision value is passed in floating
|
||
point register(s).
|
||
(FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
|
||
passed on the stack.
|
||
(FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
|
||
(FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
|
||
(TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
|
||
(INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
|
||
(MODE_DISP_OK_8): Not for SH4 DFmode.
|
||
(GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
|
||
Allow indexed addressing for PSImode after reload.
|
||
(LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
|
||
(LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
|
||
Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
|
||
(DOUBLE_TYPE_SIZE): 64 for SH4.
|
||
(RTX_COSTS): Add PLUS case.
|
||
Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
|
||
(REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
|
||
MAC_REGS, PR_REGS, DF_REGS.
|
||
(REGISTER_NAMES): Use fp_reg_names.
|
||
(enum processor_type): Add PROCESSOR_SH4.
|
||
(sh_flag_remove_dead_before_cse): Declare.
|
||
(rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
|
||
(PREDICATE_CODES): Add binary_float_operator,
|
||
commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
|
||
fpscr_operand, noncommutative_float_operator.
|
||
(ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
|
||
(SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
|
||
* sh.md (attribute cpu): Add value sh4.
|
||
(attrbutes fmovd, issues): Define.
|
||
(attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
|
||
(function units memory, int, mpy, fp): Make dependent on issue rate.
|
||
(function units issue, single_issue, load_si, load): Define.
|
||
(function units load_store, fdiv, gp_fpul): Define.
|
||
(attribute hit_stack): Provide proper default.
|
||
(use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
|
||
(udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
|
||
(udivsi3, divsi3): Emit special patterns for SH4 hardware,
|
||
(mulsi3_call): Now uses match_operand for function address.
|
||
(mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
|
||
REG_RETVAL notes.
|
||
(push, pop, push_e, pop_e): Now define_expands.
|
||
(push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
|
||
(movsi_ie): Added y/i alternative.
|
||
(ic_invalidate_line_i, movdf_i4): New insns.
|
||
(movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
|
||
(reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
|
||
(movdf): Add special code for SH4.
|
||
(movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
|
||
(call_valuei, calli, call_value): Likewise.
|
||
(movsf): Emit no-op move.
|
||
(mov_nop, movsi_y): New insns.
|
||
(blt, sge): Generalize to handle DFmode.
|
||
(return predicate): Call emit_fpscr_use and remove_dead_before_cse.
|
||
(block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
|
||
(block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
|
||
(fpu_switch0, fpu_switch1, movpsi): New expanders.
|
||
(fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
|
||
(toggle_sz): New insn.
|
||
(addsf3, subsf3, mulsf3, divsf3): Now define_expands.
|
||
(addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
|
||
(macsf3): Make use of fpscr visible. Disable for SH4.
|
||
(floatsisf2): Make use of fpscr visible.
|
||
(floatsisf2_i4): New insn.
|
||
(floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
|
||
(ieee_ccmpeqsf_t): Likewise.
|
||
(fix_truncsfsi2): Emit different code for SH4.
|
||
(fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
|
||
(cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
|
||
(negsf2, sqrtsf2, abssf2): Now expanders.
|
||
(adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
|
||
(negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
|
||
(muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
|
||
(fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
|
||
(fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
|
||
(fix_truncdfsi2_i4_2+1): New splitters.
|
||
(negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
|
||
(extendsfdf2, truncdfsf2): New expanders.
|
||
(truncdfsf2_i4): New insn.
|
||
* t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
|
||
(MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
|
||
* float-sh.h: When testing for __SH3E__, also test for
|
||
__SH4_SINGLE_ONLY__ .
|
||
* va-sh.h (__va_freg): Define to float.
|
||
(__va_greg, __fa_freg, __gnuc_va_list, va_start):
|
||
Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
|
||
(__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
|
||
(__PASS_AS_FLOAT): Use different definition for __SH4__ and
|
||
__SH4_SINGLE__.
|
||
(TARGET_SH4_P): Define.
|
||
(va_arg): Use it.
|
||
|
||
* sh.md (movdf_k, movsf_i): Tweak the condition so that
|
||
init_expr_once is satisfied about the existence of load / store insns.
|
||
|
||
* sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
|
||
Change m constraint in source operand to mr / mf.
|
||
|
||
* va-sh.h (__va_arg_sh1): Use __asm instead of asm.
|
||
|
||
* (__VA_REEF): Define.
|
||
(__va_arg_sh1): Use it.
|
||
|
||
* va-sh.h (va_start, va_arg, va_copy): Add parentheses.
|
||
|
||
Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386/dgux.c (struct option): Add new "description field".
|
||
* m88k/m88k.c (struct option): Likewise.
|
||
|
||
Sun Nov 22 16:07:57 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* regmove.c (regmove_profitable_p): Use return value of find_matches
|
||
properly.
|
||
|
||
Sun Nov 22 02:47:37 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
|
||
without reload having been called earlier.
|
||
|
||
* v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
|
||
addressing modes.
|
||
(v850_reorg): Similarly.
|
||
|
||
* loop.c (check_dbra_loop): Avoid using gen_add2_insn.
|
||
|
||
Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (move_movables): Start of libcall might be new loop start.
|
||
|
||
Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
|
||
|
||
Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* function.c (nonlocal_goto_handler_slots): Renamed from
|
||
nonlocal_goto_handler_slot; now an EXPR_LIST chain.
|
||
(push_function_context_to): Adjust for this change.
|
||
(pop_function_context_from): Likewise.
|
||
(init_function_start): Likewise.
|
||
(expand_function_end): Likewise.
|
||
* function.h (struct function): Likewise.
|
||
* calls.c (expand_call): Likewise.
|
||
* explow.c (allocate_dynamic_stack_space): Likewise.
|
||
* expr.h (nonlocal_goto_handler_slots): Rename its declaration.
|
||
* stmt.c (declare_nonlocal_label): Make a new handler slot for each
|
||
label.
|
||
(expand_goto): When doing a nonlocal goto, find corresponding handler
|
||
slot for it. Don't put the label address in the static chain register.
|
||
(expand_end_bindings): Break out nonlocal goto handling code into
|
||
three new functions.
|
||
(expand_nl_handler_label, expand_nl_goto_receiver,
|
||
expand_nl_goto_receivers): New static functions, broken out of
|
||
expand_end_bindings and adapted to create one handler per nonlocal
|
||
label.
|
||
* function.c (delete_handlers): Delete insn if it references any of
|
||
the nonlocal goto handler slots.
|
||
* i960.md (nonlocal_goto): Comment out code that modifies
|
||
static_chain_rtx.
|
||
* sparc.md (nonlocal_goto): Likewise.
|
||
(goto_handler_and_restore_v9): Comment out.
|
||
(goto_handler_and_restore_v9_sp64): Comment out.
|
||
|
||
Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* expr.c (STACK_BYTES): Delete unused macro.
|
||
* calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
||
(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
|
||
(expand_call): Likewise.
|
||
(emit_library_call): Likewise.
|
||
(emit_library_call_value): Likewise.
|
||
* function.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
||
(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
|
||
* explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
||
(round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
|
||
(allocate_dynamic_stack_space): Likewise.
|
||
* tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
|
||
(STACK_BOUNDARY): Update description to reflect the new situation.
|
||
|
||
Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (relax_delay_slots): When optimizing for code size, if a
|
||
return with a filled delay slot is followed by a return with an
|
||
unfilled delay slot, delete the first return and reemit the insn
|
||
that was previously in its delay slot.
|
||
|
||
* i860.c (single_insn_src_p): Add missing parens.
|
||
* ginclude/math-3300.h: Likewise.
|
||
|
||
Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* regclass.c (init_reg_sets_1): Add prototype.
|
||
(init_reg_modes): Likewise.
|
||
|
||
1998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* c-common.c: Change warning messages to say `comparison is
|
||
always true' or `comparison is always false' instead of the
|
||
confusing `is always 0', `is always 1'.
|
||
|
||
Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
|
||
break instead of return (which loses closing '>').
|
||
|
||
Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
|
||
standard 387 constants.
|
||
|
||
* i386.md (jump): Explicitly set "memory" attribute.
|
||
(indirect_jump, prologue_set_stack_ptr): Likewise.
|
||
(prologue_get_pc_and_set_got, pop): Likewise.
|
||
(allocate_stack_worder, blockage, return_internal): Likewise.
|
||
(return_pop_internal, nop): Likewise.
|
||
(epilogue_set_stack_ptr, leave): Likewise.
|
||
|
||
Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
|
||
|
||
Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p):
|
||
Early auto_inc reloads don't conflict with outputs.
|
||
|
||
Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
|
||
Instead call AC_HEADER_SYS_WAIT.
|
||
|
||
* collect2.c: Don't provide defaults for sys/wait.h macros.
|
||
* gcc.c: Likewise.
|
||
* protoize.c: Likewise. Also, don't include sys/wait.h.
|
||
|
||
* system.h: Include sys/wait.h and provide macro defaults.
|
||
|
||
1998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* Makefile.in (mandir): Set to @mandir@.
|
||
(man1dir): New variable to hold the former value of $(mandir).
|
||
Replace all uses of $(mandir) by $(man1dir).
|
||
|
||
Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (find_reloads_address_part): If have a CONST_INT, create
|
||
a new one before passing it to force_const_mem.
|
||
|
||
* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
|
||
find_reloads_address call.
|
||
|
||
Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (store_expr): Don't generate load-store pair
|
||
if TEMP is identical (according to ==) with TARGET.
|
||
|
||
Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): When considered reload
|
||
has an output, matching inputs are not sufficient to avoid conflict.
|
||
|
||
Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* hash.h (hash_table_key): New type.
|
||
(hash_entry): Change `string' field to generic `key'.
|
||
(hash_table): Add `comp' and `hash' functions.
|
||
(hash_table_init): Take them as input.
|
||
(hash_table_init_n): Likewise.
|
||
(hash_lookup): Modify for generic keys.
|
||
(hash_newfunc): Likewise.
|
||
(hash_traverse): Likewise.
|
||
(string_hash): New function.
|
||
(string_compare): Likewise.
|
||
(string_copy): Likewise.
|
||
* hash.c (hash_table_init_n): Modify for generic keys.
|
||
(hash_table_init): Likewise.
|
||
(hash_lookup): Likewise.
|
||
(hash_newfunc): Likewise.
|
||
(hash_traverse): Likewise.
|
||
(string_hash): Split out from hash_lookup.
|
||
(string_compare): New function.
|
||
(string_copy): Split out from hash_lookup.
|
||
* tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
|
||
tables.
|
||
(symbol_hash_lookup): Likewise.
|
||
(file_hash_newfunc): Likewise.
|
||
(file_hash_lookup): Likewise.
|
||
(demangled_hash_newfunc): Likewise.
|
||
(demangled_hash_lookup): Likewise.
|
||
(tlink_int): Likewise.
|
||
(read_repo_file): Likewise.
|
||
(recompile_files): Likewise.
|
||
(demangle_new_symbols): Likewise.
|
||
(scan_linker_output): Likewise.
|
||
|
||
Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* flow.c (insn_dead_p): New argument NOTES. Changed all callers.
|
||
|
||
Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (output_mi_thunk): Improve test for local branch.
|
||
|
||
Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.c (output_mi_thunk): Correct test for aggregate values.
|
||
|
||
Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_before_p): Delete.
|
||
Changed all callers to use reload_reg_free_for_value_p instead.
|
||
(reload_reg_free_for_value_p): Handle more reload types.
|
||
A RELOAD_FOR_INPUT doesn't conflict with its
|
||
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
|
||
Add special case for OUT == const0_rtx.
|
||
Added ignore_address_reloads argument. Changed all callers.
|
||
|
||
Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (compile_file): Don't pedwarn about undefined static
|
||
functions just because we passed -Wunused.
|
||
|
||
Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* function.c (purge_addressof_1): Unshare rtl created by
|
||
store_bit_field.
|
||
|
||
Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (regmove_optimize): Don't do anything but
|
||
optimize_reg_copy[123] when flag_regmove is not set.
|
||
|
||
Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
|
||
value in paradoxical SImode result, rather than truncating midpoint.
|
||
|
||
Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (reg_not_elim_operand): New.
|
||
* alpha.h (PREDICATE_CODES): Add it.
|
||
* alpha.md (s48addq, s48subq patterns): Use it as the predicate
|
||
for the multiplicand.
|
||
|
||
Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movsf): Remove explicit secondary-reload-like
|
||
functionality. Only truncate SFmode store if in FPR.
|
||
(movsf splitters): Combine const_double splitters.
|
||
(movsf_hardfloat): Add GPR support.
|
||
|
||
Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
|
||
deprecate -mlive-g0 and -mbroken-saverestore.
|
||
* t-splet (MULTILIB_OPTIONS): Likewise.
|
||
|
||
* sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
|
||
in a leaf function. Clarify total_size/extra_size relationship.
|
||
|
||
Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
|
||
|
||
* i386/cygwin32.asm: Delete.
|
||
* i386/cygwin.asm: New file, renamed from cygwin32.asm.
|
||
* i386/cygwin32.h: Delete.
|
||
* i386/cygwin.h: New file, renamed from cygwin32.h.
|
||
* i386/t-cygwin32: Delete.
|
||
* i386/t-cygwin: New file, renamed from t-cygwin32. Include
|
||
cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
|
||
* i386/x-cygwin32: Delete.
|
||
* i386/x-cygwin: New file, renamed from x-cygwin32.
|
||
* i386/xm-cygwin32: Delete.
|
||
* i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
|
||
renamed cygwin_ funcs for path translations.
|
||
* i386/win32.h: Define __CYGWIN__ when -mcygwin given.
|
||
* i386/winnt.c: Remove "32" from comment about cygwin.
|
||
* i386/mingw32.h: Fix references to cygwin32.h in light of above.
|
||
* rs6000/cygwin32.h: Delete.
|
||
* rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
|
||
-D__CYGWIN__ to CPP_PREDEFINES.
|
||
* rs6000/x-cygwin32: Delete.
|
||
* rs6000/x-cygwin: New file, renamed from x-cygwin32.
|
||
* rs6000/xm-cygwin32: Delete.
|
||
* rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
|
||
|
||
* configure.in: Check for cygwin* instead of cygwin32. Account
|
||
for the rename of cygwin-related config files to lose the "32"s.
|
||
* configure: Regenerate.
|
||
|
||
* cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
|
||
toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
|
||
|
||
Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* Makefile.in (JAVAGC): New macro.
|
||
* configure: Rebuilt.
|
||
* configure.in: Recognize --enable-java-gc argument. Subst
|
||
`JAVAGC' variable.
|
||
|
||
Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
Handle equivalences that have been obscured by gcse:
|
||
|
||
* reload1.c (reload): Handle equivalences set up in multiple places.
|
||
* local-alloc.c (reg_equiv_init_insns): New variable.
|
||
(no_equiv): New function.
|
||
(update_equiv_regs): Handle equivalences set up in multiple places.
|
||
Don't ignore an insn just because its destination is likely to be
|
||
spilled.
|
||
|
||
Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* except.c (expand_eh_return): Readd force_operand call lost in
|
||
Sept 15 change.
|
||
|
||
Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
|
||
|
||
1998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
|
||
|
||
Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* regmove.c (regmove_optimize): Fix error in last change.
|
||
|
||
Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
|
||
|
||
* mips.c (function_prologue): When TARGET_MIPS16, adjust the register
|
||
offset in the .mask pseudo to compensate for frame pointer adjustments.
|
||
(mips16_fp_args, build_mips16_call_stub): For little endian, do not
|
||
word swap arguments moved to/from FP registers.
|
||
* mips16.S (DFREVCMP): Reverse arguments to OPCODE.
|
||
|
||
Mon Nov 9 09:47:06 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Nov 9 02:14:14 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
|
||
times, then it can not be completely replaced.
|
||
|
||
Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
|
||
|
||
Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gansidecl.h: Prepend a "G" to the macro wrapping this file
|
||
(to distinguish it from the macro wrapping ansidecl.h.)
|
||
Include libiberty's ansidecl.h. Remove all redundant definitions.
|
||
Define the PROTO() style macros in terms of the PARAMS() ones.
|
||
|
||
|
||
* calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
|
||
__STDC__, when deciding whether to use ANSI variable args.
|
||
(emit_library_call_value): Likewise.
|
||
|
||
* cccp.c (error): Likewise.
|
||
(warning): Likewise.
|
||
(error_with_line): Likewise.
|
||
(warning_with_line): Likewise.
|
||
(pedwarn): Likewise.
|
||
(pedwarn_with_line): Likewise.
|
||
(pedwarn_with_file_and_line): Likewise.
|
||
(fatal): Likewise.
|
||
|
||
* cexp.y (error): Likewise.
|
||
(pedwarn): Likewise.
|
||
(warning): Likewise.
|
||
|
||
* collect2.c (fatal_perror): Likewise.
|
||
(fatal): Likewise.
|
||
(error): Likewise.
|
||
|
||
* combine.c (gen_rtx_combine): Likewise.
|
||
|
||
* cpperror.c (cpp_message): Likewise.
|
||
(cpp_fatal): Likewise.
|
||
|
||
* cpplib.c (cpp_error): Likewise.
|
||
(cpp_warning): Likewise.
|
||
(cpp_pedwarn): Likewise.
|
||
(cpp_error_with_line): Likewise.
|
||
(cpp_warning_with_line): Likewise.
|
||
(cpp_pedwarn_with_line): Likewise.
|
||
(cpp_pedwarn_with_file_and_line): Likewise.
|
||
|
||
* cpplib.h: Don't define PARAMS() macro.
|
||
|
||
* demangle.h: Likewise.
|
||
|
||
* doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
|
||
when deciding whether to use ANSI variable args.
|
||
|
||
* emit-rtl.c (gen_rtx): Likewise.
|
||
(gen_rtvec): Likewise.
|
||
|
||
* final.c (asm_fprintf): Likewise.
|
||
|
||
* fix-header.c (cpp_message): Likewise.
|
||
(fatal): Likewise.
|
||
(cpp_fatal): Likewise.
|
||
|
||
* gcc.c (concat): Likewise.
|
||
(fatal): Likewise.
|
||
(error): Likewise.
|
||
|
||
* genattr.c (fatal): Likewise.
|
||
|
||
* genattrtab.c (attr_rtx): Likewise.
|
||
(attr_printf): Likewise.
|
||
(fatal): Likewise.
|
||
|
||
* gencodes.c (fatal): Likewise.
|
||
|
||
* genconfig.c (fatal): Likewise.
|
||
|
||
* genemit.c (fatal): Likewise.
|
||
|
||
* genextract.c (fatal): Likewise.
|
||
|
||
* genflags.c (fatal): Likewise.
|
||
|
||
* genopinit.c (fatal): Likewise.
|
||
|
||
* genoutput.c (fatal): Likewise.
|
||
(error): Likewise.
|
||
|
||
* genpeep.c (fatal): Likewise.
|
||
|
||
* genrecog.c (fatal): Likewise.
|
||
|
||
* halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
|
||
deciding whether to declare `tree_node' and `rtx_def'.
|
||
|
||
* hash.h: Don't define stuff we get from gansidecl.h.
|
||
|
||
* mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
|
||
(fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
|
||
whether to use ANSI variable args.
|
||
(error): Likewise.
|
||
|
||
* prefix.c (concat): Likewise.
|
||
|
||
* scan.h: Likewise.
|
||
|
||
* system.h: Likewise.
|
||
|
||
* toplev.c (error_with_file_and_line): Likewise.
|
||
(error_with_decl): Likewise.
|
||
(error_for_asm): Likewise.
|
||
(error): Likewise.
|
||
(fatal): Likewise.
|
||
(warning_with_file_and_line): Likewise.
|
||
(warning_with_decl): Likewise.
|
||
(warning_for_asm): Likewise.
|
||
(warning): Likewise.
|
||
(pedwarn): Likewise.
|
||
(pedwarn_with_decl): Likewise.
|
||
(pedwarn_with_file_and_line): Likewise.
|
||
(sorry): Likewise.
|
||
(really_sorry): Likewise.
|
||
|
||
* toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
|
||
whether to declare `tree_node' and `rtx_def'.
|
||
|
||
* tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
|
||
deciding whether to use ANSI variable args.
|
||
(build_nt): Likewise.
|
||
(build_parse_node): Likewise.
|
||
|
||
Sun Nov 8 13:10:55 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
|
||
|
||
Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* collect2.c (main, case 'b'): Use else if.
|
||
|
||
Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
|
||
Arrange to include gansidecl.h in {ht}config.h & tm.h just
|
||
before the config/ directory headers.
|
||
(tm_file_list, host_xm_file_list, build_xm_file_list): Handle
|
||
gansidecl.h in the list of dependencies.
|
||
|
||
* Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
|
||
(TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
|
||
mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
|
||
gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
|
||
dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
|
||
cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
|
||
Likewise.
|
||
|
||
* cccp.c: Don't include gansidecl.h.
|
||
* cexp.y: Likewise.
|
||
* collect2.c: Likewise.
|
||
* config/c4x/c4x.c: Likewise.
|
||
* config/v850/v850.h: Likewise.
|
||
* cppalloc.c: Likewise.
|
||
* cpperror.c: Likewise.
|
||
* cppexp.c: Likewise.
|
||
* cppfiles.c: Likewise.
|
||
* cpphash.c: Likewise.
|
||
* cpplib.c: Likewise.
|
||
* cppmain.c: Likewise.
|
||
* cppulp.c: Likewise.
|
||
* demangle.h: Likewise.
|
||
* doprint.c: Likewise.
|
||
* dyn-string.c: Likewise.
|
||
* eh-common.h: Likewise.
|
||
* fix-header.c: Likewise.
|
||
* frame.c: Likewise.
|
||
* gcc.c: Likewise.
|
||
* gcov.c: Likewise.
|
||
* gen-protos.c: Likewise.
|
||
* gencheck.c: Likewise.
|
||
* halfpic.h: Likewise.
|
||
* hash.c: Likewise.
|
||
* machmode.h: Likewise.
|
||
* mbchar.c: Likewise.
|
||
* prefix.c: Likewise.
|
||
* protoize.c: Likewise.
|
||
* recog.h: Likewise.
|
||
* rtl.h: Likewise.
|
||
* scan-decls.c: Likewise.
|
||
* tree.h: Likewise.
|
||
* varray.h: Likewise.
|
||
|
||
Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.md (call_value_pop): If we're not popping anything,
|
||
defer to call_value.
|
||
(call_pop): Likewise defer to call.
|
||
|
||
Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (purge_addressof): Clear purge_addressof_replacements
|
||
only after processing the whole function.
|
||
|
||
Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (reload): If we can not perform a particular elimination
|
||
when we thought we could earlier, then we must always iterate through
|
||
the loop at least one more time.
|
||
|
||
Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (add_operand): Simplify the CONST_INT match.
|
||
(sext_add_operand): Correct typo in comparison by using
|
||
CONST_OK_FOR_LETTER_P.
|
||
* alpha.md (s?addq): Use sext_add_operand to allow the negative
|
||
constant alternatives to be generated.
|
||
(mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
|
||
small constants, since the hw instructions do.
|
||
|
||
Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
|
||
previous insn to store directly into our reload register, make sure
|
||
that if the source of the previous insn is a reload register, its
|
||
spill_reg_store and spill_reg_stored_to values are cleared.
|
||
|
||
Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (floatunssidf2_internal splitter): Use base register
|
||
operand, not hard-coded SP.
|
||
|
||
Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* jump.c (calculate_can_reach_end): Fix thinko.
|
||
|
||
Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (fill_simple_delay_slots): Fix typo.
|
||
|
||
* romp.h (LEGITIMIZE_ADDRESS): Fix typo.
|
||
|
||
Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
|
||
|
||
* i386.md (extendsidi2): Use # in the output template.
|
||
(extendsidi splitters): New splitters.
|
||
|
||
Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* configure.in: Use unknown-elf.h as tm_file for arm-elf
|
||
configurations.
|
||
* configure: Regenerate.
|
||
|
||
Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* jump.c (init_label_info, delete_barrier_successors,
|
||
mark_all_labels, delete_unreferenced_labels,
|
||
delete_noop_moves, calculate_can_reach_end): New functions broken
|
||
out of jump_optimize.
|
||
(jump_optimize): Use them.
|
||
|
||
Thu Nov 5 07:57:45 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.c (expand_fixup_region_end): Make sure outer context labels
|
||
are not issued in an inner context during cleanups.
|
||
|
||
Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (addsi3, subsi3): No new temporaries once cse is
|
||
no longer expected.
|
||
|
||
Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
|
||
to expose this midpoint to CSE.
|
||
|
||
Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
|
||
|
||
Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* configure.in: Bring over gcc2 change of Nov 19 1997.
|
||
|
||
Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* toplev.c (output_lang_identify): Make definition dependent on
|
||
ASM_IDENTIFY_LANGUAGE.
|
||
|
||
* print-rtl.c (spaces): Make static.
|
||
|
||
Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* extend.texi: Clarify proper uses for register clobbers in asms.
|
||
|
||
Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* recog.h (enum op_type): Define.
|
||
(constrain_operands): Adjust prototype.
|
||
(recog_op_type): Declare new variable.
|
||
* recog.c (recog_op_type): New variable.
|
||
(insn_invalid_p): Allow modifying an asm statement after reload.
|
||
(extract_insn): Set up recog_op_type.
|
||
(constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
|
||
Don't compute operand types, use recog_op_type.
|
||
Use the information computed by extract_insn instead of the previous
|
||
method of finding it by insn code number.
|
||
* caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
|
||
* reorg.c (fill_slots_from_thread): Likewise.
|
||
* reload1.c (reload_as_needed): Likewise.
|
||
(gen_reload): Likewise.
|
||
(inc_for_reload): Likewise.
|
||
(reload_cse_simplify_operands): Likewise.
|
||
Use the information computed by extract_insn instead of the previous
|
||
method of finding it by insn code number.
|
||
* genattrtab.c (write_attr_case): Generate call to extract_insn, not
|
||
insn_extract.
|
||
* final.c (final_scan_insn): Use extract_insn, not insn_extract.
|
||
(cleanup_operand_subregs): Use extract_insn, not insn_extract.
|
||
Use the information computed by extract_insn instead of the previous
|
||
method of finding it by insn code number.
|
||
* regmove.c (find_matches): Likewise. Change meaning of the return
|
||
value to be nonzero if the optimization can be performed, zero if
|
||
not. All callers changed.
|
||
Shorten some variable names to fix formatting problems.
|
||
(regmove_optimize): Shorten some variable names to fix formatting
|
||
problems.
|
||
Use the information computed by extract_insn instead of the previous
|
||
method of finding it by insn code number.
|
||
* regclass.c (scan_one_insn): Likewise.
|
||
(record_reg_classes): Don't compute operand types, use recog_op_type.
|
||
* reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
|
||
recog_constraints instead.
|
||
|
||
Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtl.h (flow2_completed): Declare.
|
||
* flow.c (flow2_completed): Definition.
|
||
* toplev.c (rest_of_compilation): Set and clear flow2_completed
|
||
as necessary.
|
||
|
||
Wed Nov 4 19:15:37 1998 Melissa O'Neill <oneill@cs.sfu.ca>
|
||
|
||
* Makefile.in (libcpp.a): Ranlib libcpp.a.
|
||
|
||
* cppulp.c (user_label_prefix): Initialize.
|
||
|
||
Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
|
||
|
||
* flow.c (mark_regs_live_at_end): Mark the stack pointer as live
|
||
at a RETURN if current_function_sp_is_unchanging is set.
|
||
|
||
Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* emit-rtl.c (try_split): Fixed error in Oct 10 patch.
|
||
|
||
Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
|
||
|
||
* i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
|
||
TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
|
||
(SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
|
||
(CPP_PREDEFINES): Don't define __CYGWIN32__ here.
|
||
(STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
|
||
(CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
|
||
to __CYGWIN32__.
|
||
(LIB_SPEC): Handle -mno-cygwin option.
|
||
(LINK_SPEC): Handle -mdll.
|
||
|
||
Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads): Fix test for usage by other reload
|
||
to handle secondary reloads properly.
|
||
|
||
Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
|
||
intermediate structure which has exactly the members provided by
|
||
ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
|
||
static intermediate structure.
|
||
|
||
(init_elim_table): Xmalloc() `reg_eliminate', and initialize it
|
||
from the intermediate structure. Do the same analogous fix in
|
||
the case where ELIMINABLE_REGS is not defined.
|
||
|
||
Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (SELECT_SECTION): Fix thinko.
|
||
|
||
Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (output_call_frame_info): Comments on last change.
|
||
|
||
Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (add_constant): When taking the address of an item in the
|
||
pool, get the mode of the item addressed.
|
||
|
||
* arm.c (final_prescan_insn case INSN): If an insn doesn't
|
||
contain a SET or a PARALLEL, don't consider it for conditional
|
||
execution.
|
||
|
||
Restore ABI compatibility for NetBSD.
|
||
* arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
|
||
arm.h.
|
||
(RETURN_IN_MEMORY): Likewise.
|
||
|
||
Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
|
||
|
||
* m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
|
||
(m32r_output_block_move): Rewrite bytes < 4 handling.
|
||
|
||
Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in: Call AC_FUNC_VFORK.
|
||
|
||
* collect2.c: Define VFORK_STRING as a printable string for
|
||
error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
|
||
defined, include vfork.h. If VMS is defined, define vfork()
|
||
appropriately. Remove vfork check on USG, we're using autoconf.
|
||
(collect_execute): Pass VFORK_STRING to fatal_perror instead of
|
||
checking locally what string to pass.
|
||
(scan_prog_file): Likewise.
|
||
(scan_libraries): Likewise.
|
||
|
||
* gcc.c: Remove vfork check on USG, we're using autoconf.
|
||
Besides, no calls to vfork/fork occur in this file.
|
||
|
||
* protoize.c: Likewise.
|
||
|
||
Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* configure.in (DEFAULT_LINKER): Renamed from LD.
|
||
(DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
|
||
(gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
|
||
* configure: Rebuilt.
|
||
|
||
Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* BUGS: Fix the regexp for `more' to find the appropriate node.
|
||
Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
|
||
|
||
* BUGS: Added link to the WWW FAQ.
|
||
|
||
Sun Nov 1 18:27:15 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* From Christian Gafton:
|
||
* i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
|
||
* sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
|
||
* sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
|
||
|
||
Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* c-common.c (c_get_alias_set): Allow all type-punning through
|
||
unions. Don't get confused about the type of a bit-field, despite
|
||
the antics of build_modify_expr.
|
||
|
||
Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
|
||
|
||
* fixinc.sco: Parameterize #include_next values.
|
||
* fixinc/fixinc.sco: Likewise.
|
||
|
||
Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (rest_of_compilation): No longer set reload_completed.
|
||
* reload1.c (reload): Set it here. Perform instruction splitting
|
||
after reload has completed if we will be running the scheduler
|
||
again.
|
||
|
||
Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (jump_optimize): Initialize mappings from INSN_UID to
|
||
EH region if exceptions are enabled and we're performing cross
|
||
jump optimizations.
|
||
(find_cross_jump): Exit loop if the insns are in different EH regions.
|
||
|
||
Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* dwarf2out.c (output_call_frame_info): Use
|
||
ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
|
||
|
||
Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
|
||
* c-common.c (check_format_info): Don't check for the 'x'
|
||
format character twice, instead check for 'x' and 'X'
|
||
|
||
Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (assembler features): Also make gas is configured if
|
||
we find it in the source tree.
|
||
|
||
Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.c (i386_comp_type_attributes): Compare whether the
|
||
attributes are defined, not their tree nodes.
|
||
|
||
Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* configure.in (gxx_include_dir): Bitten by autoconf quoting
|
||
characters. :-(
|
||
* configure: Rebuilt.
|
||
|
||
Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* configure.in: Ignore non-absolute value in $AS.
|
||
|
||
Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
|
||
|
||
* m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
|
||
|
||
Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
|
||
|
||
* configure.in (msdosdjgpp): Set exeext and target_alias.
|
||
|
||
Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* flow.c (XNMALLOC): New macro.
|
||
(flow_int_list_blocks, basic_block_succ, basic_block_pred): New
|
||
static variables.
|
||
(add_edge, add_edge_to_label): New static functions.
|
||
(free_bb_memory): New function.
|
||
(flow_delete_insn): Delete function.
|
||
(basic_block_drops_in): Delete variable.
|
||
(find_basic_blocks): Allocate and initialize basic_block_head,
|
||
basic_block_succ. Don't allocate basic_block_drops_in.
|
||
Call free_bb_memory at the beginning.
|
||
(find_basic_blocks_1): Don't do multiple passes.
|
||
Delete code to compute basic_block_drops_in.
|
||
After calling make_edges, mark blocks reached by current block live.
|
||
Update test for unreachable live blocks.
|
||
(mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
|
||
changed.
|
||
Simplify to call add_edge_to_label when a LABEL_REF is found.
|
||
(make_edges): Simplify to call add_edge_to_label instead of
|
||
mark_label_ref most of the time.
|
||
Compute here whether control drops into the next block.
|
||
(delete_unreachable_blocks): Return void. All callers changed.
|
||
Delete unreachable blocks in reverse order.
|
||
After deleting all unreachable blocks, renumber the remaining ones
|
||
and update n_basic_blocks.
|
||
(delete_block): Speed up deletion a bit.
|
||
Don't set basic_block_drops_in for deleted blocks.
|
||
(free_basic_block_vars): Don't free basic_block_drops_in.
|
||
(life_analysis_1): Update to use new edge representation.
|
||
(dump_flow_info): Delete code to print basic block info; call
|
||
dump_bb_data instead.
|
||
(compute_preds_succs): Delete code to recompute basic_block_drops_in
|
||
and uid_block_number.
|
||
Simply copy the previously computed cfg.
|
||
(dump_bb_data): New arg LIVE_INFO. All callers changed.
|
||
Print register lifetime information if LIVE_INFO is nonzero.
|
||
* basic-block.h (dump_bb_data): Adjust prototype.
|
||
* gcse.c (gcse_main): Update call to dump_bb_data.
|
||
* rtl.h (free_bb_memory): Declare.
|
||
* toplev.c (rest_of_compilation): Call free_bb_memory.
|
||
|
||
* reload1.c (struct elim_table): Delete MAX_OFFSET member.
|
||
(update_eliminable_offsets): Don't compute it.
|
||
(set_initial_elim_offsets): Don't initialize it.
|
||
Break out some code into set_initial_label_offsets so the rest of
|
||
this function can be called from reload_as_needed.
|
||
Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
|
||
ELIMINABLE_REGS isn't.
|
||
(set_initial_label_offsets): New function, broken out of
|
||
set_initial_elim_offsets.
|
||
(set_offsets_for_label): New function, broken out of set_label_offsets
|
||
and reload_as_needed.
|
||
(reload): Call the two new functions.
|
||
(reload_as_needed): Call set_initial_elim_offsets instead of
|
||
duplicating the code. Likewise for set_offsets_for_label.
|
||
|
||
* reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
|
||
(emit_reload_insns): Ensure that when we set reg_reloaded_valid for
|
||
any hard reg, reg_reloaded_dead contains valid data.
|
||
|
||
Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
|
||
|
||
* i386.c (i386_comp_type_attributes): Return nonzero for mismatched
|
||
"stdcall" and "cdecl" attributes.
|
||
|
||
Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sched.c (update_flow_info): Add code to ! found_orig_dest case to
|
||
handle deleted no-op moves of hard registers.
|
||
* haifa-sched.c (update_flow_info): Likewise.
|
||
|
||
Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
|
||
of the sequences to reload the HILO register which do not actually
|
||
reference HILO.
|
||
|
||
Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
|
||
|
||
Thu Oct 29 14:10:22 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.c (emit_eh_context): Make the EH context register stay alive
|
||
at -O0 so stupid.c doesn't get confused.
|
||
|
||
1998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* emit-rtl.c (try_split): Do not try to split a BARRIER.
|
||
|
||
Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
|
||
(zero_extendsidi2): Use # in output template and handle completely by
|
||
splits.
|
||
(zero_extend splitters): New define_splits.
|
||
(ashiftrt_32): New pattern.
|
||
|
||
Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.c (append_random_chars): New fn.
|
||
(get_file_function_name_long): Use it.
|
||
|
||
Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
|
||
(LIBCPP_OBJS): New. Add cppulp.o.
|
||
(cppmain, fix-header): Depend on and use libcpp.a.
|
||
* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
|
||
of the individual object files.
|
||
* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
|
||
last.
|
||
|
||
* cccp.c (user_label_prefix): New.
|
||
(main): Set it off -f*leading-underscore.
|
||
(special_symbol): Use it.
|
||
* cpplib.c (special_symbol): Likewise.
|
||
(cpp_handle_option): Handle -f*leading-underscore.
|
||
* cppulp.c: New file.
|
||
|
||
* output.h (user_label_prefix): Declare it.
|
||
* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
|
||
* toplev.c (f_options, main): Handle -f*leading-underscore.
|
||
|
||
* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
|
||
referencing USER_LABEL_PREFIX directly.
|
||
* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
|
||
* final.c (asm_fprintf): Use user_label_prefix instead.
|
||
* arm/thumb.c (thumb_print_operand): Likewise.
|
||
|
||
* gcc.c (default_compilers): Pass -f*leading-underscore on to
|
||
cpp wherever appropriate.
|
||
|
||
Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
|
||
specific compiler switches.
|
||
|
||
Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
|
||
of rtl.h.
|
||
|
||
Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
|
||
structure which has exactly the members provided by EXTRA_SPECS.
|
||
Xmalloc() the real `extra_specs', and initialize it from this
|
||
intermediate structure.
|
||
|
||
* alpha.h (EXTRA_SPECS): Revert change for missing initializers.
|
||
|
||
* mips.h (EXTRA_SPECS): Likewise.
|
||
|
||
* sparc.h (EXTRA_SPECS): Likewise.
|
||
|
||
Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* function.c (purge_addressof_1): Instead of aborting when a
|
||
bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
|
||
work just put the ADDRESSOF on stack. Otherwise remember all such
|
||
successful replacements, so that exactly the same replacements
|
||
can be made on the REG_NOTEs. Remove the special case for CALL
|
||
insns again.
|
||
(purge_addressof_replacements): New variable.
|
||
(purge_addressof): Clear it at end.
|
||
|
||
1998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
|
||
(lang_init): Call check_newline always.
|
||
* c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
|
||
cpp_start_read, set yy_cur and yy_lim to read from
|
||
parse_in.token_buffer, so that we'll see the first #line
|
||
directive.
|
||
* cpplib.c (cpp_start_read): finclude the main input file
|
||
before processing -include/-imacros. Process -imacros and
|
||
-include separately, and handle -include by stacking a
|
||
buffer for the file in question as if it'd been #included.
|
||
* toplev.c (documented_lang_options): Recognize -H when
|
||
USE_CPPLIB is on.
|
||
|
||
1998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.c: Merge do_once into do_pragma. Break file handling
|
||
code out of do_include.
|
||
Move append_include_chain, deps_output,
|
||
file_cleanup, redundant_include_p, import_hash,
|
||
lookup_import, add_import, read_filename_string, read_name_map,
|
||
open_include_file, finclude, safe_read to cppfiles.c.
|
||
Move prototypes for deps_output, append_include_chain,
|
||
finclude to cpplib.h. Move definition of struct
|
||
file_name_list there also.
|
||
|
||
* cppfiles.c: New file. Contains all the above functions
|
||
broken out of cpplib.c; also hack_vms_include_specification
|
||
from cccp.c and find_include_file, a new function broken out of
|
||
do_include.
|
||
|
||
* Makefile.in (cppmain): Depend on cppfiles.o.
|
||
(fix-header): Likewise.
|
||
(cppfiles.o): New target.
|
||
* configure.in (--enable-c-cpplib): Add cppfiles.o to
|
||
extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
|
||
|
||
Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
|
||
if pending_types is nonzero.
|
||
(dwarfout_finish): Verify pending_types is zero before finishing.
|
||
|
||
Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* expr.c (convert_move): Use shifts to perform the move if a
|
||
suitable extend pattern cannot be found. Code written by
|
||
Richard Henderson <rth@cygnus.com>.
|
||
|
||
Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* regclass.c (renumber, regno_allocated): New static variables, moved
|
||
out of allocate_reg_info.
|
||
(allocate_reg_info): Move these two variables outside the function.
|
||
Move code to free memory into new function free_reg_info.
|
||
(free_reg_info): New function, broken out of allocate_reg_info.
|
||
* toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
|
||
* rtl.h (allocate_reg_info): Don't declare.
|
||
(free_reg_info): Declare.
|
||
|
||
* final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
|
||
|
||
Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (compile_file): Temporarily revert last change.
|
||
|
||
Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-typeck.c (convert_for_assignment): Parenthesize.
|
||
|
||
1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* reload1.c (delete_output_reload): Avoid ambigous else.
|
||
|
||
Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (compile_file): Call allocate_reg_info to free register
|
||
table memory.
|
||
* rtl.h (allocate_reg_info): Declare.
|
||
|
||
* PROJECTS: Remove entry for local spilling.
|
||
|
||
* final.c (cleanup_subreg_operands): New function.
|
||
(final_scan_insn): Use it.
|
||
(alter_subreg): Clear the "used" field when we turn a SUBREG into
|
||
a REG.
|
||
* reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
|
||
operands when reload has finished.
|
||
* reload.h (cleanup_subreg_operands): Declare..
|
||
* flow.c (life_analysis_1): No longer delete CLOBBER insns after
|
||
reload. Handled in reload itself.
|
||
|
||
Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload1.c (verify_initial_offsets): New function.
|
||
(reload): Call it after reload_as_needed. Also verify that the frame
|
||
size stays constant during reload_as_needed.
|
||
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
|
||
|
||
* reload.h (struct insn_chain): Add need_operand_change element.
|
||
* reload1.c (new_insn_chain): Clear it.
|
||
(calculate_needs_all_insns): Set it; don't overload need_reload.
|
||
(reload_as_needed): Use it.
|
||
|
||
* reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
|
||
reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
|
||
and reload_address_index_reg_class.
|
||
(find_reloads_address_1): Likewise.
|
||
* reload.h (reload_address_base_reg_class,
|
||
reload_address_index_reg_class): Don't declare.
|
||
* reload1.c (reg_old_renumber, pseudo_previous_regs,
|
||
pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
|
||
(used_spill_regs): Now static.
|
||
(reload_address_base_reg_class, reload_address_index_reg_class,
|
||
regs_explicitly_used, counted_for_groups, counted_for_nongroups,
|
||
basic_block_needs, max_needs, group_size, group_mode, max_groups,
|
||
max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
|
||
forbidden_regs):
|
||
Deleted variables.
|
||
(init_reload): Delete code to compute base/index reg classes.
|
||
(reload): Delete variable J.
|
||
Delete code to manage basic_block_needs.
|
||
Don't compute regs_explicitly_used.
|
||
Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
|
||
pseudo_previous_regs.
|
||
Initialize bad_spill_regs_global.
|
||
Don't call order_regs_for_reload here.
|
||
Don't initialize spill_reg_order and n_spills.
|
||
Don't forbid explicitly used regs to be used for spill regs.
|
||
Change main loop to infinite loop, with explicit break statements.
|
||
Make SOMETHING_CHANGED variable local to that loop.
|
||
Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
|
||
max_groups_insn, max_nongroups_insn, group_size, group_mode.
|
||
Make sure spilled_pseudos is cleared before calling spill_hard_reg or
|
||
new_spill_reg.
|
||
Don't call dump_needs.
|
||
Delete code to reset potential_reload_regs.
|
||
Delete code to terminate loop conditional on the global needs variables
|
||
showing no further needs.
|
||
(calculate_needs_all_insns): Return void. All callers changed.
|
||
Initialize something_needs_elimination here, not in reload.
|
||
Delete avoid_return_reg kludge.
|
||
(calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
|
||
All callers changed.
|
||
Initialize the group_mode and group_size elements of the arg CHAIN.
|
||
Delete code to manage basic_block_needs.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
Delete avoid_return_reg kludge.
|
||
(find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
|
||
All callers changed.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
Delete special SMALL_REGISTER_CLASSES code.
|
||
Delete spill_failure code; now in new_spill_reg.
|
||
(find_group): Lose GLOBAL arg, take CHAIN arg, return void.
|
||
All callers changed.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
(maybe_mark_pseudo_spilled): New static function.
|
||
(find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
|
||
All callers changed.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
Call order_regs_for_reload here, not in reload.
|
||
Initialize spill_reg_order and n_spills.
|
||
Simplify test whether an asm insn is involved.
|
||
Delete spill_failure code; now in new_spill_reg.
|
||
Call maybe_mark_pseudo_spilled for everything marked as live in
|
||
CHAIN. Merge CHAIN's used_spill_regs into the global variable
|
||
used_spill_regs.
|
||
(dump_needs): Take CHAIN arg. No longer static, to prevent the
|
||
compiler from optimizing this function (now unused) away.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
(possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
|
||
changed.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
(count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
|
||
take CHAIN arg. All callers changed.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
(new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
|
||
CHAIN, NONGROUP args. Return void. All callers changed.
|
||
Verify caller isn't trying to spill a pseudo.
|
||
Simplify test for illegal reg, just use bad_spill_regs.
|
||
Generate better error messages.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
Mark spilled register in CHAIN's used_spill_regs element.
|
||
Don't call spill_hard_reg.
|
||
(spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
|
||
Mark spilled hard regs in bad_spill_regs_global.
|
||
Mark affected pseudos in spilled_pseudos, but don't spill them.
|
||
(ior_hard_reg_set): New static function.
|
||
(finish_spills): Return int. All callers changed.
|
||
Compute spill_reg_order, n_spills and spill_regs here. Also update
|
||
regs_ever_live for regs used as spills.
|
||
For every pseudo in spilled_pseudos, spill it and mark the previous
|
||
hard reg it had in pseudo_previous_regs. Compute which hard regs
|
||
are used as spills in insns during which it is live, and retry global
|
||
register allocation. Update all life information in the
|
||
reload_insn_chain not to include pseudos without hard regs.
|
||
Call alter_reg for all affected speudos.
|
||
|
||
(scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
|
||
case, it's not clear what it's supposed to do.
|
||
|
||
(hard_reg_use_compare): Take bad_spill_regs into account.
|
||
(pseudos_counted): New static variable.
|
||
(count_pseudo): New static function.
|
||
(order_regs_for_reload): Take CHAIN arg. All callers changed.
|
||
Initialize bad_spill_regs from bad_spill_regs_global, then merge any
|
||
hard registers explicitly used across the current insn into the set.
|
||
Compute hard_reg_n_uses taking only pseudos live across this insn
|
||
into account.
|
||
Tweak sorting of potential_reload_regs.
|
||
(compare_spill_regs): Delete function.
|
||
(reload_as_needed): Don't sort the spill_regs array, it's computed
|
||
in proper order in finish_spills.
|
||
Delete avoid_return_reg kludge.
|
||
Delete code to manage basic_block_needs.
|
||
(allocate_reload_reg): Minor speed/readability tweaks.
|
||
Operate on elements of CHAIN instead of global variables.
|
||
(choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
|
||
Delete avoid_return_reg kludge.
|
||
Initialize reload_reg_used from CHAIN's used_spill_regs element.
|
||
Delete unused label FAIL.
|
||
(reload_combine): Replace reload_address_index_reg_class with
|
||
INDEX_REGS.
|
||
Don't use used_spill_regs to determine information about lifetime of
|
||
hard regs.
|
||
|
||
Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c (display_help): Ignore empty target specific
|
||
options, and if -W is also specified on the command line then
|
||
display undocumented options.
|
||
|
||
* config/arm/arm.c: Updated with changes in devo sources.
|
||
* config/arm/arm.h: Updated with changes in devo sources.
|
||
* config/arm/lib1funcs.asm: Updated with changes in devo sources.
|
||
* config/arm/lib1thumb.asm: Add ELF support.
|
||
|
||
Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* collect2.c (aix64_flag): New variable.
|
||
(main, case 'b'): Parse it.
|
||
(GCC_CHECK_HDR): Object magic number must match mode.
|
||
(scan_prog_file): Only check for shared object if valid header.
|
||
Print debugging if header/mode mismatch.
|
||
|
||
Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
Added support for arm-elf-linux configuration, submitted by Philip
|
||
Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
|
||
code developed by Catherine Moore <clm@cygnus.com>. The following
|
||
files are affected:
|
||
|
||
* configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
|
||
targets.
|
||
|
||
* configure: Regenerated.
|
||
|
||
* config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
|
||
USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
|
||
definitions conditional on their not having been already defined.
|
||
|
||
* config/arm/lin1funcs.asm: Add ELF only macros to generate .size
|
||
and .type directives, and add "(PLT)" qualification to function
|
||
calls.
|
||
|
||
* config/arm/linux.h: Deleted. This file is now superseded by
|
||
either linux-elf.h or linux-aout.h.
|
||
|
||
* config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
|
||
(CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
|
||
support).
|
||
Move definitions from old linux.h file here.
|
||
|
||
* config/arm/elf.h: New file. Generic ARM/ELF support.
|
||
|
||
* config/arm/linux-aout.h: New file. Support for Linux with a.out.
|
||
|
||
* config/arm/linux-elf.h: New file. Support for Linux with ELF.
|
||
|
||
* config/arm/linux-elf26.h: New file. Support for Linux with ELF
|
||
using the 26bit APCS.
|
||
|
||
* config/arm/unknown-elf.h: New file. Support for OS'es other
|
||
than Linux with ELF.
|
||
|
||
* config/arm/t-arm-elf: New file. makefile fragment for arm-elf
|
||
builds.
|
||
|
||
* config/arm/coff.h: Include aout.h for basic assembler macros.
|
||
Add support for -mstructure_size_boundary=<n> command line option.
|
||
|
||
* config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
|
||
command line option. Make macro definitions conditional on their
|
||
not having been already defined.
|
||
|
||
* config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
|
||
command line option.
|
||
|
||
|
||
Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
|
||
has been changed to not include a newline. Use this macro instead.
|
||
(output_enumeral_list, const_value_attribute, name_attribute,
|
||
comp_dir_attribute, prototyped_attribute, producer_attribute,
|
||
inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
|
||
dwarfout_file_scope_decl, generate_new_sfname_entry,
|
||
generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
|
||
ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
|
||
|
||
Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (subst): Process the inputs to a parallel asm_operands
|
||
only once.
|
||
|
||
Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
|
||
|
||
Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
|
||
|
||
Mon Oct 26 00:36:58 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* stmt.c (expand_fixup): Set fixup->before_jump to a
|
||
NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
|
||
|
||
Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (recog.o): Depend on toplev.h.
|
||
(insn-emit.o): Depend on recog.h.
|
||
(insn-peep.o): Depend on recog.h and insn-config.h.
|
||
|
||
* combine.c (simplify_set): Remove unused variable `scratches'.
|
||
|
||
* final.c (final_scan_insn): Wrap declaration of variables `vlen'
|
||
and `idx' in macro conditional controlling their use.
|
||
|
||
* genemit.c (main): Make the generated output file include
|
||
recog.h. Don't have it declare `insn_operand_constraint', since
|
||
we get it from recog.h.
|
||
|
||
* genpeep.c (main): Make the generated output file include
|
||
insn-config.h and recog.h.
|
||
|
||
* recog.c: Include toplev.h.
|
||
(extract_insn): Remove unused variable `p'.
|
||
|
||
* regclass.c (fix_register): Add missing braces around initializer
|
||
for `what_option'.
|
||
(allocate_reg_info): Move variable `i' into the scope where it is
|
||
used. Change its type to `size_t'.
|
||
|
||
Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload.c (push_reload): When merging reloads, make sure
|
||
that reload_in_reg and reload_in are from the same reload in
|
||
all cases.
|
||
|
||
Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/crtdll.h (CPP_PREDEFINES): Fix typo.
|
||
* i386/mingw32.h (CPP_PREDEFINES): Likewise.
|
||
|
||
Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* loop.c (loop_has_tablejump): New variable.
|
||
(prescan_loop): Scan for it.
|
||
(insert_bct): Replace explicit scan with use of it.
|
||
* regclass.c (regclass): Restore loop variable j.
|
||
(record_reg_classes): Deterine op_types modifiers and initialize
|
||
classes[i] before matching constraints. Handle matching
|
||
constraints 5-9.
|
||
|
||
Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
|
||
subreg support.
|
||
|
||
Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips.h (EXTRA_SPECS): Add missing initializers.
|
||
|
||
Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* sparc.h (EXTRA_SPECS): Add missing initializers.
|
||
(sparc_defer_case_vector): Provide a prototype.
|
||
|
||
* svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
|
||
comparing it to the result of a pointer subtraction.
|
||
|
||
Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
|
||
the argument to (unsigned char).
|
||
|
||
* alpha.h (EXTRA_SPECS): Add missing initializers.
|
||
(ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
|
||
format specifier.
|
||
|
||
Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (life_analysis_1): Enable "rescan" code after reload.
|
||
(propagate_block): Delete dead code after reload.
|
||
|
||
* sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
|
||
back Oct 15, 1998 change.
|
||
* haifa-sched.c (update_flow_info): Likewise.
|
||
* flow.c (life_analysis_1): Delete CLOBBER insns after reload.
|
||
|
||
* mn10200.md (truncated shift): Accept constant inputs too.
|
||
|
||
Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* machmode.h (mode_mask_array): No longer const.
|
||
* rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
|
||
|
||
Fri Oct 23 11:19:06 1998 Martin v. Löwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* frame.c: Somewhat explain `FDE'.
|
||
Suggested by Brendan Kehoe
|
||
|
||
Fri Oct 23 00:56:11 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* expr.c (pending_chain): Move up.
|
||
(save_expr_status): Do save pending_chain.
|
||
(restore_expr_status): And restore it.
|
||
* function.h (struct function): Add pending_chain.
|
||
|
||
1998-10-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
|
||
did not match the code.
|
||
|
||
Fri Oct 23 00:07:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* regclass.c (regclass): Break out some code into new function
|
||
scan_one_insn, and into regclass_init.
|
||
(init_cost): New static variable, moved out of regclass.
|
||
(regclass_init): Initialize it here, not in .
|
||
(scan_one_insn): New static function, broken out of regclass.
|
||
* recog.c (apply_change_group): Break out some code into new
|
||
function insn_invalid_p.
|
||
(insn_invalid_p): New static fn, broken out of apply_change_group.
|
||
|
||
Thu Oct 22 22:34:42 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload1.c (reload_as_needed): When rewrite POST_INC, verify
|
||
reg_reloaded_contents matches incremented pseudo.
|
||
|
||
* v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support.
|
||
|
||
Fri Oct 23 11:11:56 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
|
||
addressing modes with side effects. These are currently
|
||
placeholders for the C4x target.
|
||
|
||
Thu Oct 22 16:46:35 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* loop.c (express_from): Make sure that when generating a PLUS of
|
||
a PLUS, any constant expression appears on the outermost PLUS.
|
||
|
||
Thu Oct 22 15:46:23 1998 Per Bothner (bothner@cygnus.com)
|
||
|
||
* Makefile.in (distdir-cvs, distdir-start): Clean up so it
|
||
works if "$(srcdir)" != ".".
|
||
|
||
Wed Oct 21 19:23:59 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): If need to add a SUBREG, then remove
|
||
existing SUBREG if we can, otherwise abort.
|
||
|
||
Wed Oct 21 09:58:51 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* c-common.c (c_apply_type_quals_to_decl): Don't crash when
|
||
`restrict' is applied to a non-pointer variable.
|
||
|
||
Wed Oct 21 09:18:58 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* invoke.texi: Document -flang-isoc9x.
|
||
|
||
* Makefile.in (OBJS): Add splay-tree.o.
|
||
(c-common.o): Depend on rtl.h.
|
||
(splay-tree.o): List dependencies and provide build rule.
|
||
|
||
* rtl.h (record_alias_subset): New function.
|
||
* alias.c: Include splay-tree.h.
|
||
(alias_set_entry): New type.
|
||
(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
|
||
(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
|
||
(mems_in_disjoin_alias_sets_p): New function.
|
||
(alias_set_compare): Likewise.
|
||
(insert_subset_children): Likewise.
|
||
(get_alias_set_entry): Likewise.
|
||
|
||
* tree.h (TYPE_RESTRICT): New macro.
|
||
(TYPE_UNQUALIFIED): New manifest constant.
|
||
(TYPE_QUAL_CONST): Likewise.
|
||
(TYPE_QUAL_VOLATILE): Likewise.
|
||
(TYPE_QUAL_RESTRICT): Likewise.
|
||
(tree_type): Add restrict_flag. Reduce count of free bits.
|
||
(DECL_POINTER_ALIAS_SET): New macro.
|
||
(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
|
||
(tree_decl): Add pointer_alias_set.
|
||
(build_qualified_type): New function.
|
||
(build_type_variant): Define in terms of build_qualified_type.
|
||
* tree.c (set_type_quals): New function.
|
||
(make_node): Initialize DECL_POINTER_ALIAS_SET.
|
||
(build_type_attribute_variant): Use build_qualified_type and
|
||
set_type_quals.
|
||
(build_type_variant): Rename, and modify, to become...
|
||
(build_qualified_type): New function.
|
||
(build_complex_type): Use set_type_quals.
|
||
|
||
* c-tree.h (C_TYPE_OBJECT_P): New macro.
|
||
(C_TYPE_FUNCTION_P): Likewise.
|
||
(C_TYPE_INCOMPLETE_P): Likewise.
|
||
(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
|
||
(c_apply_type_quals_to_decl): New function.
|
||
(c_build_qualified_type): New function.
|
||
(c_build_type_variant): Define in terms of c_build_qualified_type.
|
||
(flag_isoc9x): Declare.
|
||
* c-typeck.c (qualify_type): Use c_build_qualified_type.
|
||
(common_type): Change to use TYPE_QUALS.
|
||
(comptypes): Likewise.
|
||
(convert_for_assignment): Likewise.
|
||
* c-aux-info.c (gen_type): Likewise. Deal with `restrict'.
|
||
* c-decl.c (flag_isoc9x): Define.
|
||
(c_decode_option): Handle -flang-isoc9x.
|
||
(grokdeclarator): Update to handle restrict. Use TYPE_QUALS,
|
||
c_build_qualified_type, etc. Use c_apply_type_quals_to_decl.
|
||
* c-lex.c (init_lex): Deal with restrict.
|
||
(init_lex): Don't treat restrict as a reserved word in
|
||
-traditional mode, or without -flang-isoc9x.
|
||
* c-lex.h (rid): Add RID_RESTRICT.
|
||
* c-parse.gperf (restrict, __restrict, __restrict__): Make
|
||
equivalent to RID_RESTRICT.
|
||
* c-parse.in (TYPE_QUAL): Update comment.
|
||
* c-common.c: Include rtl.h.
|
||
(c_find_base_decl): New function.
|
||
(c_build_type_variant): Rename, and modify, to become ...
|
||
(c_build_qualified_type): New function.
|
||
(c_apply_type_quals_to_decl): Likewise.
|
||
(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
|
||
a particular alias set for the reference.
|
||
* toplev.c (documented_lang_options): Add -flang-isoc9x.
|
||
|
||
Wed Oct 21 09:15:06 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h (TARGET_SWITCHES): Document arm specific
|
||
command line switches.
|
||
|
||
Tue Oct 20 10:04:51 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* reload.c (loc_mentioned_in_p): Add missing braces to bind
|
||
else to correct if.
|
||
|
||
Mon Oct 19 16:34:05 1998 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* gcc.c (option_map): Added --classpath and --CLASSPATH.
|
||
|
||
Tue Oct 20 10:59:02 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* regclass.c (fix_register): Add error message.
|
||
* invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
|
||
new error message.
|
||
|
||
Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-decl.c (warn_missing_noreturn): New global variable.
|
||
(c_decode_option): Check for new flags -W{no-}missing-noreturn.
|
||
(finish_function): Implement missing noreturn warning.
|
||
|
||
* c-tree.h (warn_missing_noreturn): Declare extern.
|
||
|
||
* invoke.texi: Document new flags.
|
||
|
||
* toplev.c (documented_lang_options): Add description.
|
||
|
||
Tue Oct 20 22:16:11 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
|
||
loop optimization stable for the C4x.
|
||
(c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
|
||
c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
|
||
c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
|
||
loop optimization).
|
||
(c4x_address_conflict): Be more paranoid when packing a volatile
|
||
memref in a parallel load/store.
|
||
|
||
Tue Oct 20 21:56:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.md (repeat_block_top, repeat_block_end,
|
||
repeat_block_filler): Deleted.
|
||
(*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
|
||
Condition code not set if destination register from 'c' class.
|
||
(*subbqi3_carry_clobber): Fix typo.
|
||
|
||
1998-10-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* reorg.c (steal_delay_list_from_target): Check for insns that
|
||
modify the condition codes and effect the direction of the jump
|
||
in the sequence.
|
||
|
||
Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* function.c (purge_addressof_1): Replace call to
|
||
emit_insns_before() with emit_insn_before().
|
||
|
||
Mon Oct 19 19:34:03 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
|
||
|
||
Mon Oct 19 13:26:24 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* jump.c (sets_cc0_p): Compile only if HAVE_cc0.
|
||
|
||
Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcse.c (compute_hash_table): Correctly identify hard regs which are
|
||
clobbered across calls.
|
||
|
||
* loop.c (scan_loop): Be more selective about what invariants are
|
||
moved out of a loop.
|
||
|
||
Mon Oct 19 10:46:58 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* libgcc2.c (eh_context_static): Do not call malloc to allocate the
|
||
static eh_context structure.
|
||
|
||
Mon Oct 19 10:45:40 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg. All
|
||
callers changed.
|
||
(try_combine): Don't update max_scratch.
|
||
* flow.c (max_scratch, num_scratch): Delete variables.
|
||
(life_analysis_1): Don't initialize max_scratch.
|
||
(propagate_block): Don't update max_scratch.
|
||
(mark_set_1): Don't increment num_scratch.
|
||
* regs.h (max_scratch): Delete declaration.
|
||
|
||
Mon Oct 19 10:28:15 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (reload_reg_free_before_p): Hack. Return 0 if EQUIV
|
||
is nonzero. This is temporary!
|
||
|
||
* sched.c (update_flow_info): Handle death notes made invalid by
|
||
instruction splitting. Partially reverts Oct 15, 1998 patch.
|
||
* haifa-sched.c (update_flow_info): Likewise.
|
||
|
||
Sun Oct 18 17:31:26 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
|
||
if it has a nonzero DECL_INITIAL.
|
||
|
||
Sat Oct 17 23:18:08 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (flow.o): Depend on recog.h.
|
||
|
||
* cpplib.h (directive_table): Add missing initializiers.
|
||
(finclude): Change type of variable `bsize' to size_t.
|
||
|
||
* cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
|
||
|
||
* dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
|
||
|
||
* fix-header.c (lookup_std_proto): Cast the result of `strlen' to
|
||
`int' when comparing against one.
|
||
(cpp_file_line_for_message): Mark parameter `pfile' with
|
||
ATTRIBUTE_UNUSED.
|
||
(cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
|
||
|
||
* flow.c: Include recog.h.
|
||
(sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
|
||
|
||
* function.c (thread_prologue_and_epilogue_insns): Mark parameter
|
||
`f' with ATTRIBUTE_UNUSED.
|
||
(reposition_prologue_and_epilogue_notes): Likewise.
|
||
|
||
* genopinit.c (gen_insn): Cast argument of ctype functions to
|
||
`unsigned char'.
|
||
|
||
* haifa-sched.c: Include recog.h.
|
||
(blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
|
||
comparing against one.
|
||
|
||
* libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
|
||
|
||
* mips-tfile.c (parse_end): Cast the argument of ctype function to
|
||
`unsigned char'.
|
||
(parse_ent): Likewise.
|
||
(parse_input): Likewise.
|
||
|
||
* optabs.c (init_libfuncs): Likewise.
|
||
|
||
* protoize.c (find_rightmost_formals_list): Likewise.
|
||
|
||
* recog.h (const_double_operand): Fix typo in prototype.
|
||
|
||
* tlink.c (scan_linker_output): Cast the argument of ctype
|
||
function to `unsigned char'.
|
||
|
||
* toplev.c (check_lang_option): Cast the result of `strlen' to
|
||
`int' when comparing against one.
|
||
|
||
Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* gcse.c (dump_cuid_table): Correct typo.
|
||
|
||
Sat Oct 17 11:02:47 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c (display_help): Prepend '-m' to target specific
|
||
options.
|
||
(check_lang_option): Ignore text after end of first word of a
|
||
language specific option.
|
||
|
||
Sat Oct 17 02:26:03 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload1.c (reg_used_by_pseudo): New static variable.
|
||
(choose_reload_regs): Initialize it.
|
||
Use it instead of testing spill_reg_order to determine whether a
|
||
pseudo is live in a hard register across the current insn.
|
||
Fix a typo in a reference to reload_reg_rtx.
|
||
|
||
* flow.c (propagate_block): Replace code that computes and uses
|
||
regs_sometimes_live with simpler code that just walks the set of
|
||
currently live registers.
|
||
|
||
* Makefile.in (insn-extract.o): Fix dependencies.
|
||
* genextract.c (main): Generate includes for insn-config.h and
|
||
recog.h.
|
||
Delete generation of declarations which are now in recog.h.
|
||
* genrecog.c (main): Delete generation of definitions which are
|
||
now in recog.c.
|
||
* local-alloc.c (block_alloc): Use extract_insn and the variables
|
||
it sets up instead of looking up values by insn_code.
|
||
* recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
|
||
recog_dup_num): Define here instead of generating the definition in
|
||
genrecog.c.
|
||
(recog_n_operands, recog_n_dups, recog_n_alternatives,
|
||
recog_operand_mode, recog_constraints, recog_operand_address_p):
|
||
New variables.
|
||
(extract_insn): New function.
|
||
* recog.h (extract_insn): Declare function.
|
||
(which_alternative, recog_n_operands, recog_n_dups,
|
||
recog_n_alternatives, recog_operand_mode, recog_constraints,
|
||
recog_operand_address_p): Declare variables.
|
||
* regclass.c (n_occurrences): New static function.
|
||
* reload.c (n_occurrences): Delete function.
|
||
(find_reloads): Use extract_insn.
|
||
* reload.h (n_occurrences): Delete declaration.
|
||
|
||
Sat Oct 17 01:17:51 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c (reload_as_needed): Fix test for when to call
|
||
update_eliminable_offsets.
|
||
|
||
Fri Oct 16 20:40:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
Fix consistency problems with reg_equiv_{mem,address};
|
||
Improve reload inheritance;
|
||
|
||
* reload.c (reload_out_reg): New variable.
|
||
(loc_mentioned_in_p, remove_address_replacements): New functions.
|
||
(remove_replacements): Deleted.
|
||
(push_reload): Set reload_out_reg[i].
|
||
When merging, also set reload_{in,out}_reg[i], and remove
|
||
duplicate address reloads.
|
||
(combine_reloads): Copy reload_out_reg[i].
|
||
(find_reloads): Do make_memloc substitution also when
|
||
reg_equiv_memory_loc[regno] and num_not_at_initial_offset
|
||
are both nonzero.
|
||
Include *recog_operand_loc in commutativity operand changes.
|
||
Generate optional output reloads.
|
||
Delete reference to n_memlocs. Don't set *recog_operand_loc before
|
||
processing operands. Call make_memloc in reg_equiv_address code.
|
||
Set *recog_operand_loc only after processing operands, and only
|
||
if replace is true. Return a value.
|
||
When changing address reload types for operands that didn't get
|
||
reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
|
||
RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
|
||
Don't emit USEs for pseudo SUBREGs when not replacing.
|
||
(find_reloads_address): Do make_memloc substitution also when
|
||
reg_equiv_memory_loc[regno] and num_not_at_initial_offset
|
||
are both nonzero.
|
||
(find_reloads_toplev): Likewise.
|
||
Call make_memloc in reg_equiv_address code.
|
||
(debug_reload_to_stream): Add code to output reload_out_reg.
|
||
(make_memloc): Delete local variable i, ifdefed out code, and
|
||
references to memlocs and n_memlocs.
|
||
(memlocs, n_memlocs): Delete.
|
||
(push_secondary_reload): Clear reload_out_reg.
|
||
(find_reloads_address_1): Provide memrefloc argument to all calls
|
||
to find_reloads_address.
|
||
In AUTO_INC code, handle non-directly addressable equivalences properly.
|
||
* reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
|
||
(find_reloads): Add return type.
|
||
(remove_address_replacements, deallocate_reload_reg): Declare.
|
||
* reload1.c (num_not_at_initial_offset): No longer static.
|
||
(delete_address_reloads, delete_address_reloads_1): Likewise.
|
||
(deallocate_reload_reg): New function.
|
||
(spill_reg_stored_to): New array.
|
||
(eliminate_regs): Don't substitute from reg_equiv_memory_loc.
|
||
(eliminate_regs_in_insn): Move assignments of previous_offset and
|
||
max_offset fields, and recalculation of num_not_at_initial_offset
|
||
into new static function:
|
||
(update_eliminable_offsets) .
|
||
(reload_as_needed): Call update_eliminable_offsets after calling
|
||
find_reloads.
|
||
Call forget_old_reloads_1 with contents of reloaded auto_inc
|
||
expressions if the actual addressing can't be changed to match the
|
||
auto_inc.
|
||
(choose_reload_regs): For inheritance, replace
|
||
reload_reg_free_before_p test with reload_reg_used_at_all test, and
|
||
remove stand-alone reload_reg_used_at_all test.
|
||
Use reload_out_reg to determine which reload regs have output reloads.
|
||
Treat reload_override_in more similar to inherited reloads.
|
||
Handle (subreg (reg... for inheritance.
|
||
For flag_expensive_optimizations, add an extra pass to remove
|
||
unnecessary reloads from known working inheritance.
|
||
Delete obsolete code for pseudos replaced with MEMs.
|
||
Handle inheritance from auto_inc expressions.
|
||
(emit_reload_insns): If reload_in is a MEM, set OLD to
|
||
reload_in_reg[j].
|
||
Don't reload directly from oldequiv; if it's a pseudo with a
|
||
stack slot, use reload_in[j].
|
||
Check that reload_in_reg[j] is a MEM before replacing reload_in
|
||
from reg_reloaded_contents.
|
||
Include non-spill registers in reload inheritance processing.
|
||
Also try to use reload_out_reg to set spill_reg_store /
|
||
reg_last_reload_reg.
|
||
In code to set new_spill_reg_store, use single_set to find out if
|
||
there is a single set.
|
||
Add code that allows to delete optional output reloads.
|
||
Add code to allow deletion of output reloads that use no spill reg.
|
||
At the end, set reload_override_in to oldequiv.
|
||
Also call delete_output_reload if reload_out_reg is equal to old
|
||
in oldequiv code.
|
||
Add code to call delete_output_reload for stores with no matching load.
|
||
Set / use spill_reg_stored_to.
|
||
Handle case where secondary output reload uses a temporary, but
|
||
actual store isn't found.
|
||
When looking for a store of a value not loaded in order to call
|
||
delete_output_reload, count_occurrences should return 0 for no
|
||
loads; but discount inherited input reloadill_reg_stored_to.
|
||
Do checks for extra uses of REG. Changed all
|
||
callers.
|
||
Use delete_address_reloads.
|
||
(reload): Take return value of find_reloads into account.
|
||
If a no-op set needs more than one reload, delete it.
|
||
(reload_reg_free_before_p): RELOAD_FOR_INPUT
|
||
can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
|
||
for the same operand.
|
||
(clear_reload_reg_in_use): Check for other reloads that keep a
|
||
register in use.
|
||
(reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
|
||
RELOAD_FOR_OPADDR_ADDR.
|
||
Take into account when an address address reload is only needed
|
||
for the address reload we are considering.
|
||
(count_occurrences): Use rtx_equal_p for MEMs.
|
||
(inc_for_reload): Return instruction that stores into RELOADREG.
|
||
New argument two, IN, and rtx. Changed all callers.
|
||
(calculate_needs_all_insns, reload_as_needed):
|
||
Don't clear after_call for a CLOBBER.
|
||
Keep track of how many hard registers need to be copied from
|
||
after_call, and don't clear after_call before we have seen
|
||
that much copies, or we see a different instruction.
|
||
|
||
Fri Oct 16 10:58:23 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (find_basic_blocks_1): Do not delete unreachable blocks
|
||
after reload has completed.
|
||
|
||
Fri Oct 16 17:26:10 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cpplib.c (cpp_get_token): Replace whitespace that occurs between
|
||
a macro name and the next token with a single blank if that whitespace
|
||
is in a macro buffer and the next token is not '('.
|
||
|
||
Fri Oct 16 15:44:02 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cccp.c (rescan): Handle multibyte characters ending in backslash.
|
||
(rescan): Likewise.
|
||
(skip_if_group): Likewise.
|
||
(skip_to_end_of_comment): Likewise.
|
||
(macarg1): Likewise.
|
||
(discard_comments): Likewise.
|
||
(change_newlines): Likewise.
|
||
|
||
Fri Oct 16 15:26:24 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* c-lex.c (yylex): Fix unaligned access of wchar_t.
|
||
|
||
Fri Oct 16 10:47:53 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
|
||
(TARGET_OPTIONS): Add --help documentation.
|
||
|
||
Fri Oct 16 11:49:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
|
||
|
||
Fri Oct 16 07:08:46 1998 Bruce Korb <korb@datadesign.com>
|
||
|
||
* fixinc/* Moved in from ../contrib directory in preparation
|
||
for integrating it into the normal build process. In particular,
|
||
fixinc/Makefile.in must be config-ed into the build directory
|
||
as fixinc/Makefile. Proposed patches to ./Makefile.in and
|
||
./configure.in will be "in the mail" momentarily.
|
||
|
||
Fri Oct 16 08:13:46 1998 David S. Miller <davem@pierdol.cobaltnet.com>
|
||
|
||
* cse.c (cse_basic_block): Fixup hash flushing loop so we do not
|
||
accidently walk into the free list. Comment how that can happen.
|
||
(invalidate): Fix indentation.
|
||
|
||
Thu Oct 15 23:53:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (life_analysis_1): Do not clobber regs_ever_live after
|
||
reload. Never perform rescans of the insn chain after reload.
|
||
(propagate_block): Do not delete insn or create new autoinc addressing
|
||
modes after reload.
|
||
|
||
* jump.c (jump_optimize): Unconditionally use the code that was
|
||
previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
|
||
* reload1.c (reload): When reloading is finished, delete all
|
||
REG_DEAD and REG_UNUSED notes.
|
||
(emit_reload_insns): Delete all code that was conditional on
|
||
PRESERVE_DEATH_INFO_REGNO_P.
|
||
(no_longer_dead_regs): Delete variable.
|
||
(reload_cse_delete_death_notes): Delete function.
|
||
(reload_cse_no_longer_dead): Delete function.
|
||
(reload_cse_regs_1): Delete all code to handle deletion of death
|
||
notes.
|
||
(reload_cse_noop_set_p): Likewise.
|
||
(reload_cse_simplify_set): Likewise.
|
||
(reload_cse_simplify_operands): Likewise.
|
||
(reload_cse_move2add): Likewise.
|
||
* reorg.c (used_spill_regs): Delete declaration.
|
||
(max_label_num_after_reload): Delete declaration.
|
||
(find_dead_or_set_registers): Don't assume that spill regs are
|
||
dead at a CODE_LABEL.
|
||
* rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
|
||
even after reload.
|
||
* sched.c (sched_analyze_insn): Likewise.
|
||
(update_flow_info): Likewise.
|
||
* haifa-sched.c (sched_analyze_insn): Likewise.
|
||
(update_flow_info): Likewise.
|
||
* tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
|
||
* toplev.c (max_label_num_after_reload): Delete variable.
|
||
(rest_of_compilation): Don't set max_label_num_after_reload.
|
||
Call life_analysis after reload_cse_regs if optimizing.
|
||
* config/gmicro/gmicro.h: Delete comment referring to
|
||
PRESERVE_DEATH_INFO_REGNO_P.
|
||
* config/i386/i386.h: Likewise.
|
||
* config/m88k/m88k.h: Likewise.
|
||
* config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
|
||
* config/sh/sh.h: Likewise.
|
||
|
||
Thu Oct 15 19:48:41 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* loop.c (strength_reduce): Restore marking bct_p as
|
||
ATTRIBUTE_UNUSED.
|
||
* rs6000.c (optimization_options): Change #ifdef HAIFA to
|
||
HAVE_decrement_and_branch_on_count.
|
||
(small_data_operand): Remove TARGET_ELF condition for marking
|
||
parameters ATTRIBUTE_UNUSED.
|
||
|
||
Thu Oct 15 11:45:51 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
|
||
(SELECT_SECTION): Resync with svr4.h.
|
||
|
||
Thu Oct 15 12:42:13 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* loop.c (strength_reduce): Undo Oct 14 change marking bct_p
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
Thu Oct 15 00:57:55 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* c-pragma.c (handle_pragma_token): Test for null tree before
|
||
dereferencing TREE_CODE.
|
||
|
||
Thu Oct 15 17:36:48 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c: Convert to use GEN_INT.
|
||
(c4x_parallel_process): Rework to handle new repeat loop structure.
|
||
|
||
* config/c4x/c4x.md: Convert to use GEN_INT.
|
||
(rptb_end): Convert to use GE test. Replace uses with clobbers.
|
||
(decrement_and_branch_on_count): Likewise.
|
||
|
||
* config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
|
||
loop.c has the desired functionality.
|
||
(rc_reg_operand): New prototype.
|
||
|
||
* config/c4x/t-c4x: Can now build all front ends.
|
||
|
||
Wed Oct 14 23:27:08 1998 Didier FORT (didier.fort@fedex.com)
|
||
|
||
* fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
|
||
|
||
Wed Oct 14 22:13:28 1998 Joel Sherrill (joel@OARcorp.com)
|
||
|
||
* Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
|
||
* config/t-rtems: Do not install assert.h -- use newlib's.
|
||
|
||
Wed Oct 14 21:57:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* combine.c (combine_instructions): When finished, call init_recog.
|
||
* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
|
||
|
||
Wed Oct 14 16:10:22 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* toplev.c: If flag_syntax_only, don't open or write assembler file.
|
||
|
||
Wed Oct 14 13:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cppalloc.c (memory_full): Mark function prototype with
|
||
ATTRIBUTE_NORETURN.
|
||
|
||
* demangle.h (collect_exit): Likewise.
|
||
|
||
* fix-header.c (v_fatal, fatal): Likewise.
|
||
|
||
* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
|
||
Likewise.
|
||
|
||
* gcov.c (print_usage): Likewise.
|
||
|
||
* genattr.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genattrtab.c (fatal, fancy_abort): Likewise.
|
||
|
||
* gencodes.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genconfig.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genemit.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genextract.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genflags.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genopinit.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genoutput.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genpeep.c (fatal, fancy_abort): Likewise.
|
||
|
||
* genrecog.c (fatal, fancy_abort): Likewise.
|
||
|
||
* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
|
||
__sjpopnthrow, __throw): Likewise.
|
||
|
||
* objc/objc-act.c (objc_fatal): Likewise.
|
||
|
||
* protoize.c (usage, aux_info_corrupted,
|
||
declare_source_confusing): Likewise.
|
||
|
||
* rtl.c (dump_and_abort): Likewise.
|
||
|
||
* rtl.h (sets_cc0_p): Likewise.
|
||
|
||
* toplev.c (float_signal, pipe_closed): Likewise.
|
||
|
||
1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
|
||
when generating the decision tree for the general case.
|
||
|
||
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
|
||
wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
|
||
|
||
Wed Oct 14 11:14:02 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (sched.o): Depend on recog.h.
|
||
|
||
* alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
|
||
(unsigned) when comparing against one.
|
||
(find_base_value): Likewise.
|
||
(record_base_value): Cast variable `regno' to (unsigned) when
|
||
comparing against one. Cast the result of REGNO() macro to
|
||
(unsigned) when comparing against one.
|
||
(memrefs_conflict_p): Change type of variables `r_x' and `r_y' to
|
||
unsigned.
|
||
(init_alias_analysis): Add unsigned variable `ui'. Use it as loop
|
||
variable where an unsigned index is needed.
|
||
|
||
* caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
|
||
before comparing against one.
|
||
|
||
* collect2.c: Add prototypes for functions `error', `fatal' and
|
||
`fatal_perror'. Make these functions take variable arguments
|
||
instead of faking it with a fixed number of args.
|
||
(write_c_file_stat): Cast the argument of ctype macro to (unsigned
|
||
char).
|
||
|
||
* combine.c (can_combine_p): Mark parameter `pred' with
|
||
ATTRIBUTE_UNUSED.
|
||
(find_split_point): Cast variable `src' to (unsigned
|
||
HOST_WIDE_INT) when comparing against one.
|
||
(simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
|
||
(simplify_logical): Likewise.
|
||
(force_to_mode): Cast result of INTVAL() macro to (unsigned
|
||
HOST_WIDE_INT) when comparing against one. Cast 1 to (unsigned
|
||
HOST_WIDE_INT) in shift.
|
||
(simplify_and_const_int): Cast result of INTVAL() macro to
|
||
`unsigned HOST_WIDE_INT' when comparing against one.
|
||
(merge_outer_ops): Cast variable const0 to `unsigned
|
||
HOST_WIDE_INT' when comparing against the result of
|
||
GET_MODE_MASK() macro.
|
||
(simplify_comparison): Likewise for variable `c0'. Cast variable
|
||
`const_op' to `unsigned HOST_WIDE_INT' when comparing against
|
||
one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast the
|
||
result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
|
||
against one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast
|
||
result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
|
||
comparing against one.
|
||
(distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
|
||
|
||
config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
|
||
macro to `unsigned HOST_WIDE_INT' when comparing against one.
|
||
(output_block_move): Cast `sizeof' expression to (int) when
|
||
comparing against one.
|
||
(function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
|
||
against one.
|
||
(save_restore_insns): Cast `base_offset' to `long' to match format
|
||
specifier in fprintf.
|
||
|
||
* config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
|
||
to `enum machine_mode'.
|
||
|
||
* flow.c (life_analysis_1): Remove unused variable `insn'.
|
||
|
||
* gcc.c (translate_options): Move variables `j' and `k' into the
|
||
scope in which they are used. Change their types to `size_t'.
|
||
(set_spec): Cast the argument of ctype macro to `unsigned char'.
|
||
(read_specs): Likewise.
|
||
(process_command): Cast `sizeof' to (int) when comparing against one.
|
||
(do_spec_1): Cast the argument of ctype macro to `unsigned char'.
|
||
(handle_braces): Cast both sides of `==' expression to `long' to
|
||
ensure sign matching.
|
||
(main): Cast variable `i' to `int' when comparing against one.
|
||
|
||
* gcov-io.h (__fetch_long): Change type of parameter `bytes' from
|
||
int to size_t. Cast variable `i' to size_t when comparing against
|
||
one.
|
||
|
||
* genattrtab.c (convert_set_attr_alternative): Remove unused
|
||
parameter `insn_code'. All callers changed.
|
||
(convert_set_attr): Likewise.
|
||
|
||
* genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
|
||
size_t when comparing against one. Likewise for variable `len'.
|
||
|
||
* global.c (global_alloc): Cast variable `max_regno' to size_t
|
||
when comparing against one. Likewise for variable `max_allocno'.
|
||
|
||
* jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
|
||
|
||
* local-alloc.c (validate_equiv_mem_from_store): Mark parameter
|
||
`set' with ATTRIBUTE_UNUSED.
|
||
(find_free_reg): Cast `sizeof' expression to (int) when comparing
|
||
against one.
|
||
|
||
* loop.c (count_loop_regs_set): Remove unused variable `dest'.
|
||
(strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
|
||
(get_condition): Cast variable `const_val' to `unsigned
|
||
HOST_WIDE_INT' when comparing against one. Cast unsigned
|
||
expression to HOST_WIDE_INT when comparing against one.
|
||
(insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
|
||
(load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
|
||
`unsigned' when comparing against one.
|
||
|
||
* protoize.c (is_id_char): Change type of parameter `ch' to
|
||
unsigned char.
|
||
(munge_compile_params): Cast argument of ctype macro to (const
|
||
unsigned char).
|
||
(process_aux_info_file): Cast variable `aux_info_size' to int when
|
||
comparing against one.
|
||
(forward_to_next_token_char): Cast argument of ctype macro to
|
||
`const unsigned char'.
|
||
(edit_formals_lists): Likewise.
|
||
(find_rightmost_formals_list): Likewise.
|
||
(add_local_decl): Likewise.
|
||
(add_global_decls): Likewise.
|
||
(edit_fn_definition): Likewise.
|
||
(do_cleaning): Likewise.
|
||
(scan_for_missed_items): Likewise.
|
||
(edit_file): Cast variable `orig_size' to (int) when comparing
|
||
against one.
|
||
(main): Cast argument of ctype macro to `const unsigned char'.
|
||
|
||
* recog.c (const_int_operand): Mark parameter `mode' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* regclass.c (record_reg_classes): Change type of variable `c' to
|
||
`unsigned char'. Cast `char' array index to `unsigned char'.
|
||
|
||
* reload.c (push_secondary_reload): Cast argument to
|
||
REG_CLASS_FROM_LETTER() macro to `unsigned char'.
|
||
|
||
* reload1.c (calculate_needs): Cast `char' array index to
|
||
`unsigned char'.
|
||
(set_label_offsets): Change type of variable `i' to unsigned int.
|
||
Cast result of XVECLEN() macro to unsigned when comparing against
|
||
one.
|
||
(mark_not_eliminable): Change type of variable `i' to unsigned.
|
||
(order_regs_for_reload): Likewise. Cast `max_regno' to unsigned
|
||
when comparing against one.
|
||
(reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
|
||
comparing against one.
|
||
(choose_reload_regs): Hide unused label `fail'.
|
||
(reload_cse_simplify_operands): Cast `char' array index to
|
||
`unsigned char'.
|
||
(reload_combine_note_store): Mark parameter `set' with
|
||
ATTRIBUTE_UNUSED. Cast UNITS_PER_WORD to unsigned when comparing
|
||
against one.
|
||
(reload_cse_move2add): Remove unused variable `src2'.
|
||
|
||
* sched.c: Include recog.h.
|
||
(sched_note_set): Remove unused parameter `b'. All callers
|
||
changed.
|
||
(split_hard_reg_notes): Likewise for parameter `orig_insn'.
|
||
(blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
|
||
when comparing against one.
|
||
|
||
* stupid.c (stupid_find_reg): Mark parameter `changes_size' with
|
||
ATTRIBUTE_UNUSED. Cast `sizeof' expression to (int) when
|
||
comparing against one.
|
||
|
||
* unroll.c (precondition_loop_p): Remove unused parameter
|
||
`loop_end'. All callers changed.
|
||
|
||
Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* reload1.c (maybe_fix_stack_asms): New static function.
|
||
(reload): Call it.
|
||
|
||
* reload.h (compute_use_by_pseudos): Declare.
|
||
|
||
* reload1.c (spilled_pseudos, insns_need_reload): New variables.
|
||
(something_needs_reloads): Delete variable.
|
||
(finish_spills): New function.
|
||
(compute_use_by_pseudos): New function.
|
||
|
||
(delete_caller_save_insns): Lose argument FIRST. All callers changed.
|
||
Use the reload_insn_chain instead of walking the rtl directly.
|
||
|
||
(reload): Allocate and free spilled_pseudos.
|
||
Ensure that all calls of spill_hard_reg are followed by a call to
|
||
finish_spills.
|
||
Use the insns_need_reload list instead of something_needs_reloads
|
||
to find out if reload_as_needed must be called.
|
||
Clear unused_insn_chains at the end.
|
||
|
||
(calculate_needs_all_insns): Lose FIRST parameter. All callers
|
||
changed.
|
||
Delete code to keep track of current basic block.
|
||
Walk reload_insn_chain instead of the rtl structure. Build the
|
||
insns_need_reload chain.
|
||
Remember which insns need reloading/elimination by setting the
|
||
appropriate fields in struct insn_chain, not by putting modes on the
|
||
insn.
|
||
|
||
(calculate_needs): Lose THIS_BLOCK arg. Accept arg CHAIN instead of
|
||
arg INSN. All callers changed.
|
||
Delete declaration of struct needs.
|
||
Don't set something_needs_reloads.
|
||
Record insn needs in the CHAIN argument.
|
||
|
||
(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
|
||
|
||
(reload_as_needed): Lose FIRST arg. All callers changed.
|
||
Walk the reload_insn_chain instead of the rtx structure.
|
||
Delete code to keep track of current basic block.
|
||
Rename one of the NEXT variables to OLD_NEXT.
|
||
|
||
(allocate_reload_reg): Accept arg CHAIN instead of arg INSN. All
|
||
callers changed.
|
||
(choose_reload_regs): Likewise.
|
||
|
||
(emit_reload_insns): Replace INSN and BB args with arg CHAIN. All
|
||
callers changed.
|
||
|
||
* caller-save.c (MOVE_MAX_WORDS): New macro. Use it throughout
|
||
instead of (MOVE_MAX / UNITS_PER_WORD) computation.
|
||
(hard_regs_live, hard_regs_need_restore): Delete variables.
|
||
(n_regs_saved): Now static.
|
||
(referenced_regs, this_insn_sets): New variables.
|
||
|
||
(setup_save_areas): Restructure the code a bit.
|
||
|
||
(restore_referenced_regs): Delete function.
|
||
(mark_referenced_regs): New function, similar to the old
|
||
restore_referenced_regs, but mark registers in referenced_regs.
|
||
|
||
(clear_reg_live): Delete function.
|
||
(mark_set_regs): Renamed from set_reg_live. All callers changed.
|
||
Only mark registers in this_insn_sets.
|
||
|
||
(save_call_clobbered_regs): Rework this function to walk the
|
||
reload_insn_chain instead of using the list of instructions directly.
|
||
Delete code to keep track of register lives, compute live regs on the
|
||
fly from information in the chain.
|
||
Instead of calling restore_referenced_regs, use mark_referenced_regs,
|
||
then walk the set it computes and call insert_restore as appropriate.
|
||
|
||
(insert_restore): Lose INSN and BLOCK args. Add CHAIN arg. All
|
||
callers changed.
|
||
Restructure the code a bit. Test hard_regs_saved instead of
|
||
hard_regs_need_restore.
|
||
(insert_save): Lose INSN and BLOCK args. Add CHAIN and TO_SAVE
|
||
args. All callers changed.
|
||
Restructure the code a bit. Use TO_SAVE to determine which regs to
|
||
save instead of more complicated test.
|
||
(insert_one_arg): Lose INSN and BLOCK args. Add CHAIN arg. All
|
||
callers changed.
|
||
Create a new insn_chain structure for the new insn and place it
|
||
into the chain.
|
||
|
||
* rtl.texi: Update documentation to reflect that reload no longer
|
||
puts modes on the insns.
|
||
|
||
1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||
|
||
* function.c (purge_addressof_1): Force the first argument of a
|
||
CALL insn to memory.
|
||
|
||
Wed Oct 14 00:38:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtl.h: Delete duplicate prototypes. Add some missing
|
||
prototypes.
|
||
* rtlanal.c (for_each_rtx): Formatting tweak.
|
||
|
||
1998-10-13 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* real.c (emdnorm and etoasc): Disable round to even for c4x target
|
||
to be compatible with TI compiler.
|
||
|
||
* Makefile.in (USER_H): Add va-c4x.h to definition.
|
||
|
||
Tue Oct 13 23:03:37 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (purge_addressof_1): Fix typo in inequality: do
|
||
bitfield optimization for equal mode sizes.
|
||
* expmed.c (store_bit_field): Don't take subregs of subregs in
|
||
the movstrict case. Tidy a potential problem in the multi-word case.
|
||
(extract_bit_field): Likewise.
|
||
|
||
Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* flow.c (find_basic_blocks): Emit NOPs after normal calls in this
|
||
function.
|
||
Compute max_uid_for_flow by calling get_max_uid after the scan.
|
||
(find_basic_blocks_1): Don't emit NOPs here.
|
||
|
||
Tue Oct 13 22:05:49 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alias.c (base_alias_check): Accept new args for the modes of the
|
||
two references. Use them to determine if an AND can overlap. Update
|
||
all callers.
|
||
(memrefs_conflict_p): Assume sizes are aligned, and uses them
|
||
to determine if an AND can overlap.
|
||
|
||
Tue Oct 13 17:51:04 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
|
||
check. Add comment to document problems with TARGET_SUN_FPA version
|
||
of this macro.
|
||
* config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
|
||
|
||
Tue Oct 13 17:46:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (gencheck.o): Depend on gansidecl.h.
|
||
|
||
* c-common.c (print_char_table): Add missing initializers.
|
||
(scan_char_table): Likewise.
|
||
(time_char_table): Likewise.
|
||
|
||
* c-decl.c (c_decode_option): Mark parameter `argc' with
|
||
ATTRIBUTE_UNUSED.
|
||
(declare_parm_level): Mark parameter `definition_flag' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* c-lex.c (readescape): Use `(unsigned)1' in shift.
|
||
(yylex): Likewise. Cast `sizeof' to an (int) when comparing
|
||
against one.
|
||
|
||
* calls.c (store_one_arg): Remove unused parameter `fndecl'. All
|
||
callers changed.
|
||
(emit_call_1): Mark parameters `fndecl' and `funtype' with
|
||
ATTRIBUTE_UNUSED.
|
||
(expand_call): Cast result of MIN() to (unsigned int) when
|
||
comparing against an unsigned value.
|
||
|
||
* cccp.c (pcfinclude): Remove unused parameter `limit'. All
|
||
callers changed.
|
||
(make_definition): Remove unused parameter `op'. All callers
|
||
changed.
|
||
(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
|
||
comparing against the result of pointer arithmetic.
|
||
|
||
* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
|
||
when comparing against one.
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
|
||
HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
|
||
one.
|
||
(output_die): Move variable `i' into the scope in which it is
|
||
used. Change its type to `unsigned'.
|
||
(output_die): Cast the result of `strlen' to (int) when passing it
|
||
to ASM_OUTPUT_ASCII().
|
||
(output_pubnames): Likewise.
|
||
(output_line_info): Likewise.
|
||
|
||
* emit-rtl.c (global_rtl): Add missing initializers.
|
||
|
||
* explow.c (promote_mode): Mark parameter `for_call' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
|
||
`unsigned HOST_WIDE_INT' when comparing against one.
|
||
(synth_mult): Change type of variable `cost' to int.
|
||
(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
|
||
|
||
* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
|
||
when comparing against one.
|
||
(get_inner_reference): Change variable `alignment' to unsigned.
|
||
(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
|
||
int) when comparing against one.
|
||
(expand_builtin_setjmp): Change type of variable `i' to size_t.
|
||
|
||
* fold-const.c (div_and_round_double): Cast BASE to
|
||
(HOST_WIDE_INT) when comparing against one.
|
||
|
||
* gencheck.c: Include gansidecl.h.
|
||
(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
|
||
|
||
* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
|
||
`tcode' with ATTRIBUTE_UNUSED.
|
||
|
||
* real.c (edivm): Cast constant value to (unsigned long) in
|
||
expression compared against an unsigned value.
|
||
|
||
* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
|
||
comparing against one.
|
||
(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
|
||
when comparing against one.
|
||
|
||
* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
|
||
(unsigned int) when comparing against one. Likewise for
|
||
GET_MODE_BITSIZE.
|
||
(smallest_mode_for_size): Likewise.
|
||
(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
|
||
(restore_storage_status): Likewise.
|
||
|
||
* toplev.c (debug_args): Add missing initializer.
|
||
(f_options): Spelling correction. Add missing initializers.
|
||
(documented_lang_options): Likewise.
|
||
(debug_end_source_file): Mark parameter `lineno' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* tree.c (valid_machine_attribute): Mark parameters `attr_args',
|
||
`decl' and `type' with ATTRIBUTE_UNUSED.
|
||
|
||
* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
|
||
when comparing against one.
|
||
(assemble_variable): Mark parameter `top_level' with
|
||
ATTRIBUTE_UNUSED.
|
||
(assemble_external_libcall): Mark parameter `fun' with
|
||
ATTRIBUTE_UNUSED.
|
||
(output_constant_pool): Mark parameters `fnname' and `fndecl' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
Tue Oct 13 12:51:04 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
|
||
Replace use of r5 with use of r19.
|
||
|
||
* config/v850/v850.h (LINK_POINTER_REGNUM): Define.
|
||
|
||
* config/v850/v850.c (compute_register_save_size): Allow for the
|
||
fact that helper functions save all registers, not just those used
|
||
by the function.
|
||
|
||
Replace constant 31 with macro LINK_POINTER_REGNUM.
|
||
|
||
* config/v850/v850.md: Use 'indirect_operand' rather than
|
||
'memory_operand' for bit test/set/clear patterns.
|
||
|
||
Tue Oct 13 11:49:14 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
|
||
* varasm.c (assemble_start_function et al): Don't call
|
||
ASM_GLOBALIZE_LABEL for weak symbols.
|
||
|
||
Tue Oct 13 11:37:45 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* cse.c (equiv_constant): Check for NULL return from
|
||
gen_lowpart_if_possible().
|
||
|
||
Tue Oct 13 11:24:51 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
|
||
|
||
* collect2.c (main): Pass -EL/-EB through to the compiler.
|
||
|
||
1998-10-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* expr.c (push_block): Handle targets where the stack grows
|
||
to higher addresses, but args grow to lower addresses and
|
||
ACCUMULATE_OUTGOING_ARGS is not defined.
|
||
|
||
Tue Oct 13 08:00:52 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* config/v850/v850.c (print_operand): Extend meaning
|
||
of 'c' operands to support .vtinherit.
|
||
|
||
Tue Oct 13 21:38:35 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* config/c4x/c4x.c: Convert to gen_rtx_FOO.
|
||
Added ATTRIBUTE_UNUSED to unused function arguments.
|
||
(rc_reg_operand): New predicate.
|
||
(c4x_rptb_insert): New function.
|
||
(c4x_rptb_nop_p): Recognize modified rptb_top pattern.
|
||
(c4x_optimization_options): New function.
|
||
|
||
* config/c4x/c4x.md: Convert to gen_rtx_FOO.
|
||
(decrement_and_branch_on_count): New pattern.
|
||
(rptb_top): Modified pattern to work with BCT optimization.
|
||
|
||
* config/c4x/c4x.h (RC_REG): New register class.
|
||
(rc_reg_operand): Define prototype.
|
||
(IS_RC_REG): New macro.
|
||
(IS_RC_OR_PSEUDO_REG): New macro.
|
||
(IS_RC_OR_PSEUDO_REGNO): New macro.
|
||
(OPTIMIZATION_OPTIONS): Define.
|
||
|
||
Mon Oct 12 19:57:34 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* collect2.c (extract_init_priority): No priority is 65535.
|
||
|
||
Mon Oct 12 12:10:37 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* Makefile.in (build_tooldir): New variable, same as old
|
||
$(tooldir), but without depending on $(libdir)/$(unlibsubdir).
|
||
(GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
|
||
(bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
|
||
|
||
* configure.in (gxx_include_dir): Set default based on unlibsubdir.
|
||
* Makefile.in (tooldir): Likewise.
|
||
(cccp.o, cpplib.o): Use unlibsubdir implicitly through
|
||
gxx_include_dir, includedir and tooldir.
|
||
(protoize.o, unprotoize.o): Likewise.
|
||
|
||
Mon Oct 12 10:50:44 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
|
||
|
||
* config/arm/thumb.c (thumb_override_options): Add warning about
|
||
PIC code not being supported just yet.
|
||
|
||
Sun Oct 11 16:49:15 1998 John Wehle (john@feith.com)
|
||
|
||
* flow.c: Update comment.
|
||
(notice_stack_pointer_modification): New static function.
|
||
(record_volatile_insns): Use it.
|
||
(mark_regs_live_at_end): Mark the stack pointer as alive
|
||
at the end of the function if current_function_sp_is_unchanging
|
||
is set.
|
||
(life_analysis_1): Set current_function_sp_is_unchanging.
|
||
* function.c: Define it.
|
||
(init_function_start): Initialize it.
|
||
* output.h: Declare it.
|
||
* reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
|
||
the stack pointer as alive at the end of the function if
|
||
current_function_sp_is_unchanging is set.
|
||
* i386.c (ix86_epilogue): Optimize the restoring
|
||
of the stack pointer.
|
||
|
||
Mon Oct 12 01:22:53 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Oct 11 23:04:30 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* c-pragma.c (handle_pragma_token): If passed a token instead
|
||
of a tree, use that as the pack value.
|
||
|
||
Sun Oct 11 14:21:14 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* flow.c (find_basic_blocks_1): Fix prototype.
|
||
|
||
Sun Oct 11 05:03:41 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
|
||
(struct tree_decl): New fields no_check_memory_usage.
|
||
* c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
|
||
(init_attributes): Register it as a new attribute.
|
||
(decl_attributes): Set flags on functions given that attribute.
|
||
* c-decl.c (duplicate_decls): Merge new attribute.
|
||
* expr.h (current_function_check_memory_usage): Declare new var.
|
||
* calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
|
||
pa.c, sparc.c: Replace uses of flag_check_memory_usage with
|
||
current_function_check_memory_usage.
|
||
* function.h: Add field to struct function.
|
||
* function.c (current_function_check_memory_usage): Define it.
|
||
(push_function_context_to, pop_function_context_from): Save and
|
||
restore it.
|
||
(expand_function_start): Set it, based on global flag and function
|
||
attribute.
|
||
|
||
* expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
|
||
check non-automatic variables, to permit detection of writes to
|
||
read-only locations in embedded systems without memory management.
|
||
* calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
|
||
when emitting chkr_set_right_libfunc call, even if the argument is
|
||
BLKmode or variable-sized; don't abort.
|
||
|
||
* optabs.c (init_optabs): Create Checker and __cyg_profile_*
|
||
symbols in Pmode, not VOIDmode.
|
||
|
||
Sun Oct 11 01:03:05 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cppexp.c: When forcing unsigned comparisons, cast both sides
|
||
of the operation.
|
||
|
||
* cpphash.h: Move static declaration of hashtab[]...
|
||
* cpphash.c: ...here.
|
||
|
||
* cpplib.c: Cast difference of two pointers to size_t before
|
||
comparing it to size_t. Cast signed to unsigned
|
||
before comparing to size_t. (FIXME: struct argdata should use
|
||
unsigned buffer sizes.)
|
||
* cpplib.h (struct cpp_reader): Declare token_buffer_size as
|
||
unsigned int. (CPP_WRITTEN): Cast return value to size_t.
|
||
(CPP_RESERVE): Parenthesize N for evaluation order, cast to
|
||
size_t before comparison.
|
||
|
||
Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
|
||
(find_basic_blocks_1): Similarly.
|
||
* output.h (find_basic_blocks): Fix prototype.
|
||
* gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
|
||
find_basic_blocks anymore.
|
||
|
||
Sat Oct 10 22:00:34 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
|
||
(sbitmap_free, sbitmap_vector_free): New macros.
|
||
* output.h (rtl_dump_file): Declare.
|
||
|
||
Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
|
||
|
||
Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fp-bit.c (SFtype): Don't implicitly use int in declaration.
|
||
(DFtype): Likewise.
|
||
(_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
|
||
(divide): Remove unused variable `tmp'.
|
||
(si_to_float): Cast numeric constant to (SItype) before comparing
|
||
it against one.
|
||
|
||
Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
|
||
* gcc.c (add_preprocessor_option): Correct typo when allocating
|
||
memory, sizeof() argument had one too many `*'.
|
||
(add_assembler_option): Likewise.
|
||
(add_linker_option): Likewise.
|
||
* gcov.c (output_data): Likewise.
|
||
* local-alloc.c (memref_used_between_p): Likewise.
|
||
(update_equiv_regs): Likewise.
|
||
* loop.c (strength_reduce): Likewise.
|
||
* reg-stack.c (record_asm_reg_life): Likewise.
|
||
(subst_asm_stack_reg): Likewise.
|
||
* reorg.c (dbr_schedule): Likewise.
|
||
|
||
Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* flow.c (life_analysis_1): Break out some functions.
|
||
(find_basic_blocks_1): Likewise. Also move some variables out and
|
||
make them static.
|
||
Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
|
||
new static var nonlocal_label_list with it.
|
||
(active_eh_region, nested_eh_region, label_value_list,
|
||
nonlocal_label_list): New static variables.
|
||
(make_edges, delete_unreachable_blocks, delete_block): New static
|
||
functions, broken out of find_basic_blocks_1.
|
||
(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
|
||
noop_move_p): New static functions, broken out of life_analysis_1.
|
||
|
||
Fri Oct 9 15:49:29 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
|
||
Take extra care for op0 now possibly being a subreg.
|
||
(extract_bit_field): Likewise.
|
||
* function.c (purge_addressof_1): Revert Oct 4 change. Drop
|
||
the reg to memory if there is no equal sized integral mode.
|
||
* stor-layout.c (int_mode_for_mode): New function.
|
||
* machmode.h: Prototype it.
|
||
|
||
Fri Oct 9 14:26:44 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* global.c (build_insn_chain): Verify no real insns exist past the
|
||
end of the last basic block, then exit the loop.
|
||
|
||
Fri Oct 9 11:44:47 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* loop.c (insert_bct): Ensure loop_iteration_var nonzero before use.
|
||
|
||
Thu Oct 8 21:59:47 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
|
||
|
||
Thu Oct 8 22:03:45 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
|
||
|
||
Thu Oct 8 17:00:18 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (find_basic_blocks): Correctly determine when a call
|
||
is within an exception region.
|
||
|
||
Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
|
||
|
||
* cpplib.h: Protect from multiple inclusions.
|
||
* cpplib.c: Fix minor formatting problems.
|
||
|
||
* i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
|
||
|
||
* jump.c (jump_optimize): Revert accidental patch.
|
||
|
||
* Makefile.in (cpplib.o): Use unlibsubdir.
|
||
|
||
Thu Oct 8 12:50:47 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.c (get_condition): Allow combine when either compare is
|
||
VOIDmode.
|
||
|
||
Thu Oct 8 11:31:01 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||
|
||
* c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
|
||
(init_lex): Initialize ridpointers[RID_BYREF].
|
||
* c-lex.h (enum rid): Add RID_BYREF.
|
||
* c-parse.gperf: Add RID_BYREF as a type qualifier.
|
||
* objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
|
||
(encode_type_qualifiers): Similarly.
|
||
* c-gperf.h: Rebuilt.
|
||
|
||
Thu Oct 8 05:56:00 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* c-common.c (type_for_mode): Only return TItype nodes when
|
||
HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
||
* c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
|
||
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
||
(init_decl_processing): Only create TItype nodes when
|
||
HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
||
* c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
|
||
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
||
|
||
Thu Oct 8 05:05:34 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* stmt.c (n_occurrences): New static function.
|
||
(expand_asm_operands): Verify that all constrains match in the
|
||
number of alternatives.
|
||
Verify that '+' or '=' are at the beginning of an output constraint.
|
||
Don't allow '&' for input operands.
|
||
Verify that '%' isn't written for the last operand.
|
||
* reload.c (find_reloads): Abort if an asm is found with invalid
|
||
constraints; all possible problems ought to be checked for earlier.
|
||
|
||
Thu Oct 8 04:26:20 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* flags.h (flag_branch_on_count_reg): Always declare.
|
||
* toplev.c (flag_branch_on_count_reg): Likewise.
|
||
* toplev.c: Fix typos.
|
||
|
||
* real.c (c4xtoe): Remove unused variables. Add some missing parens.
|
||
(toc4x): Similarly.
|
||
|
||
Thu Oct 8 01:25:22 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (find_basic_blocks): Calc upper bound for extra nops in
|
||
max_uids_for_flow.
|
||
(find_basic_blocks_1): Add a nop to the end of a basic block when
|
||
a trailing call insn does not have abnormal control flow.
|
||
* gcse.c (pre_transpout): New variable.
|
||
(alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
|
||
(compute_pre_transpout): Calculate it.
|
||
(compute_pre_ppinout): Use it to eliminate impossible placements
|
||
due to abnormal control flow through calls.
|
||
(compute_pre_data): Call compute_pre_transpout.
|
||
|
||
Wed Oct 7 21:40:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
|
||
|
||
Wed Oct 7 21:19:46 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/mips/mips.md (tablejump_internal3, tablejump_internal4
|
||
and matching define_insns): Tack on a `use' of the table label, so
|
||
flow analysis will recognize a tablejump.
|
||
|
||
Wed Oct 7 17:33:39 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gcse.c (pre_insert_insn): Tweek to notice that calls do not
|
||
always end basic blocks for abnormal edge reasons.
|
||
|
||
Wed Oct 7 14:40:43 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/i386/i386.h: Remove definition of
|
||
HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* config/i386/go32.h: Add definition of
|
||
HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* config/i386/win32.h: Add definition of
|
||
HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* config/i386/cygwin32.h: Add definition of
|
||
HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* c-pragma.c (insert_pack_attributes): Do not insert
|
||
attributes unless #pragma pack(push,<n>) is in effect.
|
||
|
||
Wed Oct 7 12:10:46 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (emit_group_store): Handle a PARALLEL destination.
|
||
|
||
Wed Oct 7 10:07:29 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gcse.c (pre_insert_insn): When a call ends a bb, insert
|
||
the new insns before the argument regs are loaded.
|
||
|
||
Wed Oct 7 12:55:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
|
||
(c-parse.gperf): Update comments describing invocation flags.
|
||
(c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
|
||
|
||
1998-10-07 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* reload1.c (reload): Call free before clobbering the memory
|
||
locations or constants pointers.
|
||
|
||
Wed Oct 7 02:05:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
|
||
for efficiency by checking whether we need to modify the current
|
||
stack permission at all.
|
||
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
|
||
* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
|
||
__enable_execute_stack libcall here too if
|
||
TRANSFER_FROM_TRAMPOLINE is defined.
|
||
* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
|
||
IN_LIBGCC2.
|
||
|
||
Wed Oct 7 02:27:52 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (DRIVER_DEFINES): Remove last change.
|
||
|
||
Wed Oct 7 01:08:43 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
|
||
insns we're going to copy.
|
||
* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
|
||
|
||
* loop.c (count_one_set): Add prototype.
|
||
|
||
* caller-save.c (restore_referenced_regs): Lose mode argument.
|
||
(insert_save): Lose mode argument.
|
||
(insert_restore): Lose mode argument.
|
||
(insert_one_insn): Lose mode argument.
|
||
(save_call_clobbered_regs): Lose mode argument.
|
||
(setup_save_areas): Take no argument and return void. All callers
|
||
changed.
|
||
Don't verify validity of memory addresses.
|
||
* reload.h (setup_save_ares): Adjust prototype.
|
||
(save_call_clobbered_regs): Likewise.
|
||
* reload1.c (delete_caller_save_insns): New function.
|
||
(caller_save_spill_class): Delete variable.
|
||
(caller_save_group_size): Delete variable.
|
||
(reload): Call setup_save_areas and save_call_clobbered_regs
|
||
in the main loop, before calling calculate_needs_all_insns.
|
||
Don't call save_call_clobbered_regs after the loop.
|
||
Call delete_caller_save_insns at the end of an iteration if
|
||
something changed.
|
||
Delete code to manage caller_save_spill_class.
|
||
Emit the final note before setting reload_first_uid.
|
||
Simplify test that determines whether reload_as_needed gets run.
|
||
(calculate_needs): Delete code to manage caller_save_spill_class.
|
||
|
||
Tue Oct 6 15:42:27 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* collect2.c (main): Initialize ld_file_name.
|
||
|
||
Tue Oct 6 15:45:15 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
|
||
check for flag_function_sections.
|
||
|
||
Tue Oct 6 20:02:31 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* cse.c (insert_regs): Fix bug in Sep 24 change.
|
||
|
||
Tue Oct 6 17:00:42 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* flags.h (flag_dump_unnumbered): Declare.
|
||
* toplev.c (flag_dump_unnumbered): Don't declare.
|
||
* print-rtl.c (flags.h): Include.
|
||
(print_rtl_single): Add return value.
|
||
* rtl.h (print_rtl_single): Update declaration.
|
||
* flow.c (flag_dump_unnumbered): Don't declare.
|
||
(print_rtl_with_bb): Use return value of print_rtl_single.
|
||
|
||
Tue Oct 6 01:36:00 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* loop.c (count_one_set): New static function, broken out of
|
||
count_loop_regs_set.
|
||
(count_loop_regs_set): Call it.
|
||
* global.c (mark_reg_store): Handle clobbers here by not calling
|
||
set_preference.
|
||
(mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
|
||
is in fact a clobber.
|
||
* integrate.c (process_reg_param): New function, broken out of
|
||
expand_inline_function.
|
||
(expand_inline_function): Call it.
|
||
|
||
* i386.md (addsidi3_1): Delete unused variable temp.
|
||
(addsidi3_2): Likewise.
|
||
(clstrstrsi): Delete unused variable addr1.
|
||
|
||
* rtl.h: Don't declare any functions also declared in recog.h.
|
||
|
||
* Makefile.in (stupid.o): Update dependencies.
|
||
(global.o): Likewise.
|
||
|
||
* global.c: Include reload.h.
|
||
(reg_becomes_live): New function.
|
||
(reg_dies): New function.
|
||
(build_insn_chain): New function.
|
||
(global_alloc): Call build_insn_chain before calling reload.
|
||
|
||
* reload.h (struct needs): New structure definition.
|
||
(struct insn_chain): Likewise.
|
||
(reload_insn_chain): Declare variable.
|
||
(new_insn_chain): Declare function.
|
||
|
||
* reload1.c (reload_startobj): New variable.
|
||
(reload_insn_chain): New variable.
|
||
(unused_insn_chains): New variable.
|
||
(new_insn_chain): New function.
|
||
(init_reload): Initialize reload_startobj, not reload_firstobj.
|
||
(reload): Initialize reload_firstobj.
|
||
Before returning, free everything on the reload_obstack.
|
||
|
||
* stupid.c: Include insn-config.h, reload.h and basic-block.h.
|
||
(reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
|
||
current_chain): New variables.
|
||
(reg_where_born): Delete variable.
|
||
(REG_WHERE_BORN): New macro.
|
||
(find_clobbered_regs): New function.
|
||
(stupid_life_analysis): Don't allocate/free reg_where_born.
|
||
Allocate and free reg_where_born_exact, reg_where_born_clobber,
|
||
reg_where_dead_chain.
|
||
Use REG_WHERE_BORN instead of reg_where_born.
|
||
While processing the insns, build the reload_insn_chain with
|
||
information about register lifetimes.
|
||
(stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
|
||
(stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers
|
||
changed.
|
||
Compute and information about birth and death of pseudo registers in
|
||
reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
|
||
Delete code to set elements of reg_where_born.
|
||
|
||
Mon Oct 5 22:34:30 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* tree.def (GOTO_EXPR): Modified documentation.
|
||
* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
|
||
goto.
|
||
|
||
Mon Oct 5 22:43:36 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* unroll.c (loop_iteration_var, loop_initial_value, loop_increment
|
||
loop_final_value, loop_comparison_code): No longer static.
|
||
(unroll_loop): Delete loop_start_value update.
|
||
* loop.h (loop_iteration_var, loop_initial_value, loop_increment,
|
||
loop_final_value, loop_comparison_code): Extern.
|
||
(loop_start_value): Delete extern.
|
||
* loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
|
||
loop_comparison_value, loop_comparison_code): Delete.
|
||
(loop_optimize): Remove initialization for deleted variables.
|
||
(strength_reduce): Delete analyze_loop_iterations call. Only call
|
||
insert_bct if flag_branch_count_on_reg set.
|
||
(analyze_loop_iterations): Delete.
|
||
(insert_bct): Remove iteration count calculation. Move checks for
|
||
viable BCT optimization to here. Obtain iteration count from
|
||
loop_iterations and correct for unrolling. Check for enough
|
||
iteration to be beneficial. Comment out runtime iteration count
|
||
case.
|
||
(insert_bct): Print iteration count in dump file. Remove
|
||
loop_var_mode and use word_mode directly.
|
||
|
||
* rs6000.h (processor_type): Add PROCESSOR_PPC604e.
|
||
* rs6000.c (rs6000_override_options): Use it.
|
||
(optimization_options): Enable use of flag_branch_on_count_reg.
|
||
* rs6000.md (define_function_unit): Describe 604e.
|
||
|
||
1998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* loop.c (move_movables): Corrected threshold calculation for
|
||
moved_once registers.
|
||
|
||
Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* loop.c (combine_givs_p): Fix test for identical givs.
|
||
|
||
Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
|
||
call abort if the function is already defined.
|
||
|
||
Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
|
||
truncation is not a no-op.
|
||
|
||
Mon Oct 5 09:02:04 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Oct 5 08:19:55 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se>
|
||
|
||
* expmed.c (expand_divmod): Don't widen for computing remainder
|
||
if we seem to have a divmod pattern for needed mode.
|
||
|
||
Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.c (macroexpand): Correct off-by-one error in handling
|
||
of escapes.
|
||
|
||
Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (expand_field_assignment): Don't do bitwise operations
|
||
on MODE_FLOAT; pun to MODE_INT if possible.
|
||
|
||
Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
scott snyder <snyder@d0sgif.fnal.gov>
|
||
|
||
* tlink.c (scan_linker_output): Recognize errors from irix 6.2
|
||
linker. Recognize mangled names in quotes.
|
||
|
||
Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
|
||
(ashlsi3_const1, ashldi3_const1): New combiner patterns.
|
||
(ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
|
||
(lshrsi3_extend, lshrsi3_extend2): Likewise.
|
||
|
||
Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* function.c (purge_addressof_1): If trying to take a sub-word
|
||
integral piece of a floating point mode, put it on the stack.
|
||
|
||
Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
|
||
|
||
Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* PROJECTS: Remove template friends.
|
||
|
||
* collect2.c (sort_ids): Remove unused variable.
|
||
|
||
* tm.texi (MATH_LIBRARY): Document.
|
||
(NEED_MATH_LIBRARY): Remove.
|
||
|
||
* varasm.c (assemble_start_function, assemble_variable, weak_finish,
|
||
assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
|
||
|
||
Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu>
|
||
|
||
* dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
|
||
last_end to 0x7fffffff.
|
||
|
||
Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* function.c (purge_addressof_1): Do not perform endianness
|
||
corrections on bitpos, who we call will do it for us.
|
||
|
||
Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.c (WORD_REG_USED): Fix typo.
|
||
(initial_offset): Use WORD_REG_USED.
|
||
|
||
* h8300.c (handle_pragma): Fix typo.
|
||
|
||
Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* caller-save.c (insert_save_restore): Break this function up
|
||
into new functions insert_restore, insert_save and insert_one_insn.
|
||
All callers changed.
|
||
(insert_restore): New function, mostly broken out of
|
||
insert_save_restore.
|
||
(insert_save): Likewise.
|
||
(insert_one_insn): Likewise.
|
||
(restore_referenced_regs): New argument BLOCK. All callers changed.
|
||
(save_call_clobbered_regs): Don't keep track of basic block boundaries
|
||
in this function, do it in insert_one_insn instead.
|
||
|
||
* reload1.c (reload): Break out some more pieces into separate
|
||
functions.
|
||
(dump_needs): New function, broken out of reload.
|
||
(set_initial_elim_offsets): Likewise.
|
||
(init_elim_table): Likewise.
|
||
(update_eliminables): Likewise.
|
||
|
||
* global.c (global_alloc): Delete code to manage the scratch_list.
|
||
* local-alloc.c (qty_scratch_rtx): Delete.
|
||
(scratch_block): Delete.
|
||
(scratch_list): Delete.
|
||
(scratch_list_length): Delete.
|
||
(scratch_index): Delete.
|
||
(alloc_qty_for_scratch): Delete.
|
||
(local-alloc): Update initialization of max_qty.
|
||
Delete code to manage the scratch list.
|
||
Delete code to allocate/initialize qty_scratch_rtx.
|
||
(block_alloc): Don't allocate quantities for scratches.
|
||
Delete code to manage the scratch list.
|
||
* regs.h (scratch_list): Delete declaration.
|
||
(scratch_block): Delete declaration.
|
||
(scratch_list_length): Delete declaration.
|
||
* reload1.c (reload): Delete code to manage the scratch list.
|
||
(spill_hard_reg): Likewise.
|
||
(mark_scratch_live): Delete.
|
||
|
||
* recog.c (alter_subreg): Delete declaration.
|
||
|
||
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||
|
||
* Makefile.in (cccp.o): Fix typo in last patch.
|
||
|
||
Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* t-sh (LIB1ASMFUNCS): Add _set_fpscr .
|
||
* config/sh/lib1funcs.asm (___set_fpscr): Add.
|
||
|
||
Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regclass.c (reg_scan_mark_refs): Return immediately if passed a
|
||
NULL_RTX as an argument.
|
||
|
||
* Makefile.in (unlibsubdir): Define.
|
||
(DRIVER_DEFINES): Use unlibsubdir.
|
||
(cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
|
||
(stmp-fixinc): Similarly.
|
||
|
||
Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* regmove.c (regmove_optimize): Add variable old_max_uid.
|
||
At the end of the function, update basic_block_end.
|
||
|
||
Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* dwarf2out.c (expand_builtin_dwarf_reg_size): Use
|
||
FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
|
||
arbitrary constant.
|
||
|
||
Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.c: Improve interworking support.
|
||
|
||
Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
|
||
copied from reload_out[r] .
|
||
|
||
Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu>
|
||
|
||
* dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
|
||
with more than three size ranges.
|
||
|
||
* flow.c (sbitmap_copy): Use bcopy to copy bitmap.
|
||
|
||
* rtl.c (mode_name): Add a null string at the end of the array.
|
||
(mode_wider_mode): Change type to unsigned char.
|
||
(mode_mask_array): New variable.
|
||
(init_rtl): Update for mode_wider_mode type change.
|
||
|
||
* rtl.h (mode_wider_mode): Change type to unsigned char.
|
||
(mode_mask_array): Declare.
|
||
(GET_MODE_MASK): Use mode_mask_array.
|
||
|
||
Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* calls.c (expand_call) : Encapsulate code into
|
||
copy_blkmode_from_reg.
|
||
* expr.c (copy_blkmode_from_reg): New function.
|
||
* expr.h (copy_blkmode_from_reg): New function.
|
||
* integrate.c (function_cannot_inline_p): We can inline
|
||
these now.
|
||
(expand_inline_function): Use copy_blkmode_from_reg
|
||
if needed. Avoid creating BLKmode REGs.
|
||
(copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
|
||
object.
|
||
|
||
Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/v850.c: Add function prototypes.
|
||
Add support for v850 special data areas.
|
||
|
||
* config/v850/v850.h: Add support for v850 special data areas.
|
||
|
||
* c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
|
||
HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
(push_alignment): New function: Cache an alignment requested
|
||
by a #pragma pack(push,<n>).
|
||
(pop_alignment): New function: Pop an alignment from the
|
||
alignment stack.
|
||
(insert_pack_attributes): New function: Generate __packed__
|
||
and __aligned__ attributes for new decls whilst a #pragma pack
|
||
is in effect.
|
||
(add_weak): New function: Cache a #pragma weak directive.
|
||
(handle_pragma_token): Document calling conventions. Add
|
||
support for #pragma pack(push,<n>) and #pragma pack (pop).
|
||
|
||
* c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
|
||
are defined enable HANDLE_PRAGMA_PACK.
|
||
Move 'struct weak_syms' here (from varasm.c).
|
||
Add pragma states for push and pop pragmas.
|
||
|
||
* c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
|
||
if it is defined.
|
||
|
||
* c-lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with
|
||
HANDLE_GENERIC_PRAGMAS.
|
||
|
||
* varasm.c: Move definition of 'struct weak_syms' into
|
||
c-pragma.h.
|
||
(handle_pragma_weak): Deleted.
|
||
|
||
* config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
|
||
|
||
* c-decl.c (start_function): Add invocation of
|
||
SET_DEFAULT_DECL_ATTRIBUTES, if defined.
|
||
|
||
* tm.texi: Remove description of non-existent macro
|
||
SET_DEFAULT_SECTION_NAME.
|
||
|
||
(HANDLE_SYSV_PRAGMA): Document.
|
||
(HANDLE_PRAGMA_PACK_PUSH_POP): Document.
|
||
|
||
Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* config.sub: Recognize i[34567]86-pc-udk as new target.
|
||
* configure.in: Likewise.
|
||
* config/i386/t-udk: New file.
|
||
* config/i386/udk.h: New file.
|
||
|
||
Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (check_annul_list_true_false): Remove unused variables.
|
||
(steal_delay_list_from_target): Add missing "used_annul" variable.
|
||
(try_merge_delay_insns): Close out half formed comment.
|
||
|
||
Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* cpplib.c (macroexpand): If arg->raw_before or
|
||
arg->raw_after, remove any no-reexpansion escape at the
|
||
beginning of the pasted token. Correct handling of whitespace
|
||
markers and no-reexpand markers at the end if arg->raw_after.
|
||
|
||
* toplev.c (documented_lang_options): Recognize -include,
|
||
-imacros, -iwithprefix, -iwithprefixbefore.
|
||
* cpplib.c (cpp_start_read): Process -imacros and -include
|
||
switches at the same time and in command-line order, after
|
||
initializing the dependency-output code. Emit properly nested
|
||
#line directives for them. Emit a #line for the main file
|
||
before processing these switches, and don't do it again
|
||
afterward.
|
||
|
||
Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* function.c (purge_addressof_1): Use bitfield manipulation
|
||
routines to handle mem mode < reg mode.
|
||
|
||
Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* reorg.c (try_merge_delay_insns): Account for resources referenced
|
||
in each instruction in INSN's delay list before trying to eliminate
|
||
useless instructions. Similarly when looking at a trial insn's delay
|
||
slots.
|
||
|
||
* reorg.c (check_annul_list_true_false): New function.
|
||
(steal_delay_list_from_{target,fallthrough}): Call it and also
|
||
refine tests for when we may annul if already filled a slot.
|
||
(fill_slots_from_thread): Likewise.
|
||
(delete_from_delay_slot): Return newly-created thread.
|
||
(try_merge_delay_isns): Use its new return value.
|
||
|
||
Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
|
||
used to compute a giv or as some other non-counting use.
|
||
|
||
Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
|
||
* local-alloc.c (find_free_reg): Use it.
|
||
* global.c (find_reg): Likewise.
|
||
* tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
|
||
|
||
* regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
|
||
* caller-save.c (init_caller_save): Use it.
|
||
* tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
|
||
|
||
Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||
|
||
* configure.in: Add --enable-cpplib option which uses cpplib
|
||
for cpp, but doesn't link cpplib into cc1. Make help text
|
||
capitalization consistent.
|
||
* configure: Rebuilt.
|
||
|
||
Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* function.c (gen_mem_addressof): If the address REG is
|
||
REG_USERVAR_P make the new REG be so also.
|
||
* loop.c (scan_loop): Apply DeMorgan's laws and add documentation
|
||
in an attempt to clarify slightly.
|
||
|
||
Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
|
||
and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
|
||
|
||
Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* toplev.c: Fix last patch.
|
||
|
||
Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.c (get_condition): Fix typo in May 9 change.
|
||
|
||
Tue Sep 29 11:11:38 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* invoke.texi (-fexceptions): Merge 2 different descriptions.
|
||
|
||
Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* toplev.c (documented_lang_options): Spelling corrections.
|
||
|
||
Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* configure.in: New flags --with-ld and --with-as, equivalent
|
||
to setting LD and AS environment variables. Test whether
|
||
specified arguments are GNU commands, and report them with
|
||
checking messages. Use the specified AS for configure
|
||
tests too.
|
||
* configure: Likewise.
|
||
* acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
|
||
* config.in: Likewise.
|
||
* gcc.c (find_a_file): When looking for `as' and `ld', return
|
||
the DEFAULT program if it exists.
|
||
* collect2.c (main): Use DEFAULT_LINKER if it exists.
|
||
|
||
* gcc.c (find_a_file): The test for existence of a full
|
||
pathname was reversed.
|
||
|
||
Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
|
||
* rs6000.c (output_mi_thunk): Always use a raw jump for now.
|
||
|
||
Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* tree.h (TYPE_BINFO): Document.
|
||
|
||
Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* i386-coff.h (dbxcoff.h): Added.
|
||
|
||
Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* toplev.c: Fix bad patch around flag_data_sections.
|
||
|
||
Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* reload1.c (reload): Use reload_address_index_reg_class and
|
||
reload_address_base_reg_class when setting
|
||
caller_save_spill_class. (Patch generated by Jim Wilson:
|
||
wilson@cygnus.com).
|
||
|
||
Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
|
||
and ARRAY_TYPEs. Tidy up. Improve support for type-punning.
|
||
* expr.c (store_field): Add alias_set parameter. Set the
|
||
MEM_ALIAS_SET accordingly, if the target is a MEM.
|
||
(expand_assignment): Use it.
|
||
(store_constructor_field): Pass 0.
|
||
(expand_expr): Likewise.
|
||
|
||
Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* flags.h: Add flag_data_sections.
|
||
* toplev.c: Add option -fdata-sections. Add flag_data_sections.
|
||
(compile_file): Error if flag_data_sections not supported.
|
||
* varasm.c (assemble_variable): Handle flag_data_sections.
|
||
* config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
|
||
* config/mips/elf.h: Likewise.
|
||
* config/mips/elf64.h: Likewise.
|
||
* invoke.texi: Describe -fdata-sections.
|
||
|
||
Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org>
|
||
|
||
* invoke.texi (-ffloat-store): Clarify that this option
|
||
does not affect intermediate results -- only variables.
|
||
|
||
Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cpp.texi: Update for Fortran usage from Craig.
|
||
|
||
Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (function_arg_boundary): Revert accidental change on
|
||
September 18.
|
||
|
||
Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
|
||
(output_mi_thunk): Declare.
|
||
|
||
* rs6000.c (output_mi_thunk): Function to create thunks for MI.
|
||
(output_function_profiler): Use r12 for temp, instead of r11 so
|
||
that we preserve the static chain register.
|
||
|
||
Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
|
||
|
||
Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (gen_shl_sext): Fix case 5.
|
||
|
||
Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_combine): Re-add line that got accidentally lost.
|
||
|
||
Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
|
||
accessing variables until they are initialized via va_arg().
|
||
|
||
Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* reload1.c (reload_combine): Initialize set before using.
|
||
|
||
Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* sdbout.c (sdbout_field_types): Don't emit the types of fields we
|
||
won't be emitting.
|
||
|
||
Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.md (insv): Add comment. In CONST_INT case, and
|
||
operand3 with mask before using it. Patch provided by Jim Wilson.
|
||
|
||
Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* config/sparc/sparc.c (function_value): Perform the equivalent of
|
||
PROMOTE_MODE for ARCH64.
|
||
(eligible_for_epilogue_delay): Allow DImode operations in delay
|
||
slot of a return for ARCH64.
|
||
|
||
Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (sqrtsf2): Fix mode of sqrt.
|
||
|
||
Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (choose_reload_regs): Also try inheritance when
|
||
reload_in is a stack slot of a pseudo, even if we already got a
|
||
reload reg.
|
||
|
||
Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
|
||
(reload_cse_regs): New function body: call reload_cse_regs_1,
|
||
reload_combine, reload_cse_move2add.
|
||
When doing expensive_optimizations, call reload_cse_regs_1 a
|
||
second time after reload_cse_move2add.
|
||
(reload_combine, reload_combine_note_store): New functions.
|
||
(reload_combine_note_use): New function.
|
||
(reload_cse_move2add, move2add_note_store): New functions.
|
||
|
||
Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
|
||
reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
|
||
|
||
Properly keep track of first RELOAD_FOR_X_ADDRESS also for
|
||
more than 3 such reloads.
|
||
|
||
If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
|
||
RELOAD_FOR_X_ADDR_ADDR reload.
|
||
|
||
Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (store_constructor): When initializing a field that is smaller
|
||
than a word, at the start of a word, try to widen it to a full word.
|
||
|
||
* cse.c (cse_insn): When we are about to change a register,
|
||
remove any invalid references to it.
|
||
|
||
(remove_invalid_subreg_refs): New function.
|
||
(mention_regs): Special treatment for SUBREGs.
|
||
(insert_regs): Don't strip SUBREG for call to mention_regs.
|
||
Check if reg_tick needs to be bumped up before that call.
|
||
(lookup_as_function): Try to match known word_mode constants when
|
||
looking for a norrower constant.
|
||
(canon_hash): Special treatment for SUBREGs.
|
||
|
||
Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
|
||
* config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
|
||
defined, emit libcall to __enable_execute_stack. Also fix opcodes
|
||
and offsets in actual stack trampoline code so they match the
|
||
commentary and actually work.
|
||
|
||
Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
|
||
tmake_file.
|
||
(sparc64-*-linux): Use t-linux and sparc/t-linux64 for
|
||
tmake_file. Set extra_parts to needed crt objects.
|
||
* configure: Rebuilt.
|
||
* config/sparc/linux64.h (SPARC_BI_ARCH): Define.
|
||
(TARGET_DEFAULT): Set if default is v9 or ultra.
|
||
(STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
|
||
(STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
|
||
(ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
|
||
(SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
|
||
LINK_SPEC, LINK_ARCH_SPEC): Likewise.
|
||
(TARGET_VERSION): Define.
|
||
(MULTILIB_DEFAULT): Define.
|
||
* config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
|
||
mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
|
||
(CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
|
||
appropriately.
|
||
(TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
|
||
* config/sparc/sparc.c (sparc_override_options): If arch and
|
||
pointer size disagree, emit diagnostic and fix it up. If
|
||
SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
|
||
V8PLUS in 64-bit mode.
|
||
* config/sparc/t-linux64: New file.
|
||
* config/sparc/t-sol2-64: New file.
|
||
* config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
|
||
* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
|
||
(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
|
||
CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
|
||
(ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
|
||
(STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
|
||
Define.
|
||
(STARTFILE_SPEC): Set appropriately based upon those.
|
||
(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
|
||
disposition of DEFAULT_ARCH32_P.
|
||
(LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
|
||
(LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
|
||
(CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
|
||
(MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
|
||
* config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
|
||
arch64/v9.
|
||
* config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
|
||
|
||
Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* rtl.h (init_virtual_regs): New function.
|
||
* emit-rtl.c (init_virtual_regs): Define.
|
||
(insn_emit): Use it.
|
||
* integrate.c (save_for_inline_copying): Likewise.
|
||
|
||
Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.h: The following patches were made by Jim Wilson:
|
||
(enum reg_class): Add NONARG_LO_REGS support.
|
||
(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
|
||
PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
|
||
completes. Re-enable HImode REG+OFFSET addresses.
|
||
(LEGITIMIZE_RELOAD_ADDRESS): Define.
|
||
|
||
* expmed.c (extract_bit_field): Add comment from Jim Wilson.
|
||
|
||
Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (get_aligned_mem): Revert Sep 20 change.
|
||
(alpha_set_memflags, alpha_set_memflags_1): Likewise.
|
||
(alpha_align_insns): Properly calculate initial offset wrt max_align.
|
||
|
||
Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (find_barrier): Revert change of Apr 23. Handle table
|
||
jumps as a single entity, taking into account the size of the
|
||
table.
|
||
|
||
Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* tree.def (SWITCH_EXPR): New tree node definition.
|
||
|
||
Mon Sep 21 23:40:38 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Sep 21 22:31:14 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Recognize i[34567]86-*-openbsd* and handle it like
|
||
NetBSD.
|
||
|
||
Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Revert this patch.
|
||
* reload.c (find_reloads): Do not replace a pseudo with
|
||
(MEM (reg_equiv_addr)) in the initializing insn for the
|
||
pseudo.
|
||
|
||
Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
|
||
|
||
* final.c (final_scan_insn): Disable tracking CC across branches.
|
||
|
||
Mon Sep 21 17:15:26 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* expr.h (eh_rtime_match_libfunc): New extern declaration.
|
||
* optabs.c (init_optabs): Set eh_rtime_match_libfunc.
|
||
* except.c (start_catch_handler): Use eh_rtime_match_libfunc.
|
||
* libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
|
||
NULL. Only include <stdio.h> if inhibit_libc is not defined.
|
||
|
||
Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): Skip compiling anything with
|
||
DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
|
||
|
||
Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* flow.c (find_basic_blocks): Delete check for in_libcall_block when
|
||
prev_code is a CALL_INSN. Change check for REG_RETVAL note to
|
||
use in_libcall_block.
|
||
(find_basic_blocks_1): Delete check for in_libcall_block when prev_code
|
||
is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
|
||
to INSN.
|
||
|
||
Mon Sep 21 14:02:23 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386.h (TARGET_SWITCHES): Improve doc for align-double. Fix
|
||
typo in no-fancy-math-387 description.
|
||
|
||
Mon Sep 21 09:27:18 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* i386-coff.h (DBX_DEBUGGING_INFO): Added.
|
||
|
||
Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386.h (TARGET_SWITCHES): Add description fields for flags
|
||
documented in install.texi.
|
||
(TARGET_OPTIONS): Likewise.
|
||
|
||
Mon Sep 21 01:39:03 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
|
||
|
||
* c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
|
||
* cccp.c (main): Likewise.
|
||
|
||
* cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
|
||
Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
|
||
macro-use bugs.
|
||
|
||
Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* Makefile.in (LIBS): Link in libiberty.a.
|
||
* c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
|
||
|
||
Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
|
||
it to update bb boundaries. Update caller.
|
||
* function.c (reposition_prologue_and_epilogue_notes): Update
|
||
bb boundaries wrt the moved note.
|
||
|
||
Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
|
||
problems.
|
||
* configure: Regenerate.
|
||
|
||
Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_sr_alias_set): New variable.
|
||
(override_options): Set it.
|
||
(alpha_expand_prologue, alpha_expand_epilogue): Use it.
|
||
(mode_mask_operand): Fix signed-unsigned comparison warning.
|
||
(alpha_expand_block_move): Likewise.
|
||
(print_operand): Likewise.
|
||
(get_aligned_mem): Use change_address.
|
||
(alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
|
||
(alphaev4_insn_pipe, alphaev4_next_group): New functions.
|
||
(alphaev4_next_nop, alphaev5_next_nop): New functions.
|
||
(alpha_align_insns): Remade from old alphaev5_align_insns
|
||
to handle multiple processors.
|
||
(alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
|
||
* output.h (label_to_alignment): Prototype.
|
||
|
||
* tree.c (new_alias_set): New function.
|
||
* tree.h (new_alias_set): Declare it.
|
||
* c-common.c (c_get_alias_set): Use it.
|
||
|
||
Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* fold-const.c (fold): Yet another COND_EXPR bug: when folding
|
||
to an ABS expr, convert an unsigned input to signed.
|
||
|
||
Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (fold): Fix another type in COND_EXPR handling code.
|
||
|
||
1998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* configure.in: Add support for c4x targets.
|
||
* configure: Rebuilt.
|
||
|
||
Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (distribute_notes): If an insn is a cc0 user, only
|
||
delete it if we can also delete the cc0 setter.
|
||
|
||
Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
|
||
|
||
* fold-const.c (fold): Fix typo in COND_EXPR handling code.
|
||
(invert_truthvalue): Enable truthvalue inversion for
|
||
floating-point operands if -ffast-math.
|
||
|
||
Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
|
||
|
||
* configure.in: Disable collect2 for nextstep. Instead use
|
||
crtbegin/crtend.
|
||
* configure: Rebuilt.
|
||
* config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
|
||
(ENDFILE_SPEC): Define.
|
||
(OBJECT_FORMAT_MACHO): Define.
|
||
(EH_FRAME_SECTION_ASM_OP): Define.
|
||
* crtstuff.c: Handle MACHO.
|
||
|
||
Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
|
||
|
||
1998-09-19 Torbjorn Granlund <tege@matematik.su.se>
|
||
|
||
* fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
|
||
(_fpadd_parts): Get sign right for 0.
|
||
|
||
1998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* ginclude/varargs.h: Add support for C4x target.
|
||
* ginclude/stdargs.h: Likewise.
|
||
|
||
Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_return_addr): SET should be VOIDmode.
|
||
(alpha_emit_set_long_const): Rewrite to be callable from reload
|
||
and 32-bit hosts.
|
||
(alpha_expand_epilogue): Update for alpha_emit_set_long_const.
|
||
* alpha.md (movdi): Likewise.
|
||
|
||
Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (add_constant): New parameter address_only, change caller.
|
||
Set it nonzero if taking the address of an item in the pool.
|
||
(arm_reorg): Handle cases where we need the address of an item in
|
||
the pool.
|
||
|
||
* arm.c (bad_signed_byte_operand): Check both arms of a sum in
|
||
a memory address.
|
||
* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
|
||
memory addresses that are not in standard canonical form.
|
||
|
||
Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
|
||
|
||
* README.C4X: New file with information about the c4x ports.
|
||
* ginclude/va-c4x.h: New file for c4x varargs support.
|
||
* config/c4x: New directory with c4x port files.
|
||
|
||
Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload.c (find_reloads): Do not replace a pseudo with
|
||
(MEM (reg_equiv_addr)) in the initializing insn for the
|
||
pseudo.
|
||
|
||
Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* toplev.c (rest_of_compilation): Set bct_p on second call to
|
||
loop_optimize.
|
||
* loop.c (loop_optimize, scan_loop, strength_reduce): New argument
|
||
bct_p.
|
||
(strength_reduce): Only call analyze_loop_iterations and
|
||
insert_bct if bct_p set.
|
||
(check_dbra_loop): Fix typo.
|
||
(insert_bct): Use word_mode instead of SImode.
|
||
(instrument_loop_bct): Likewise. Do not delete iteration count
|
||
condition code generation insn. Initialize iteration count before
|
||
loop start.
|
||
* rtl.h (loop_optimize): Update prototype.
|
||
|
||
* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
|
||
not doubleword aligned.
|
||
|
||
* rs6000.c (optimization_options): New function.
|
||
(secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
|
||
* rs6000.h (OPTIMIZATION_OPTIONS): Define.
|
||
(REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
|
||
first; cr1 can be used for FP record condition insns.
|
||
|
||
Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/m32r/m32r.h (m32r_block_immediate_operand): Add to
|
||
PREDICATE_CODES.
|
||
|
||
* config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
|
||
patterns.
|
||
|
||
* config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
|
||
operators.
|
||
(block_move_call): New function: Call a library routine to copy a
|
||
block of memory.
|
||
(m32r_expand_block_move): New function: Expand a "movstrsi"
|
||
pattern into a sequence of insns.
|
||
(m32r_output_block_move): New function: Expand a
|
||
"movstrsi_internal" pattern into a sequence of assembler opcodes.
|
||
(m32r_block_immediate_operand): New function: Return true if the
|
||
RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
|
||
|
||
Thu Sep 17 16:42:16 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
|
||
re-align some code.
|
||
* libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
|
||
|
||
Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (copy_src_to_dest): Check that modes match.
|
||
|
||
Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
|
||
|
||
Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
|
||
narrower than FLOAT_REGS.
|
||
|
||
Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
|
||
* cccp.c: Likewise.
|
||
* Makefile.in (old_gxx_include_dir): Removed.
|
||
|
||
Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
|
||
new specification.
|
||
|
||
* config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
|
||
(sh_handle_pragma): Change function arguments to match new
|
||
specification for HANDLE_PRAGMA.
|
||
|
||
Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
|
||
`unsigned char'.
|
||
(main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
|
||
When generating output, initialize missing struct member to zero.
|
||
|
||
Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (copy_src_to_dest): Don't copy if that requires
|
||
(a) new register(s).
|
||
|
||
Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* global.c (reg_allocno): Now static.
|
||
* reload1.c (reg_allocno): Delete declaration.
|
||
(order_regs_for_reload): Take no arguments. Don't treat regs
|
||
allocated by global differently than those allocated by local-alloc.
|
||
|
||
Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
|
||
condition, fix format strings.
|
||
(output_function_epilogue): Likewise.
|
||
|
||
* m68k/m68k.c: Don't include <stdlib.h> directly.
|
||
|
||
Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
|
||
|
||
* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
|
||
mem_first_set, mem_last_set; because 0 can be a CUID.
|
||
(oprs_unchanged_p): Use new definition.
|
||
(record_last_reg_set_info): Likewise.
|
||
(record_last_mem_set_info): Likewise.
|
||
(compute_hash_table): Likewise.
|
||
|
||
Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.c (output_epilogue): Handle Chill.
|
||
|
||
* mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
|
||
* mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
|
||
|
||
* combine.c (make_extraction): If no mode is specified for
|
||
an operand of insv, extv, or extzv, default it to word_mode.
|
||
(simplify_comparison): Similarly.
|
||
* expmed.c (store_bit_field): Similarly.
|
||
(extract_bit_field): Similarly.
|
||
* function.c (fixup_var_regs_1): Similarly.
|
||
* recog.c (validate_replace_rtx_1): Similarly.
|
||
* mips.md (extv, extzv, insv expanders): Default modes for most
|
||
operands. Handle TARGET_64BIT.
|
||
(movdi_uld, movdi_usd): New patterns.
|
||
|
||
* pa.c (emit_move_sequence): Do not replace a pseudo with its
|
||
equivalent memory location unless we have been provided a scratch
|
||
register. Similarly do not call find_replacement unless a
|
||
scratch register has been provided.
|
||
|
||
Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
|
||
return FLOAT_REGS.
|
||
|
||
Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
|
||
(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
|
||
(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
|
||
(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
|
||
* c-decl.c (init_decl_processing): Update accordingly.
|
||
* expr.c (expand_builtin): Likewise.
|
||
|
||
* rtl.h (global_rtl): Add cfa entry.
|
||
(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
|
||
(LAST_VIRTUAL_REGISTER): Update.
|
||
* emit-rtl.c (global_rtl): Add cfa entry.
|
||
(init_emit): Initialize it.
|
||
* function.c (cfa_offset): New.
|
||
(instantiate_virtual_regs): Initialize it.
|
||
(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
|
||
(expand_function_end): Call expand_eh_return.
|
||
* tm.texi (ARG_POINTER_CFA_OFFSET): New.
|
||
|
||
* except.c (current_function_eh_stub_label): Kill.
|
||
(current_function_eh_old_stub_label): Likwise; update all references.
|
||
(expand_builtin_set_return_addr_reg): Kill.
|
||
(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
|
||
(expand_builtin_set_eh_regs): Kill.
|
||
(eh_regs): Produce a third reg for the actual handler address.
|
||
(eh_return_context, eh_return_stack_adjust): New.
|
||
(eh_return_handler, eh_return_stub_label): New.
|
||
(init_eh_for_function): Initialize them.
|
||
(expand_builtin_eh_return, expand_eh_return): New.
|
||
* except.h: Update prototypes.
|
||
* flow.c (find_basic_blocks_1): Update references to the stub label.
|
||
* function.h (struct function): Kill stub label elements.
|
||
|
||
* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
|
||
register number is one that would be in the previous window.
|
||
Provide a dummy definition for non-windowed targets.
|
||
(get_reg_addr): New function.
|
||
(get_reg, put_reg, copy_reg): Use it.
|
||
(__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
|
||
generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
|
||
|
||
* alpha.c (alpha_eh_epilogue_sp_ofs): New.
|
||
(alpha_init_expanders): Initialize it.
|
||
(alpha_expand_epilogue): Use it.
|
||
* alpha.h: Declare it.
|
||
* alpha.md (eh_epilogue): New.
|
||
|
||
* m68h.h (ARG_POINTER_CFA_OFFSET): New.
|
||
* sparc.h (ARG_POINTER_CFA_OFFSET): New.
|
||
|
||
Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
|
||
flag bit mask.
|
||
|
||
Tue Sep 15 14:10:54 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.h (struct eh_entry): Add false_label field.
|
||
(end_catch_handler): Add prototype.
|
||
* except.c (push_eh_entry): Set false_label field to NULL_RTX.
|
||
(start_catch_handler): When using old style exceptions, issue
|
||
runtime typematch code before continuing with the handler.
|
||
(end_catch_handler): New function, generates label after handler
|
||
if needed by older style exceptions.
|
||
(expand_start_all_catch): No need to check for new style exceptions.
|
||
(output_exception_table_entry): Only output the first handler label
|
||
for old style exceptions.
|
||
* libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
|
||
mechanism into one function, if a runtime matcher is provided.
|
||
|
||
Tue Sep 15 13:53:59 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
|
||
|
||
Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* integrate.c (copy_decl_list): Fix typo.
|
||
|
||
Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
|
||
attribute.
|
||
|
||
Mon Sep 14 14:02:53 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Sep 14 10:33:56 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Sep 14 09:51:05 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* invoke.texi (C Dialect Options): Put back missing @end itemize.
|
||
|
||
Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* configure.in: Remove usage of `!' to negate the result of a
|
||
command; some common shells do not support it.
|
||
|
||
Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* configure.in: In sparc9-sol2 config, use 'if test' not
|
||
brackets.
|
||
* configure: Rebuilt.
|
||
|
||
* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
|
||
CM_MEDANY.
|
||
(CPP_CPU_SPEC): Do not define _LP64, header files do this.
|
||
(CPP_CPU_DEFAULT_SPEC): Likewise.
|
||
* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
|
||
for arch64 libfuncs.
|
||
|
||
* config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
|
||
for operand zero.
|
||
|
||
Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
|
||
|
||
* collect2.c: Don't declare `sys_siglist' here.
|
||
(my_strsignal): Prototype and define new function. Use it in
|
||
place of `sys_siglist' hacks.
|
||
|
||
* mips_tfile.c: Likewise.
|
||
|
||
* configure.in (AC_CHECK_FUNCS): Check for strsignal.
|
||
(GCC_NEED_DECLARATIONS): Likewise.
|
||
|
||
* system.h (strsignal): Prototype it, if necessary.
|
||
(sys_siglist): Declare it, if necessary.
|
||
|
||
Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* loop.c (move_movables): While removing insn sequences, preserve
|
||
the next pointer of the most recently deleted insn when we skip
|
||
over a NOTE.
|
||
|
||
Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
|
||
|
||
* objc/config-lang.in: Do not output the name of the selected
|
||
thread file when building the front-end. The Makefile for the
|
||
runtime library will do this.
|
||
|
||
* objc/Make-lang.in: Do not build the runtime library or install
|
||
the Objective-C header files. The Makefile for the runtime
|
||
library will do this.
|
||
|
||
* objc/Makefile.in (all.indirect): Only build the front-end.
|
||
(compiler): Rename to `frontend'.
|
||
(obj-runtime): Remove target.
|
||
(copy-headers): Likewise.
|
||
(clean): No need to remove `libobjc.a' any longer.
|
||
|
||
Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
|
||
supported with -mcpu=xxx.
|
||
|
||
Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* flow.c (mark_set_1): Recognize multi-register structure return
|
||
values in CALL insns.
|
||
(mark_used_regs): Likewise.
|
||
(count_reg_sets_1): Likewise.
|
||
(count_reg_references): Likewise.
|
||
* rtlanal.c (note_stores): Likewise.
|
||
(reg_overlap_mentioned_p): Likewise.
|
||
* haifa-sched.c (check_live_1): Likewise.
|
||
(update_live_1): Likewise.
|
||
(sched_analyze_1): Likewise.
|
||
(sched_note_set): Likewise.
|
||
(birthing_insn_p): Likewise.
|
||
(attach_deaths): Likewise.
|
||
|
||
* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
|
||
|
||
Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
|
||
|
||
* config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
|
||
|
||
Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
|
||
|
||
Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* configure.in: Add check for GAS subsection -1 support.
|
||
* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
|
||
* configure config.in: Rebuilt.
|
||
* config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
|
||
SImode is subsection -1 works, else use DImode.
|
||
(ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
|
||
subsection -1 works.
|
||
* config/sparc/sparc.c (sparc_output_addr_vec,
|
||
sparc_output_addr_diff_vec): Use them if defined.
|
||
|
||
Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* tree.h (DECL_ORIGIN): New macro.
|
||
* integrate.c (copy_and_set_decl_abstract_origin): New function.
|
||
(copy_decl_list): Use it.
|
||
(integrate_parm_decls): Likewise.
|
||
(integrate_decl_tree): Likewise.
|
||
* dwarf2out.c (decl_ultimate_origin): Simplify.
|
||
* dwarfout.c (decl_ultimate_origin): Likewise.
|
||
* c-decl.c (duplicate_decls): Use DECL_ORIGIN.
|
||
(pushdecl): Likewise.
|
||
|
||
Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (output_epilog): Add Java support.
|
||
|
||
Thu Sep 10 14:48:59 1998 Martin von Löwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* invoke.texi (C++ Dialect Options): Document -fhonor-std.
|
||
|
||
Thu Sep 10 01:38:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
|
||
empty or has a single entry.
|
||
|
||
* toplev.c (rest_of_compilation): Open up the dump file for reg-stack
|
||
before calling reg_to_stack.
|
||
|
||
Thu Sep 10 00:03:34 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alphaev5_insn_pipe): Abort on default case.
|
||
(alphaev5_next_group): Swallow CLOBBERs and USEs.
|
||
|
||
* c-tree.h (warn_long_long): Declare it.
|
||
|
||
Wed Sep 9 23:31:36 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.
|
||
|
||
Wed Sep 9 23:00:48 1998 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-lex.c (real_yylex): Don't warn about long long constants if
|
||
we're allowing long long
|
||
|
||
Wed Sep 9 21:58:41 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* except.h (current_function_eh_stub_label): Declare.
|
||
(current_function_eh_old_stub_label): Declare.
|
||
* function.h (struct function): New members eh_stub_label and
|
||
eh_old_stub_label.
|
||
* except.c (current_function_eh_stub_label): New variable.
|
||
(current_function_eh_old_stub_label): New variable.
|
||
(init_eh_for_function): Clear them.
|
||
(save_eh_status): Save them.
|
||
(restore_eh_status): Restore them.
|
||
(expand_builtin_eh_stub): Set current_function_eh_stub_label.
|
||
(expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
|
||
* flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
|
||
make an edge from the block that contains it to the block starting
|
||
with the label if this label is one of the eh stub labels.
|
||
If eh stub labels exist, show they are reachable from the last block
|
||
in the function.
|
||
|
||
* reload1.c (reload): Break out several subroutines and make some
|
||
variables global.
|
||
(calculate_needs_all_insns): New function, broken out of reload.
|
||
(calculate_needs): Likewise.
|
||
(find_reload_regs): Likewise.
|
||
(find_group): Likewise.
|
||
(find_tworeg_group): Likewise.
|
||
(something_needs_reloads): New global variable, formerly in reload.
|
||
(something_needs_elimination): Likewise.
|
||
(caller_save_spill_class): Likewise.
|
||
(caller_save_group_size): Likewise.
|
||
(max_needs): Likewise.
|
||
(group_size): Likewise.
|
||
(max_groups): Likewise.
|
||
(max_nongroups): Likewise.
|
||
(group_mode): Likewise.
|
||
(max_needs_insn): Likewise.
|
||
(max_groups_insn): Likewise.
|
||
(max_nongroups_insn): Likewise.
|
||
(failure): Likewise.
|
||
|
||
* print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
|
||
|
||
Wed Sep 9 13:14:41 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.c (load_mems): Copy rtx for output mem.
|
||
|
||
Wed Sep 9 15:16:58 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
|
||
mips1 or mips2 either.
|
||
|
||
Wed Sep 9 12:31:35 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (pa_reorg): New marking scheme for jumps inside switch
|
||
tables.
|
||
(pa_adjust_insn_length): Update to work with new marking scheme
|
||
for jumps inside switch tables.
|
||
* pa.md (switch_jump): Remove pattern.
|
||
(jump): Handle jumps inside jump tables.
|
||
|
||
* Makefile.in (profile.o): Depend on insn-config.h
|
||
|
||
Wed Sep 9 09:36:51 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* iris6.h (DWARF2_UNWIND_INFO): Undef.
|
||
|
||
Wed Sep 9 01:32:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
Add preliminary native sparcv9 Solaris support.
|
||
* configure.in: Recognize sparv9-*-solaris2*
|
||
* configure: Rebuilt.
|
||
* config.sub: Recognize sparcv9 just like sparc64.
|
||
* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
|
||
config/sparc/sol2-cn.asm: Macroize so it can be shared between
|
||
32-bit and 64-bit Solaris systems.
|
||
* config/sparc/t-sol2: Assemble those with cpp.
|
||
* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
|
||
(*TF*_LIBCALL): If ARCH64 use V9 names.
|
||
* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
|
||
|
||
Wed Sep 9 01:07:30 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
|
||
(CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
|
||
not doing pic.
|
||
(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
|
||
Pmode.
|
||
* config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
|
||
to Pmode if CASE_VECTOR_MODE is something else.
|
||
|
||
Wed Sep 9 00:10:31 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* prefix.c (update_path): Correctly handle cases where PATH is
|
||
a substring of the builtin prefix, but specifies a different
|
||
directory location.
|
||
|
||
Tue Sep 8 23:46:04 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* expr.c: Corrected comment about what MOVE_RATIO does.
|
||
* config/alpha/alpha.h: Likewise.
|
||
* config/1750a/1750a.h: Likewise.
|
||
* config/clipper/clipper.h: Likewise.
|
||
* config/i386/i386.h: Likewise.
|
||
|
||
Tue Sep 8 22:56:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (m68k-next-nextstep3*): Use collect2.
|
||
Similarly for x86 NeXT configurations.
|
||
* configure: Rebuilt.
|
||
|
||
Tue Sep 8 01:38:57 1998 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* configure.in: Don't assume srcdir is .../gcc.
|
||
* configure: Rebuilt.
|
||
|
||
Sat Sep 5 16:34:34 1998 John Wehle (john@feith.com)
|
||
|
||
* global.c: Update comments.
|
||
(global_alloc): Assign allocation-numbers
|
||
even for registers allocated by local_alloc in case
|
||
they are later spilled and retry_global_alloc is called.
|
||
(mark_reg_store, mark_reg_clobber,
|
||
mark_reg_conflicts, mark_reg_death): Always record a
|
||
conflict with a pseudo register even if it has been
|
||
assigned to a hard register.
|
||
(dump_conflicts): Don't list pseudo registers already assigned to
|
||
a hard register as needing to be allocated, but do list their
|
||
conflicts.
|
||
* local-alloc.c: Update comment.
|
||
|
||
Mon Sep 7 23:38:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
|
||
* configure: Rebuilt.
|
||
|
||
Mon Sep 7 22:41:46 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_override_options): Fix name for ec603e, to add
|
||
missing 'c'.
|
||
* t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
|
||
for all targets that set -msoft-float.
|
||
|
||
Mon Sep 7 23:30:07 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* toplev.c (print_switch_values): Make static to match prototype.
|
||
|
||
Mon Sep 7 19:13:59 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: If we are unable to find the "gnatbind" program,
|
||
then do not configure the ada subdir.
|
||
* configure: Rebuilt.
|
||
|
||
Sun Sep 6 14:03:58 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Sep 6 13:28:07 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Sep 6 08:54:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (toplev.o): Depend on $(EXPR_H).
|
||
(insn-extract.o, insn-attrtab.o): Depend on toplev.h.
|
||
|
||
* gansidecl.h: Define ATTRIBUTE_NORETURN.
|
||
|
||
* genattrtab.c: Have insn-attrtab.c include toplev.h.
|
||
|
||
* genextract.c: Have insn-extract.c include toplev.h.
|
||
|
||
* rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
|
||
|
||
* toplev.c: Include expr.h.
|
||
(really_sorry, fancy_abort): Remove prototypes.
|
||
(set_target_switch): Add argument in prototype.
|
||
(vfatal): Mark prototype with ATTRIBUTE_NORETURN.
|
||
(v_really_sorry): Likewise.
|
||
(print_version, print_single_switch, print_switch_values): Make
|
||
static and add prototype arguments.
|
||
(decl_printable_name): Add prototype arguments.
|
||
(lang_expand_expr_t): New typedef.
|
||
(lang_expand_expr): Declare as a lang_expand_expr_t.
|
||
(incomplete_decl_finalize_hook): Add prototype argument.
|
||
(decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
|
||
(botch): Likewise for variable `s'.
|
||
(rest_of_type_compilation): Mark variables `type' and `toplev'
|
||
with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
|
||
XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
|
||
(display_help): Make variable `i' an `unsigned long'.
|
||
(main): Remove unused parameter `envp'.
|
||
Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
|
||
Cast -1 when comparing it with a `size_t'.
|
||
|
||
* toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
|
||
prototype with ATTRIBUTE_NORETURN.
|
||
(fatal_insn_not_found, fatal_insn, really_sorry,
|
||
push_float_handler, pop_float_handler): Add prototypes.
|
||
(fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
|
||
(do_abort, botch): Add prototypes.
|
||
|
||
Sat Sep 6 12:05:18 1998 John Carr <jfc@mit.edu>
|
||
|
||
* final.c (final): If a label is reached only from a single jump,
|
||
call NOTICE_UPDATE_CC on the jump and its predecessor before
|
||
emitting the insn after the label.
|
||
|
||
* i386.h: Add AMD K6 support.
|
||
Change TARGET_* macros to use table lookup.
|
||
(INITIALIZE_TRAMPOLINE): Improve trampoline code.
|
||
(ADJUST_COST): Change definition to call function in i386.c.
|
||
(ISSUE_RATE): Define as 2 for anything newer than an 80486.
|
||
* i386.c: Add AMD K6 support.
|
||
Add constants for feature tests used by TARGET_* macros.
|
||
(split_di): If before reload, call gen_lowpart and gen_highpart.
|
||
(x86_adjust_cost): New function.
|
||
(put_jump_code): New function.
|
||
(print_operand): New codes 'D' and 'd'.
|
||
* i386.md: New insn types. New insn attribute "memory".
|
||
Redefine scheduling parameters to use new types and add AMD K6
|
||
support. Explicitly set type of most insns.
|
||
(move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium
|
||
Pro and K6 prefer movl $1,reg to incl reg.
|
||
(adddi3, subdi3): Set cc_status.
|
||
(DImode shift patterns): Change label counters from HOST_WIDE_INT
|
||
to int; x86 can't have more than 2^31 DImode shifts per file.
|
||
(setcc): Combine all setcc patterns. Allow writing memory.
|
||
Combine all jump patterns using match_operator.
|
||
(*bzero): Name pattern. Emit multiple stos instructions when that
|
||
is faster than rep stos.
|
||
(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
|
||
add define_split.
|
||
|
||
Sun Sep 6 11:17:20 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
|
||
linking.
|
||
|
||
Sat Sep 5 22:05:25 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
|
||
not whatever we're generating now.
|
||
|
||
* alpha.c (set_frame_related_p, FRP): New.
|
||
(alpha_expand_prologue): Mark frame related insns.
|
||
(alpha_expand_epilogue): Likewise, but with a null FRP.
|
||
* alpha.h (INCOMING_RETURN_ADDR_RTX): New.
|
||
* alpha.md (exception_receiver): New.
|
||
* alpha/crtbegin.asm (.eh_frame): New beginning.
|
||
(__do_frame_setup, __do_frame_takedown): New.
|
||
* alpha/crtend.asm (.eh_frame): New ending.
|
||
* alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
|
||
(ASM_SPEC): Don't emit both dwarf2 and mdebug.
|
||
(ASM_FILE_START): Don't emit .file for dwarf2.
|
||
|
||
* rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
|
||
* rtl.c (reg_note_name): Likewise.
|
||
* rtl.texi (REG_NOTES): Likewise.
|
||
* dwarf2out.c (dwarf2out_frame_debug): Use it. Recognize a store
|
||
without an offset.
|
||
|
||
Sat Sep 5 14:47:17 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
|
||
* i386.md (movsf, movdf, movxf): Validate memory address returned
|
||
from force_const_mem. Kill useless REG_EQUAL setting code.
|
||
|
||
Sat Sep 5 14:23:31 1998 Torbjorn Granlund <tege@matematik.su.se>
|
||
|
||
* m68k.md (zero_extendsidi2): Fix typo.
|
||
|
||
Sat Sep 5 13:40:24 1998 Krister Walfridsson <cato@df.lth.se>
|
||
|
||
* configure.in: Removed references to the removed file.
|
||
* config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
|
||
arm*-*-netbsd* and ns32k-*-netbsd*.
|
||
* config/i386/xm-netbsd.h: Removed unnecessary file.
|
||
* config/m68k/xm-netbsd.h: Likewise.
|
||
* config/sparc/xm-netbsd.h: Likewise.
|
||
* config/mips/xm-netbsd.h: Likewise.
|
||
|
||
Sat Aug 29 13:32:58 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
|
||
(PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
|
||
|
||
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
|
||
for exact section attributions.
|
||
|
||
* i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
|
||
runtime.
|
||
* i386/crtdll.h (CPP_PREDEFINES): Define.
|
||
|
||
Sat Sep 5 03:23:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.md (5200 movqi): Do not allow byte sized memory references
|
||
using address regs.
|
||
* m68k.c (output_move_qimode): Do not use byte sized operations on
|
||
address registers.
|
||
|
||
* Makefile.in (pexecute.o): Use pexecute.c from libiberty. Provide
|
||
explicit rules for building. Similarly for alloca, vfprintf,
|
||
choose-temp and mkstemp, getopt, getopt1, and obstack.
|
||
(INCLUDES): Add $(srcdir)/../include.
|
||
* pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
|
||
* getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
|
||
|
||
Fri Sep 4 11:57:50 1998 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* gcc.c (do_spec_1): [case 'o'] Account for
|
||
lang_specific_extra_outfiles.
|
||
(main): Correctly clear all slots in outfiles for
|
||
lang_specific_extra_outfiles. Set input_file_number before
|
||
calling lang_specific_pre_link.
|
||
|
||
Fri Sep 4 10:37:07 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
|
||
|
||
Fri Sep 4 02:01:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (output_double_int): In all V9 symbolic
|
||
cases, use xword.
|
||
(sparc_output_deferred_case_vectors): If no work to do, return.
|
||
Fix thinko in Sept 1 change.
|
||
|
||
1998-09-03 SL Baur <steve@altair.xemacs.org>
|
||
|
||
* Makefile.in: Add semicolon in BISON definition for portability.
|
||
|
||
Thu Sep 3 13:34:41 1998 Toon Moene <toon@moene.indiv.nluug.nl>
|
||
|
||
* config/nextstep.c (handle_pragma): Correct name of third
|
||
argument.
|
||
|
||
Tue Sep 1 11:30:33 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
|
||
* config/m32r/m32r.h: Make register 17 be fixed.
|
||
* config/m32r/m32r.c: Use SImode for cc operations.
|
||
|
||
Thu Sep 3 18:17:34 1998 Benjamin Kosnik <bkoz@cygnus.com>
|
||
|
||
* invoke.texi (Warning Options): Add -Wnon-template-friend
|
||
documentation.
|
||
|
||
Thu Sep 3 18:16:16 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
|
||
|
||
Thu Sep 3 18:05:16 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movsf): Disable explicit secondary-reload-like
|
||
functionality if TARGET_POWERPC64.
|
||
(movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
|
||
functionality.
|
||
|
||
Thu Sep 3 11:41:40 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
|
||
and term.h from fixinc.wrap.
|
||
|
||
Thu Sep 3 09:47:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
|
||
safe to include both string.h and strings.h together.
|
||
(GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
|
||
which headers to search for function declarations. Continue to
|
||
prefer string.h over strings.h when both are not acceptable.
|
||
|
||
* acconfig.h (STRING_WITH_STRINGS): Add stub.
|
||
|
||
* configure.in: Call GCC_HEADER_STRING.
|
||
|
||
* system.h: Test STRING_WITH_STRINGS when deciding which headers
|
||
to include. Continue to prefer string.h over strings.h when both
|
||
are not acceptable.
|
||
|
||
Wed Sep 2 23:56:29 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
|
||
not assume top 32-bits of symbolic addresses are zero if
|
||
flag_pic.
|
||
|
||
Thu Sep 3 00:23:21 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ginclude/va-alpha.h: Protect entire second portion of the
|
||
file against double inclusion.
|
||
|
||
Thu Sep 3 00:37:55 1998 Ovidiu Predescu <ovidiu@aracnet.com>
|
||
|
||
Added support for the Boehm's garbage collector.
|
||
* configure.in: Handle --enable-objc-gc.
|
||
* configure: Rebuilt.
|
||
* Makefile.in (CHECK_TARGETS): Add check-objc.
|
||
(check-objc): New rule.
|
||
* objc/Make-lang.in: Build a different Objective-C library that
|
||
runs with the Boehm's collector.
|
||
* objc/encoding.c (objc_round_acc_size_for_types): New function.
|
||
* objc/encoding.c: Correctly compute the size of compound types in
|
||
the presence of bitfields. Skip the variable name of the type if
|
||
any. Added support for long long.
|
||
* objc/encoding.h (_C_GCINVISIBLE): New specifier.
|
||
(_F_GCINVISIBLE): New mask.
|
||
* objc/gc.c: New file. Compute the type memory mask associated with
|
||
a class based on the runtime information.
|
||
* objc/misc.c: Added the hooks that use the Boehm's collector
|
||
allocation functions.
|
||
* objc/objc-act.c (build_class_template): Generate a new class
|
||
member (gc_object_type) to hold the class' type memory mask.
|
||
(build_shared_structure_initializer): Initialize the new member to
|
||
NULL.
|
||
(encode_complete_bitfield): New function. Generate the new
|
||
encoding.
|
||
(encode_field_decl): Generate the new encoding only for the GNU
|
||
runtime.
|
||
* objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
|
||
long long types.
|
||
(class_get_gc_object_type): New function to mark a pointer instance
|
||
variable as a weak pointer.
|
||
* objc/objc-features.texi: New file.
|
||
* objc/objc.h (gc_object_type): New class member.
|
||
* objc/objects.c (class_create_instance): Create a typed memory
|
||
object when compiled with Boehm's collector support.
|
||
* objc/sendmsg.c (__objc_init_install_dtable): Call
|
||
__objc_send_initialize instead of setting the initialize flag.
|
||
(__objc_send_initialize): Call __objc_generate_gc_type_description
|
||
to generate the class type memory mask. Rewrite the code that
|
||
sends the +initialize so that it is called only once (bug report
|
||
and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
|
||
* testsuite/objc: New testsuite for Objective-C type encoding.
|
||
* testsuite/lib/objc-torture.exp: New file.
|
||
* testsuite/lib/objc.exp: New file.
|
||
|
||
Wed Sep 2 14:47:36 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* jump.c (jump_optimize): In if/then/else transformations, add
|
||
another call to modified_between_p for the jump insn.
|
||
|
||
Wed Sep 2 14:16:49 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fix-header.c (symlink): Treat like readlink.
|
||
|
||
Wed Sep 2 19:30:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
|
||
as FT_float.
|
||
|
||
Wed Sep 2 10:06:07 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/nextstep.h: Update HANDLE_PRAGMA macro.
|
||
* config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
|
||
* config/i960/i960.h: Update HANDLE_PRAGMA macro.
|
||
|
||
* config/nextstep.c (handle_pragma): Take three arguments, as per
|
||
the new HANDLE_PRAGMA macro specification.
|
||
* config/h8300/h8300.c (handle_pragma): Take three arguments, as
|
||
per the new HANDLE_PRAGMA macro specification.
|
||
* config/i960/i960.c (process_pragma): Take three arguments, as
|
||
per the new HANDLE_PRAGMA macro specification.
|
||
|
||
Wed Sep 2 09:25:29 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* c-lex.c (check_newline): Call HANDLE_PRAGMA before
|
||
HANDLE_SYSV_PRAGMA if both are defined. Generate warning messages
|
||
if unknown pragmas are encountered.
|
||
(handle_sysv_pragma): Interpret return code from
|
||
handle_pragma_token (). Return success/failure indication rather
|
||
than next unprocessed character.
|
||
(pragma_getc): New function: retrieves characters from the
|
||
input stream. Defined when HANDLE_PRAGMA is enabled.
|
||
(pragma_ungetc): New function: replaces characters back into the
|
||
input stream. Defined when HANDLE_PRAGMA is enabled.
|
||
|
||
* c-pragma.c (handle_pragma_token): Return success/failure status
|
||
of the parse.
|
||
|
||
* c-pragma.h: Change prototype of handle_pragma_token().
|
||
|
||
* varasm.c (handle_pragma_weak): Only create this function if
|
||
HANDLE_PRAGMA_WEAK is defined.
|
||
|
||
* c-common,c (decl_attributes): If defined call the expression
|
||
contained within the INSERT_ATTRIBUTES macro before adding
|
||
attributes to a decl.
|
||
|
||
* tm.texi (HANDLE_PRAGMA): Document the new version of
|
||
HANDLE_PRAGMA, which takes three arguments.
|
||
(INSERT_ATTRIBUTES): Document this new macro.
|
||
|
||
* LANGUAGES: Document the new version of HANDLE_PRAGMA and the
|
||
new INSERT_ATTRIBUTES macro.
|
||
|
||
Wed Sep 2 02:03:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (movdf): Only generate special RTL for
|
||
LABEL_REFs when PIC.
|
||
(move_label_di): Remove.
|
||
(movdi_pic_label_ref, movdi_high_pic_label_ref,
|
||
movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
|
||
references when PIC.
|
||
* config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
|
||
ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
|
||
output an .xword for all 64-bit cases.
|
||
|
||
Tue Sep 1 15:55:17 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (finalize_pic): Don't output arbitrary
|
||
alignment, use FUNCTION_BOUNDARY instead.
|
||
(sparc_output_deferred_case_vectors): Likewise.
|
||
|
||
Mon Aug 31 17:25:41 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (movsf_const_intreg): Kill warning.
|
||
(movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
|
||
|
||
Mon Aug 31 13:57:55 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/va_list.h: New file.
|
||
* alpha/x-alpha (EXTRA_HEADERS): New. Add va_list.h.
|
||
|
||
Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* NEWS: Add SCO Openserver and Unixware 7 notes.
|
||
|
||
* NEWS: Fix typos.
|
||
|
||
Mon Aug 31 15:42:18 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* varasm.c (compare_constant_1): Handle RANGE_EXPR.
|
||
(record_constant_1): Handle RANGE_EXPR.
|
||
|
||
Mon Aug 31 10:54:03 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
|
||
* haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
|
||
and NOTE_INSN_RANGE_END specially.
|
||
(reemit_notes): Likewise.
|
||
|
||
Mon Aug 31 10:18:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
|
||
(ultrasparc_sched_init): Remove unneeded &.
|
||
|
||
Mon Aug 31 10:47:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
|
||
for m68020-60, to prevent the use of fintrz.
|
||
|
||
Sun Aug 30 22:17:20 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
|
||
even in stage1.
|
||
* Makefile.in: Likewise.
|
||
* configure: Regenerated.
|
||
|
||
Sun Aug 30 22:15:41 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* configure.in (gxx_include_dir): Changed to
|
||
'${prefix}/include/g++'-${libstdcxx_interface}.
|
||
* configure: Rebuilt.
|
||
|
||
Sun Aug 30 20:19:43 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
|
||
consistent.
|
||
* tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
|
||
*sequences* *below* which scalar moves will be used.
|
||
|
||
Sun Aug 30 17:18:43 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* collect2.c (mktemp): Delete unused declaration.
|
||
|
||
* config/xm-netbsd.h: Remove unnecessary file.
|
||
* config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
|
||
file anymore, it is not needed.
|
||
|
||
Sun Aug 30 16:05:45 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* convert.c (convert_to_integer): Issue an error on conversions to
|
||
incomplete types.
|
||
|
||
Sun Aug 30 16:47:20 1998 Martin von Lvwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* Makefile.in: Add lang_tree_files and gencheck.h.
|
||
* configure.in: Generate them.
|
||
* gencheck.c: Include gencheck.h.
|
||
|
||
Sat Aug 29 21:38:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
|
||
movdi_lo_sum_pic and movdi_high_pic and make visible.
|
||
* config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
|
||
emit these when Pmode is not SImode.
|
||
* config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
|
||
|
||
Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
|
||
.linkonce directive after the first time.
|
||
|
||
Sat Aug 29 12:39:56 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* m68k.md (beq0_di): Generate correct (and more efficient) code when
|
||
the clobbered operand overlaps with an input.
|
||
(bne0_di): Similarly.
|
||
|
||
* Makefile.in (INSTALL): Remove "--no-header" argument.
|
||
|
||
* NEWS: Various updates.
|
||
|
||
Fri Aug 28 19:00:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (arith_operand, const64_operand,
|
||
const64_high_operand, arith_double_4096_operand): Mark mode as
|
||
unused.
|
||
(create_simple_focus_bits): Remove unused arg highest_bit_set, all
|
||
callers changed.
|
||
(sparc_emit_set_const64): Remove unused variable i.
|
||
(sparc_splitdi_legitimate): Likewise for addr_part.
|
||
(ultra_code_from_mask): Likewise for mask.
|
||
(ultra_cmove_results_ready_p): Fixup entry modulo calc. and
|
||
reverse return values so it matches usage and comments.
|
||
(ultra_flush_pipeline): Likewise.
|
||
(ultra_fpmode_conflict_exists): Likewise, remove unused variable
|
||
this_type, and allow loads and stores of differing FP modes as
|
||
they do not create a conflict.
|
||
(ultra_find_type): Initialize fpmode to SFmode, fix
|
||
parenthesization thinkos in large conditional.
|
||
(ultrasparc_sched_init): Mark dump and sched_verbose as unused.
|
||
Init free_slot_mask after ultra_cur_hist is reset, not before.
|
||
(ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
|
||
(ultrasparc_sched_reorder): Don't bzero current pipeline state,
|
||
use ultra_flush_pipeline instead, then re-init group pointer.
|
||
Fix statement with no effect. If no progress made in, and no
|
||
instructions scheduled at all, advance to new pipeline cycle else
|
||
we get into an endless loop.
|
||
(ultrasparc_adjust_cost): Remove previous arg.
|
||
* config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
|
||
|
||
Fri Aug 28 13:52:35 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
|
||
code. Use reg_overlap_mentioned_p to detect when source and
|
||
destination overlap.
|
||
(negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
|
||
|
||
1998-08-28 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
|
||
COMPARISON_VAL, into invariant_p.
|
||
|
||
Fri Aug 28 15:13:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (regclass_compatible_p): New function.
|
||
(regmove_optimize): Use it.
|
||
|
||
Use NREGS parameter instead of calling max_reg_num.
|
||
|
||
(fixup_match_1): Don't use code = MINUS when later tieing with
|
||
a hard register is likely.
|
||
|
||
Fri Aug 28 14:54:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
|
||
COMPARISON_VAL was normalized.
|
||
|
||
Thu Aug 27 20:10:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (check_dbra_loop): The loop ending comparison value
|
||
must be an invariant or we can not reverse the loop.
|
||
|
||
* loop.c (scan_loop): Count down from max_reg_num - 1 to
|
||
FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
|
||
of the loop.
|
||
(load_mems_and_recount_loop_regs_set): Likewise.
|
||
|
||
* i386.c (print_operand): Remove obsolete 'c' docs.
|
||
|
||
Wed Aug 26 17:13:37 1998 Tom Tromey <tromey@cygnus.com>
|
||
|
||
* gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
|
||
* frame.c (init_object_mutex): New function.
|
||
(init_object_mutex_once): Likewise.
|
||
(find_fde): Call it.
|
||
(__register_frame_info): Likewise.
|
||
(__register_frame_info_table): Likewise.
|
||
(__deregister_frame_info): Likewise.
|
||
|
||
Thu Aug 27 15:14:18 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
|
||
|
||
Thu Aug 27 16:34:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (check_dbra_loop): Enable code for reversal
|
||
of some loops without a known constant loop end.
|
||
|
||
Wed Aug 26 18:38:15 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (last_clock_var): New.
|
||
(schedule_block): Initialize it.
|
||
(schedule_insn): Use it to fill insn modes with issue information.
|
||
|
||
* alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
|
||
Tag trapb and next insn with TImode.
|
||
(alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
|
||
(alpha_reorg): Add conditional for alpha_handle_trap_shadows.
|
||
Invoke alphaev5_align_insns as appropriate.
|
||
* alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
|
||
(MD_SCHED_VARIABLE_ISSUE): New.
|
||
* alpha.md (attr type): Add multi.
|
||
(define_asm_attributes): New.
|
||
(prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
|
||
(arg_home): Likewise.
|
||
(fnop, unop, realign): New.
|
||
|
||
Wed Aug 26 15:55:41 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
|
||
* iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
|
||
|
||
* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
|
||
(rs6000-ibm-aix4.[12]*): Likewise.
|
||
* configure: Regenerate.
|
||
|
||
Wed Aug 26 09:30:59 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
|
||
already contains the return address.
|
||
|
||
Wed Aug 26 12:57:09 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* calls.c (expand_call): Use bitfield instructions to extract/deposit
|
||
word sized hunks when loading unaligned args into registers.
|
||
|
||
* haifa-sched.c (sched_analyze_insn): Only create scheduling
|
||
barriers for LOOP, EH and SETJMP notes on the loop_notes list.
|
||
|
||
* mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
|
||
|
||
Wed Aug 26 16:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (check_dbra_loop): Add some code that would allow reversal
|
||
of some loops without a known constant loop end if it were enabled.
|
||
|
||
Wed Aug 26 11:08:44 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* mips.md (lshrsi3_internal2+2): Fix type-o.
|
||
|
||
Wed Aug 26 10:53:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h: Include stdarg.h/varargs.h, make sure they are ordered
|
||
correctly with regards to stdio.h.
|
||
|
||
* calls.c: Remove stdarg.h/varargs.h.
|
||
* cccp.c: Likewise.
|
||
* cexp.y: Likewise.
|
||
* combine.c: Likewise.
|
||
* cpperror.c: Likewise.
|
||
* cpplib.c: Likewise.
|
||
* cpplib.h: Likewise.
|
||
* doprint.c: Likewise.
|
||
* emit-rtl.c: Likewise.
|
||
* final.c: Likewise.
|
||
* fix-header.c: Likewise.
|
||
* gcc.c: Likewise.
|
||
* genattr.c: Likewise.
|
||
* genattrtab.c: Likewise.
|
||
* gencodes.c: Likewise.
|
||
* genconfig.c: Likewise.
|
||
* genemit.c: Likewise.
|
||
* genextract.c: Likewise.
|
||
* genflags.c: Likewise.
|
||
* genopinit.c: Likewise.
|
||
* genoutput.c: Likewise.
|
||
* genpeep.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
* mips-tfile.c: Likewise.
|
||
* prefix.c: Likewise.
|
||
* protoize.c: Likewise.
|
||
* regmove.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
* tree.c: Likewise.
|
||
|
||
Wed Aug 26 05:09:27 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* config/sparc/sparc.c (sparc_override_options): If not
|
||
TARGET_FPU, turn off TARGET_VIS.
|
||
* config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
|
||
(LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
|
||
* config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
|
||
(movdi_insn_sp64): Add VIS fzero alternative.
|
||
(clear_sf, clear_df): New VIS patterns.
|
||
(movsf, movdf expanders): Allow fp_zero_operand flat out when
|
||
TARGET_VIS.
|
||
(one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
|
||
|
||
Tue Aug 25 10:57:41 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* loop.c (n_times_set, n_times_used, may_not_optimize,
|
||
reg_single_usage): Convert to varrays. All uses changed.
|
||
(insert_loop_mem): Return a value.
|
||
(scan_loop): Tweak AVOID_CC_MODE_COPIES code.
|
||
(load_mems_and_recount_loop_regs_set): Likewise. Grow the arrays, if
|
||
necessary.
|
||
|
||
Tue Aug 25 23:57:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* From Alexandre:
|
||
* configure.in: Do not set thread_file to "irix" since no such
|
||
support exists yet.
|
||
|
||
* sparc.md (float abs/neg splits): Check reload_completed before
|
||
calling alter_subreg.
|
||
|
||
Tue Aug 25 19:17:59 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
|
||
function.
|
||
* config/sparc/sparc.h: Declare it.
|
||
* config/sparc/sparc.md (float abs/neg splits): Use it.
|
||
(all other splits): Handle SUBREGs properly where necessary.
|
||
(unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
|
||
|
||
Tue Aug 25 19:48:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
|
||
an insn on the unfilled_slots_list that has no delay slots.
|
||
(fill_eager_delay_slots): Similarly.
|
||
|
||
Tue Aug 25 13:35:20 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
|
||
as an ordinary operand.
|
||
|
||
Tue Aug 25 12:54:57 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.c (valid_machine_attribute): Don't apply attributes to both
|
||
decl and type.
|
||
|
||
Tue Aug 25 12:23:20 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (operands_match_p): Handle rtvecs.
|
||
|
||
* i386.c (legitimate_pic_address_disp_p): New.
|
||
(legitimate_address_p): Use it.
|
||
(legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
|
||
Handle constant pool symbols just like statics.
|
||
(emit_pic_move): Use Pmode not SImode for clarity.
|
||
(output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
|
||
[UNSPEC]: New, handling what we killed above.
|
||
[PLUS]: Detect and abort on invalid symbol arithmetic.
|
||
* i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
|
||
|
||
Tue Aug 25 12:02:23 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* alias.c: Include output.h.
|
||
(DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
|
||
different if we're in a varargs function.
|
||
* Makefile.in (alias.o): Depend on output.h
|
||
|
||
Tue Aug 25 19:20:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (GIV_SORT_CRITERION): Delete.
|
||
|
||
Tue Aug 25 13:19:46 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* regclass.c (regclass): Use xmalloc/free instead of alloca.
|
||
* stupid.c (stupid_life_analysis): Likewise.
|
||
* reload1.c (reload): Likewise.
|
||
|
||
Tue Aug 25 05:48:18 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
||
|
||
* config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
|
||
arith_double_4096_operand, arith_double_add_operand): New
|
||
predicates.
|
||
* config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
|
||
* config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
|
||
them to transform add/sub 4096 into add/sub -4096.
|
||
|
||
Mon Aug 24 23:31:03 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* loop.c (scan_loop): Allocate some slop to handle pseudos
|
||
generated by move_movables.
|
||
(load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
|
||
here too.
|
||
|
||
Mon Aug 24 19:45:40 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* tree.def (DECL_RESULT): Correct documentation.
|
||
|
||
Tue Aug 25 01:15:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_before_p): New argument EQUIV; Changed
|
||
all callers. Abort for RELOAD_FOR_INSN. RELOAD_FOR_OUTADDR_ADDR:
|
||
conflicts will all RELOAD_FOR_OUTPUT reloads.
|
||
|
||
* reload1.c (reload_cse_regs_1): When deleting a no-op move that
|
||
loads the function result, substitute with a USE.
|
||
|
||
Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
|
||
when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
|
||
(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
|
||
* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
|
||
(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
|
||
* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
|
||
operand.
|
||
(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
|
||
'o' to 'm' for GPR variant constraints.
|
||
|
||
Mon Aug 24 10:25:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
|
||
|
||
* h8300.h (STRIP_NAME_ENCODING): Fix typo.
|
||
|
||
* sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
|
||
when the source and destination overlap.
|
||
|
||
* stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
|
||
clash with global type.
|
||
|
||
Mon Aug 24 00:53:53 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* fixinc.irix: Add curses.h handling from fixinc.wrap.
|
||
|
||
* c-common.c (combine_strings): Also set TREE_READONLY.
|
||
Change warn_write_strings to flag_const_strings.
|
||
* c-decl.c, c-tree.h: Likewise.
|
||
|
||
Sun Aug 23 18:39:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
|
||
CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
|
||
sequence, use SET/IOR instead so CSE can see it.
|
||
* config/sparc/sparc.md (movhi_const64_special,
|
||
movsi_const64_special): New patterns necessitated by that change.
|
||
(movhi_high): Remove.
|
||
(movhi_lo_sum): Change to match an IOR.
|
||
(movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
|
||
(movdf_insn_v9only): New pattern for when V9 but not ARCH64.
|
||
(movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
|
||
(movdf splits): Allow when not V9 or when not ARCH64 and integer
|
||
registers are involved.
|
||
(snesi_zero_extend split): Remove reload_completed test.
|
||
(unnamed plus and minus zero_extend sidi splits): Add it.
|
||
|
||
Sun Aug 23 11:56:08 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* extend.texi: Remove description of extension to explicit
|
||
instantiation that is now endorsed by standard C++.
|
||
|
||
Sun Aug 23 09:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/arc/arc.c (arc_initialize_pic): Remove.
|
||
* config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
|
||
nothing on any platform and is invoked by no-one, it does not even
|
||
appear in the documentation.
|
||
* config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
|
||
* config/sparc/sparc.c (initialize_pic): Likewise.
|
||
(find_addr_reg): Remove this as well, no longer referenced after
|
||
my rewrite.
|
||
|
||
Sun Aug 23 00:17:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* recog.c (validate_replace_rtx_group): New function.
|
||
* recog.h (validate_replace_rtx_group): Declare it.
|
||
* regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
|
||
the entire group of substitutions.
|
||
|
||
Sat Aug 22 23:31:00 1998 Klaus-Georg Adams (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
|
||
|
||
* loop.c (load_mems): Fix initializers.
|
||
|
||
Fri Aug 21 23:07:46 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (TFmode splits): Handle destination
|
||
registers being referenced in the address correctly.
|
||
|
||
* expmed.c (make_tree) [CONST_INT]: Sign extend even if
|
||
TREE_UNSIGNED, when bitsize of type's mode is larger than
|
||
HOST_BITS_PER_WIDE_INT.
|
||
|
||
Fri Aug 21 19:31:31 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
|
||
* tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
|
||
EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
|
||
macros.
|
||
* expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
|
||
EXIT_BLOCK_EXPR.
|
||
|
||
Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.c (h8300_encode_label): Use '&' for tiny data items.
|
||
* h8300.h (TINY_DATA_NAME_P): Likewise.
|
||
(STRIP_NAME_ENCODING): Handle '&'.
|
||
|
||
* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
|
||
register (it could be accessed via an outer SUBREG).
|
||
(REG_OK_FOR_BASE_P): Likewise.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
|
||
|
||
* remove.c (optimize_reg_copy_3): Abort instead of silently generating
|
||
bogus rtl.
|
||
|
||
* jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
|
||
|
||
Thu Aug 20 17:35:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (movtf_insn_sp32): All memory operands
|
||
must be offsettable so the splits can be made.
|
||
|
||
Thu Aug 20 13:56:53 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/i386/winnt.c: Include system.h, not stdio.h to get
|
||
sys/param.h pulled in before rtl.h in case the system defines MIN
|
||
and MAX.
|
||
|
||
Thu Aug 20 13:44:20 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
|
||
|
||
Thu Aug 20 13:15:11 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
|
||
arrays of bits.
|
||
* cpplib.c (cpp_define): Handle macros with parameters.
|
||
|
||
Wed Aug 19 21:33:19 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
|
||
(output_toc): Use single TOC slot or llong minimal-toc for DFmode
|
||
and DImode 64-bit. Use llong for minimal-toc SFmode and
|
||
SYMBOL_REF / LABEL_REF 64-bit.
|
||
(output_function_profiler): Use llong for profiler label and ld to
|
||
load 64-bit label address.
|
||
|
||
Wed Aug 19 17:52:27 1998 Nick Clifton (nickc@cygnus.com)
|
||
|
||
* config/arm/thumb.md (extendqisi2_insn): Cope with REG +
|
||
OFFSET addressing.
|
||
|
||
Wed Aug 19 14:13:31 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Wed Aug 19 13:10:30 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Wed Aug 19 13:06:47 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* collect2.c (extract_init_priority): Use atoi instead of strtoul.
|
||
|
||
Wed Aug 19 13:51:35 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* tm.texi (Misc): Fix typo "teh".
|
||
|
||
* tm.texi (PIC): Fix typo "PPIC".
|
||
|
||
* tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
|
||
effect when -O2 and higher.
|
||
* invoke.texi (Optimize Options): Likewise for -fcaller-saves.
|
||
|
||
1998-08-19 Michael Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* regclass.c: Changed register set documentation to be consistent
|
||
with GCC behavior.
|
||
|
||
* final.c (final_start_function): Removed redundant test for
|
||
call_fixed_regs.
|
||
|
||
Wed Aug 19 13:28:41 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* rtl.h (rtx_function): New type.
|
||
(for_each_rtx): New function.
|
||
* rtlanal.c (for_each_rtx): Define it.
|
||
|
||
* recog.c (change_t): New type.
|
||
(change_objects, change_old_codes, change_locs, change_olds):
|
||
Replace with ...
|
||
(changes): New variable.
|
||
(validate_change): Dynamically allocate room for more changes, if
|
||
necessary. Uses changes array instead of change_objects, etc.
|
||
(apply_change_group): Use changes array instead of
|
||
change_objects, etc.
|
||
|
||
* loop.c (loop_mem_info): New type.
|
||
(loop_mems): New variable.
|
||
(loop_mems_idx): Likewise.
|
||
(looop_mems_allocated): Likewise.
|
||
(scan_loop): Remove nregs parameter.
|
||
(next_insn_in_loop): New function.
|
||
(load_mems_and_recount_loop_regs_set): Likewise.
|
||
(load_mems): Likewise.
|
||
(insert_loop_mem): Likewise.
|
||
(replace_loop_mem): Likewise.
|
||
(replace_label): Likewise.
|
||
(INSN_IN_RANGE_P): New macro.
|
||
(loop_optimize): Don't pass max_reg_num() to scan_loop.
|
||
(scan_loop): Remove nregs parameter, compute it after any new
|
||
registers are created by load_mems. Use INSN_IN_RANGE_P and
|
||
next_insn_in_loop rather than expanding them inline. Call
|
||
load_mems to load memory into pseudos, if appropriate.
|
||
(prescan_loop): Figure out whether or not there are jumps from the
|
||
loop to targets other than the label immediately following the
|
||
loop. Call insert_loop_mem to notice all the MEMs used in the
|
||
loop, if it could be safe to pull MEMs into REGs for the duration
|
||
of the loop.
|
||
(strength_reduce): Use next_insn_in_loop. Tweak comments.
|
||
|
||
Wed Aug 19 08:29:44 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (arm_override_options): Remove lie about ignoring PIC flag.
|
||
|
||
Wed Aug 19 07:08:15 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (finalize_pic): Check for the correct
|
||
nonlocal_goto_receiver UNSPEC number.
|
||
* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
|
||
making note of this dependency existing in sparc.c.
|
||
(negtf2_notv9 split): Give NEG SFmode.
|
||
(negsf2): Fix insn output string.
|
||
|
||
Tue Aug 18 12:40:27 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-common.c (decl_attributes): Issue an error if the argument
|
||
to alias is not a string.
|
||
|
||
Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
|
||
pending memory flush list.
|
||
|
||
* combine.c (can_combine_p): Allow combining insns with REG_RETVAL
|
||
notes.
|
||
(try_combine): Allow combining insns with REG_LIBCALL notes.
|
||
|
||
* expr.c (emit_block_move): Do not call memcpy as a libcall
|
||
instead build up a CALL_EXPR and call it like any other
|
||
function.
|
||
(clear_storage): Similarly for memset.
|
||
|
||
* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
|
||
on notes.
|
||
|
||
* Makefile.in (cplus-dem.o): Provide explicit rules for building
|
||
cplus-dem.o.
|
||
|
||
* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
|
||
and REG_LIVE_LENGTH as successful substitutions are made.
|
||
|
||
Tue Aug 18 07:15:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* config/sparc/sparc.c (ultra_find_type): Add empty semicolon
|
||
statement after end of loop label.
|
||
|
||
Tue Aug 18 07:13:27 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (ultra_types_avail): New variable.
|
||
(ultra_build_types_avail): New function to record mask of insn
|
||
types in ready list at this cycle.
|
||
(ultrasparc_sched_reorder): Call it.
|
||
(ultra_find_type): Use it to quicken the search. Also simplif
|
||
dependency check, don't use rtx_equal_p because we know exactly
|
||
what we are looking for.
|
||
|
||
Tue Aug 18 03:20:53 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
|
||
for architecture v4.
|
||
|
||
Mon Aug 17 21:26:38 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
|
||
gen_compare_reg.
|
||
(movsf_const_intreg, movsf_const_high, movsf_const_lo,
|
||
movdf_const_intreg and helper splits): New patterns to move float
|
||
constants into integer registers.
|
||
(negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
|
||
splits.
|
||
|
||
Mon Aug 17 11:46:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* From Graham
|
||
* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
|
||
to itype.
|
||
* c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
|
||
|
||
* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
|
||
a BASE_REGS register is needed as an intermediate when copying
|
||
a symbolic value into any register class other than BASE_REGS.
|
||
|
||
* expr.c (move_by_pieces): No longer static. Remove prototype.
|
||
* rtl.h (move_by_pieces): Add extern prototype.
|
||
* mips.c (expand_block_move): Handle aligned straight line copy by
|
||
calling move_by_pieces.
|
||
|
||
* expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
|
||
and VAR_DECLs.
|
||
|
||
Mon Aug 17 10:28:52 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* stmt.c (expand_end_loop): Tidy. Allow unconditional
|
||
jumps out of the loop to be treated as part of the exit test.
|
||
|
||
Mon Aug 17 10:06:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
|
||
* cplus-dem.c: Delete.
|
||
|
||
* Makefile.in (fold-const.o): Depend on $(RTL_H).
|
||
|
||
* fold-const.c: Include rtl.h to get the prototype for
|
||
`set_identifier_local_value'.
|
||
|
||
* loop.c (express_from_1): Remove unused variable `tmp'.
|
||
(combine_givs): Cast the first argument of bzero to char *.
|
||
|
||
* toplev.c (display_help): Remove unused variable `looking_for_start'.
|
||
|
||
* c-decl.c (init_decl_processing): Remove unneeded &.
|
||
|
||
* alpha.h (alpha_initialize_trampoline): Provide prototype.
|
||
|
||
* except.c (set_exception_lang_code, set_exception_version_code):
|
||
Change parameter from `short' to `int' to avoid using a gcc
|
||
extension.
|
||
|
||
* except.h (set_exception_lang_code, set_exception_version_code):
|
||
Likewise for prototypes.
|
||
|
||
* flow.c (count_reg_references): Remove unused variables `regno'
|
||
and `i'.
|
||
|
||
* gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
|
||
|
||
* prefix.c (translate_name): Cast the result of `alloca'.
|
||
|
||
* varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
|
||
|
||
Mon Aug 17 09:23:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
|
||
Include "toplev.h".
|
||
(valid_dbcc_comparison_p): Mark mode argument as unused.
|
||
(symbolic_operand): Likewise.
|
||
(legitimize_pic_address): Likewise.
|
||
(const_uint32_operand): Likewise.
|
||
(const_sint32_operand): Likewise.
|
||
* sched.c [!INSN_SCHEDULING]: Define only dummy function
|
||
schedule_insns and comment out rest of file.
|
||
|
||
* m68k.c (output_move_simode_const): Use subl to move a zero into an
|
||
address register.
|
||
(output_move_[hq]imode): Likewise.
|
||
|
||
Mon Aug 17 09:15:47 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
|
||
* invoke.texi: Corresponding changes.
|
||
|
||
Mon Aug 17 02:03:55 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* regclass.c (allocate_reg_info): Respect MIN when clearing data.
|
||
|
||
Sun Aug 16 17:37:06 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (ultra_code_from_mask,
|
||
ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
|
||
ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
|
||
ultrasparc_sched_init, ultrasparc_variable_issue,
|
||
ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
|
||
functions to describe UltraSPARC pipeline exactly to Haifa.
|
||
(ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
|
||
as there is nothing the scheduler can do about it. Indicate that
|
||
REG_DEP_OUTPUT's collide. Fixup formatting.
|
||
* config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
|
||
divide costs on Ultra for DImode.
|
||
(MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
|
||
Define.
|
||
* config/sparc/sparc.md (ieu_unnamed function unit): Rename to
|
||
ieuN and add call_no_delay_slot to type list.
|
||
(cti function unit): New unit for branches on UltraSPARC.
|
||
(subx/addx insns): Set type to misc.
|
||
(sidi zero/sign extension insns on arch64): Set type to shift.
|
||
(sign_extendhidi2_insn): Set type to sload.
|
||
|
||
Sun Aug 16 13:52:00 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
|
||
(output_epilog): Use if != 0 for offset.
|
||
(rs6000_fatal_bad_address): Prepare for Intl.
|
||
* rs6000.h (rs6000_fatal_bad_address): Declare.
|
||
* rs6000.md (movsfcc, movdfcc): Use else if.
|
||
(elf_high): Use {liu|lis}.
|
||
(elf_low): Use {cal|la}. Remove %a template from old mnemonics.
|
||
(movsi): Use rs6000_fatal_bad_address.
|
||
|
||
Sun Aug 16 01:53:21 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (find_equiv_reg): Reject equivalences separated
|
||
by a volatile instruction.
|
||
|
||
Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
|
||
|
||
Sat Aug 15 20:51:35 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (movsicc): Fix mode mismatch.
|
||
|
||
Sat Aug 15 20:22:33 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
|
||
return type.
|
||
* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
|
||
|
||
Sat Aug 15 08:39:49 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
|
||
write-only modifier from operand 1 constraint.
|
||
|
||
Sat Aug 15 06:28:19 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
|
||
emitting a XOR of -1 at the end, emit a NOT instead for combine's
|
||
sake.
|
||
(sparc_emit_set_const64): Likewise, also when computing trailing
|
||
bits do not negate low_bits and make fast_int an int.
|
||
|
||
Fri Aug 14 21:07:03 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (add_label_notes): Do not ignore references to labels
|
||
before dispatch tables. Mirrors Apr 8 change to mark_jump_label.
|
||
* gcse.c (add_label_notes): Similarly.
|
||
|
||
* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
|
||
|
||
* m68k.md (adddi_dilshr32): One of the operands must be a register.
|
||
(adddi_dishl32): Similarly.
|
||
|
||
Fri Aug 14 14:12:59 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
|
||
* alias.c (memrefs_conflict_p): Add braces to shut up warnings.
|
||
* cse.c (cse_basic_block): Add parens to shut up warnings.
|
||
|
||
Fri Aug 14 12:58:21 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (sparc_emit_set_const64_quick2,
|
||
sparc_emit_set_const64_longway, const64_is_2insns,
|
||
create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
|
||
in 64-bit constant formation.
|
||
* config/sparc/sparc.md (snesi_zero_extend split): Generate
|
||
rtl for addx not subx.
|
||
(define_insn movdi_const64_special): Make available even when
|
||
HOST_BITS_PER_WIDE_INT is not 64.
|
||
(movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
|
||
(losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
|
||
(cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
|
||
instances of operand 1 inside a QI subreg.
|
||
(xordi3_sp64_dbl): Remove '%' constraint for op1.
|
||
(one_cmpldi2_sp64): Fix output string.
|
||
(one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
|
||
alternative case.
|
||
(unnamed arch64 ashift DI): Truncate shift count if greater than
|
||
63, not 31.
|
||
|
||
Fri Aug 14 21:52:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (store_expr): Don't optimize away load-store pair
|
||
when either source or destination have a side effect.
|
||
|
||
Fri Aug 14 16:50:10 1998 John Carr <jfc@mit.edu>
|
||
|
||
* genrecog.c (add_to_sequence): Fatal error if the modes of the
|
||
operands of SET are incompatible.
|
||
|
||
* alpha.md: Fix max and min patterns so modes of SET operands match.
|
||
|
||
Fri Aug 14 12:22:55 1998 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* configure.in: Avoid [[ by using test and changequote.
|
||
* configure: Rebuild.
|
||
|
||
Fri Aug 14 01:22:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* rtl.def (CONSTANT_P_RTX): Fix typo in string name.
|
||
|
||
* config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
|
||
seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
|
||
split, snedi_zero_trunc and split, seqsi_zero_extend and split,
|
||
seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
|
||
movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
|
||
split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
|
||
Fix mismatching modes in SET operands.
|
||
(conditional move patterns): Fix formatting.
|
||
(unnamed subx arch64 pattern): Remove duplicate insn.
|
||
|
||
Fri Aug 14 00:34:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (const64_operand, const64_high_operand):
|
||
Get it right when HOST_BITS_PER_WIDE_INT is not 64.
|
||
(input_operand): Fixup test for what we accept for constant
|
||
integers.
|
||
(sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
|
||
set VOIDmode.
|
||
(safe_constDI): Remove.
|
||
(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
|
||
gen_safe_XOR64): New functions.
|
||
(sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
|
||
sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
|
||
them.
|
||
* config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
|
||
available when HOST_BITS_PER_WIDE_INT is not 64.
|
||
(define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
|
||
move before movdi_insn_sp64 pattern.
|
||
(define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
|
||
(define_insn sethi_di_medlow, seth44, setm44, sethh): Use
|
||
symbolic_operand as predicate for second operand.
|
||
(DImode minus split on arch32, negsi2 expander, one_cmplsi2
|
||
expander): Give set VOIDmode.
|
||
|
||
Fri Aug 14 01:45:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
|
||
|
||
Fri Aug 14 01:40:21 1998 Geoffrey Keating <geoffk@ozemail.com.au>
|
||
|
||
* rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
|
||
|
||
Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
|
||
point.
|
||
(CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
|
||
|
||
Fri Aug 14 01:19:08 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* install.texi: Various SCO OpenServer tweaks.
|
||
|
||
Thu Aug 13 20:14:40 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload1.c (eliminate_regs_in_insn): Handle another case when
|
||
eliminating the frame pointer to the hard frame pointer. Add
|
||
missing ep->to_rtx check to one existing case.
|
||
|
||
* mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
|
||
|
||
Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.h: De-conditionalize init_priority code.
|
||
|
||
* mips.h (NM_FLAGS): Change from -Bp to -Bn.
|
||
* collect2.c (NM_FLAGS): Change from -p to -n.
|
||
|
||
* configure.in: Turn on collect2 for mipstx39-elf.
|
||
Handle use_collect2=no properly.
|
||
|
||
* c-common.c: De-conditionalize init_priority code.
|
||
* collect2.c (extract_init_priority, sort_ids): New fns.
|
||
(main): Call sort_ids.
|
||
Move sequence_number to file scope.
|
||
|
||
* configure.in: Handle --enable-init-priority.
|
||
* c-common.c (attrs): Add A_INIT_PRIORITY.
|
||
(init_attributes, decl_attributes): Likewise.
|
||
* tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
|
||
* tree.c (get_file_function_name_long): Split out...
|
||
(get_file_function_name): ...from here.
|
||
|
||
Thu Aug 13 16:09:53 1998 Martin von Löwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* expr.c (safe_from_p): Change code to ERROR_MARK only when not
|
||
accessing nodes.
|
||
|
||
Thu Aug 13 15:24:48 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* toplev.c (display_help): Add braces to shut up warnings.
|
||
* tree.c (simple_cst_equal): Likewise.
|
||
|
||
* fold-const.c (non_lvalue): Don't deal with null pointer
|
||
constants here.
|
||
(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
|
||
|
||
* c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
|
||
of any size to a pointer.
|
||
|
||
Thu Aug 13 12:53:13 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
|
||
|
||
Wed Aug 12 17:25:18 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
|
||
which will be saved.
|
||
* mn10300.md (prologue insn): Only save registers which need saving.
|
||
(epilogue insn): Similarly.
|
||
|
||
* mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
|
||
optimizations.
|
||
|
||
Wed Aug 12 12:39:16 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
||
|
||
* mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
|
||
VAR_DECL's in gp addressable sections.
|
||
|
||
Tue Aug 11 23:02:31 1998 John Carr <jfc@mit.edu>
|
||
|
||
* sparc.c: Change return <exp> to <exp>; return; in functions
|
||
returning void.
|
||
* sparc.md: Add empty semicolon statement after final label in
|
||
move expanders.
|
||
|
||
Tue Aug 11 22:42:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (define_insn addx_extend): Rename to
|
||
addx_extend_sp64, only allow when TARGET_ARCH64.
|
||
(define_insn addx_extend_sp32 and split): Version that works when
|
||
not TARGET_ARCH64.
|
||
(define_insn subx_extend): Likewise.
|
||
(define_split adddi3 and subdi3 with zero extension): Fixup and
|
||
correct bugs when not TARGET_ARCH64.
|
||
|
||
Tue Aug 11 16:04:34 1998 John Carr <jfc@mit.edu>
|
||
|
||
* except.c (set_exception_lang_code, set_exception_version_code):
|
||
Use prototype-style definition if __STDC__, to match declaration
|
||
in except.h.
|
||
|
||
* genemit.c: Change FAIL and DONE macros not to use loops.
|
||
|
||
Tue Aug 11 12:27:03 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
|
||
ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
|
||
|
||
* mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
|
||
|
||
Tue Aug 11 18:12:53 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* README.g77: Update from Craig.
|
||
|
||
Tue Aug 11 04:46:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
|
||
type HOST_WIDE_INT.
|
||
(safe_constDI sparc_emit_set_const64_quick1,
|
||
sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
|
||
analyze_64bit_constant, const64_is_2insns,
|
||
create_simple_focus_bits): Fix some bugs when compiled on real
|
||
64-bit hosts.
|
||
(function_arg_record_value_3, function_arg_record_value_2,
|
||
function_arg_record_value): Add fully prototyped forward decls.
|
||
* config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
|
||
to cmpsi_insn and use on both 64 and 32 bit targets.
|
||
(define_insn cmpsi_insn_sp64): Remove.
|
||
(define_expand zero_extendsidi2): Allow for 32-bit target too.
|
||
(define_insn zero_extendsidi2_insn): Rename to
|
||
zero_extendsidi2_insn_sp64.
|
||
(define_insn zero_extendsidi2_insn_sp32): New pattern and
|
||
associated forced split for it.
|
||
|
||
* config/sparc/sparc.c (const64_operand, const64_high_operand):
|
||
New predicates.
|
||
* config/sparc/sparc.h: Declare them.
|
||
(PREDICATE_CODES): Add them.
|
||
* config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
|
||
movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
|
||
|
||
Mon Aug 10 22:57:24 1998 John Carr <jfc@mit.edu>
|
||
|
||
* config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
|
||
in v9 case as the latter makes the Solaris assembler crash.
|
||
|
||
Mon Aug 10 22:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
|
||
for TFmode when !v9. We require offsettable memory addresses.
|
||
* config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
|
||
DFmode register number conversions.
|
||
* config/sparc/sparc.md (define_split DFmode moves): If register
|
||
is a SUBREG do alter_subreg on it before using.
|
||
(define_expand movtf): Fixup comment about alignment on v9.
|
||
(define_split TFmode moves): Don't use gen_{high,low}part, create
|
||
explicit SUBREGs instead.
|
||
|
||
Mon Aug 10 19:02:55 1998 John Carr <jfc@mit.edu>
|
||
|
||
* Makefile.in (mbchar.o): Depend on mbchar.c.
|
||
|
||
Mon Aug 10 04:28:13 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
Rewrite SPARC backend for better code generation and
|
||
improved sparc64 support.
|
||
* config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
|
||
zero.
|
||
* config/sparc/sysv4.h: Likewise.
|
||
* config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
|
||
move_operand, v8plus_regcmp_op, emit_move_sequence,
|
||
singlemove_string, doublemove_string, mem_aligned_8,
|
||
output_move_double, output_move_quad, output_fp_move_double,
|
||
move_quad_direction, output_fp_move_quad, output_scc_insn):
|
||
Remove.
|
||
(small_int_or_double): New predicate.
|
||
(gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
|
||
(legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
|
||
old pic_{sethi,lo_sum}_si patterns.
|
||
(mem_min_alignment): New generic function to replace
|
||
mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
|
||
available and can test for arbitrary alignments. All callers
|
||
changed.
|
||
(save_regs, restore_regs, build_big_number,
|
||
output_function_prologue, output_cbranch, output_return,
|
||
sparc_flat_save_restore, sparc_flat_output_function_prologue,
|
||
sparc_flat_output_function_epilogue): Prettify
|
||
insn output.
|
||
(output_function_epilogue): Likewise and add code to output
|
||
deferred case vectors.
|
||
(output_v9branch): Likewise, add new arg INSN and use it to tack
|
||
on branch prediction settings. All callers changed.
|
||
(print_operand): Likewise and output %l44 for LO_SUMs when
|
||
TARGET_CM_MEDMID.
|
||
(sparc_splitdi_legitimate): New function to make sure DImode
|
||
splits can be run properly when !arch64.
|
||
(sparc_initialize_trampoline, sparc64_initialize_trampoline):
|
||
Reformat example code in comments.
|
||
(set_extends): Remove UNSPEC/v8plus_clear_high case.
|
||
(sparc_addr_diff_list, sparc_addr_list): New statics to keep track
|
||
of deferred case vectors we need to output.
|
||
(sparc_defer_case_vector): Record a case vector.
|
||
(sparc_output_addr_vec, sparc_output_addr_diff_vec,
|
||
sparc_output_deferred_case_vectors): New functions to output them.
|
||
(sparc_emit_set_const32): New function to form 32-bit constants in
|
||
registers when that requires more than one instruction.
|
||
(safe_constDI, sparc_emit_set_const64_quick1,
|
||
sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
|
||
analyze_64bit_constant, const64_is_2insns,
|
||
create_simple_focus_bits, sparc_emit_set_const64): New functions
|
||
which do the same for 64-bit constants when arch64.
|
||
(sparc_emit_set_symbolic_const64): New function to emit address
|
||
loading for all code models on v9.
|
||
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
|
||
%g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
|
||
(ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
|
||
(SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
|
||
inaccuracies in comments, add symbolic and text_segment operands
|
||
when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively. Use
|
||
GENERAL_REGS in these cases as a temp REG is needed to load these
|
||
addresses into a register properly.
|
||
(EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
|
||
is no longer used.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
|
||
quads are guaranteed to have 16-byte alignment.
|
||
(LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
|
||
copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
|
||
(ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
|
||
deferred case vector implementation.
|
||
(ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
|
||
Generate "internal label - label" instead of "label - 1b".
|
||
(PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
|
||
(PREDICATE_CODES): Remove sparc_operand, move_operand,
|
||
v8plus_regcmp_op. Add small_int_or_double, input_operand, and
|
||
zero_operand.
|
||
(doublemove_string, output_block_move, output_fp_move_double,
|
||
output_fp_move_quad, output_move_double, output_move_quad,
|
||
output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
|
||
sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
|
||
(sparc_emit_set_const32, sparc_emit_set_const64,
|
||
sparc_emit_set_symbolic_const64, input_operand, zero_operand,
|
||
mem_min_alignment, small_int_or_double): Add externs.
|
||
* config/sparc/sparc.md: Document the many uses of UNSPEC and
|
||
UNSPEC_VOLATILE in this backend.
|
||
(define_function_unit ieu): Rename to ieu_unnamed. Add move and
|
||
unary to types which execute in it.
|
||
(define_function_unit ieu_shift): Rename to ieu0.
|
||
(define_function_unit ieu1): New, executes compare, call, and
|
||
uncond_branch type insns.
|
||
(define_function_units for type fdivs, fdivd, fsqrt): These
|
||
execute in the fpu multiply unit not the adder on UltraSPARC.
|
||
(define_expand cmpdi): Disallow TARGET_V8PLUS.
|
||
(define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
|
||
(define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
|
||
allows the arith_double_operand predicate and rHI constraint when
|
||
TARGET_ARCH64.
|
||
(define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
|
||
cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
|
||
neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
|
||
sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
|
||
sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
|
||
movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
|
||
movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
|
||
movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
|
||
movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
|
||
cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
|
||
sign_extendqihi2_insn, sign_extendqisi2_insn,
|
||
sign_extendqidi2_insn, sign_extendhidi2_insn,
|
||
extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
|
||
trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
|
||
floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
|
||
fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
|
||
adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
|
||
subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
|
||
muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
|
||
const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
|
||
smulsi3_highpart_v8plus, unnamed subreg mult,
|
||
const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
|
||
const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
|
||
const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
|
||
const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
|
||
const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
|
||
udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
|
||
andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
|
||
or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
|
||
xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
|
||
cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
|
||
cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
|
||
cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
|
||
cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
|
||
cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
|
||
cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
|
||
addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
|
||
muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
|
||
negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
|
||
ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
|
||
cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
|
||
ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
|
||
lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
|
||
call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
|
||
call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
|
||
call_address_untyped_struct_value_sp32,
|
||
call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
|
||
call_value_symbolic_sp32, call_value_address_sp64,
|
||
call_value_symbolic_sp64, branch_sp32, branch_sp64,
|
||
flush_register_windows, goto_handler_and_restore,
|
||
goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
|
||
flush, all ldd/std peepholes, return_qi, return_hi, return_si,
|
||
return_addsi, return_di, return_adddi, return_sf, all call+jump
|
||
peepholes, trap, unnamed trap insns): Prettify output strings.
|
||
(define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
|
||
or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
|
||
Likewise and force + implement splits for integer cases.
|
||
(define_insn return_sf_no_fpu): Likewise and allow to match when
|
||
no-fpu because of our subreg SFmode splits.
|
||
(define_insn zero_extendqihi2, zero_extendqisi2_insn,
|
||
zero_extendqidi2_insn, zero_extendhidi2_insn,
|
||
zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
|
||
input_operand for second operand.
|
||
(cmp_minus_cc, cmp_minus_cc_set): Likewise and use
|
||
reg_or_0_operand for operand 2 so new splits can use it.
|
||
(cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
|
||
cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
|
||
too.
|
||
(cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
|
||
CONST_DOUBLEs for operand 2.
|
||
(define_insn move_label_di): Likewise and label distance
|
||
optimization because it no longer works with new deferred case
|
||
vector scheme. To be revisited.
|
||
(define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
|
||
and allow reg_or_0_operand and J constraint for second operand.
|
||
(define_insn jump): Set branch predict taken on V9.
|
||
(define_insn tablejump): Emit LABEL_REF + PLUS memory address for
|
||
new deferred case vector scheme.
|
||
(define_insn pic_tablejump_32, pic_tablejump_64): Remove.
|
||
(define_insn negdi2_sp32): Force + implement splits.
|
||
(define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
|
||
one_cmplsi2_not_liveg0 respectively, and create expander of original
|
||
names which emit special rtl for TARGET_LIVE_G0.
|
||
(define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
|
||
(define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
|
||
gen_compare_reg, FAIL instead.
|
||
(define_insn sgtu, sleu): Likewise and check gen_s*() return
|
||
values when trying to reverse condition codes, if they FAIL then
|
||
do likewise.
|
||
(define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
|
||
snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
|
||
neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
|
||
seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
|
||
x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
|
||
set output string to # to indicate they are mandatory splits.
|
||
(define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
|
||
pic_sethi_di, move_pic_label_si): Remove.
|
||
(define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
|
||
movsi_high_pic, movsi_pic_label_reg): New patterns to take their
|
||
place.
|
||
(define_expand movsi_pic_label_ref, define_insn
|
||
movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
|
||
expander and insns to handle PIC label references and deferred
|
||
case vectors.
|
||
(define_insn get_pc_via_rdpc): Comment out as it is no longer
|
||
used.
|
||
(define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
|
||
Rewrite to not use emit_move_sequence, make use of new constant
|
||
formation code, and new splits for all multi-insn cases.
|
||
(define_insn movqi_insn): Remove sethi case, it can never happen.
|
||
Use reg_or_zero_operand instead of const0_rtx explicit test,
|
||
use input_operand instead of move_operand for source, and use
|
||
general_operand now for dest.
|
||
(define_insn movhi_insn): Similar but leave sethi case.
|
||
(define_insn lo_sum_qi, store_qi, store_hi): Remove.
|
||
(define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
|
||
movhi_lo_sum respectively, prettify output string.
|
||
(define_insn movsi_zero_liveg0): New pattern to put zero into a
|
||
register when needed on TARGET_LIVE_G0.
|
||
(define_insn movsi_insn): Use general_operand and input_operand
|
||
for dest and src respectively. Simplify applicability test.
|
||
Prettify output strings, and add clr alternative for J
|
||
constraint.
|
||
(define_insn movdi_sp32_v9, movdi_sp32, define_splits for
|
||
deprecated std and reg-reg DI moves): Remove and...
|
||
(define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
|
||
implementation which uses forced splits for all non-single insn
|
||
cases.
|
||
(define_split DI move cases on !arch64): New splits to handle all
|
||
situations of 64-bit double register DImode on 32bit, and
|
||
unaligned registers and memory addresses for all subtargets.
|
||
(define_insn movsf_const_insn, movdf_const_insn, store_sf):
|
||
Remove.
|
||
(define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
|
||
input_operand for dest and src respectively, prettify output
|
||
strings.
|
||
(define_insn movdf_insn, movdf_no_e_insn, store_df,
|
||
movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
|
||
and...
|
||
(define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
|
||
movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
|
||
movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
|
||
movtf_no_e_insn_sp64): Replace with new
|
||
implementation which uses forced splits for all non-single insn
|
||
cases.
|
||
(define_split DF move cases): New splits in similar vein to DI
|
||
move counterparts.
|
||
(define_insn sethi_di_medlow, sethi_di_medium_pic,
|
||
sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
|
||
movdi_sp64_insn): Remove old v9 code model and constant loading
|
||
support insns and..
|
||
(define_insn pic_lo_sum_di, pic_sethi_di,
|
||
sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
|
||
seth44, setm44, setl44, sethh, setlm, sethm, setlo,
|
||
embmedany_sethi, embmedany_losum, embmedany_brsum,
|
||
embmedany_textuhi, embmedany_texthi, embmedany_textulo,
|
||
embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
|
||
movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
|
||
scheme, using unspecs, secondary reloads, and one to one sparc
|
||
insn to rtl insn mapping for better scheduling and code gen.
|
||
(define_expand reload_indi, reload_outdi): Reload helpers for
|
||
MEDANY and EMBMEDANY symbol address loading cases which require a
|
||
temporary register.
|
||
(define_expand movsicc): Remove v8plus_regcmp cases.
|
||
(define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
|
||
cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
|
||
cmp_diqi_trunc_set): New patterns used by some of the new scc
|
||
splits on arch64.
|
||
(define_insn xordi3_sp64_dbl): New pattern used for constant
|
||
formation when crossing from 32-bit targets.
|
||
(define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
|
||
split): Remove.
|
||
(define_insn addx, subx): Make visible and prettify.
|
||
(define_insn adddi3_insn_sp32): Likewise and force split.
|
||
(define_insn addx_extend, subx_extend, unnamed): New patterns for
|
||
64bit scc split usage.
|
||
(define_insn unnamed plusDI zero_extend, unnamed minusDI
|
||
zero_extend, subdi3): Force and implement splits.
|
||
|
||
* final.c (final_scan_insn): Don't output labels if target
|
||
specifies ASM_OUTPUT_ADDR_{DIFF}_VEC. Do these macro operations
|
||
instead.
|
||
|
||
* reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
|
||
don't forget to walk inside SEQUENCESs too as these are what the
|
||
delay slot scheduler will create.
|
||
|
||
Mon Aug 10 01:21:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (extxl+1,+2): New patterns to work around
|
||
combine lossage.
|
||
|
||
Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
|
||
|
||
* rs6000.c (rs6000_allocate_stack_space): Fix typo which
|
||
caused bad assembly code to be generated.
|
||
|
||
Sat Aug 8 18:53:28 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* netbsd.h: Fix typo.
|
||
|
||
Mon Aug 3 00:06:42 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* config.sub: Fix typo.
|
||
|
||
Sun Aug 2 22:39:08 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* invoke.texi (Environment Variables): Typo: Change "ascpects"
|
||
into "aspects".
|
||
(Running Protoize): Typo: Change "ther" into "other".
|
||
|
||
Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
|
||
* m68k/netbsd.h: Likewise.
|
||
* ns32k/netbsd.h: Likewise.
|
||
* sparc/netbsd.h: Likewise.
|
||
|
||
Sat Aug 1 17:59:30 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* ginclude/va-alpha.h (va_list): Use a typedef, not a define.
|
||
* ginclude/va-clipper.h (va_list): Likewise.
|
||
|
||
Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.c (rs6000_override_options): If big endian and -Os, use
|
||
load/store multiple instructions unless user overrides.
|
||
|
||
Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* ns32k/netbsd.h: Fix typo.
|
||
|
||
Fri Jul 31 10:23:55 1998 Doug Evans <devans@canuck.cygnus.com>
|
||
|
||
* m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
|
||
labels with .debugsym if no parallel insns.
|
||
|
||
Thu Jul 30 19:15:53 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
|
||
(fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
|
||
|
||
Thu Jul 30 19:50:15 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
|
||
(AR_FOR_TARGET): Define.
|
||
|
||
Thu Jul 30 12:29:12 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* dyn-string.h: New file.
|
||
* dyn-string.c: Likewise.
|
||
* Makefile.in (OBJS): Add dyn-string.o.
|
||
(dwarf2out.o): Add dyn-string.h dependency.
|
||
(dyn-string.o): List dependencies.
|
||
* dwarf2out.c: Include dyn-string.h.
|
||
(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
|
||
(addr_const_to_string): Take a dyn_string_t, not a char* as a
|
||
prototype. Use dyn_string_append rather than strcat, throughout.
|
||
(addr_to_string): Use dyn_string_t.
|
||
|
||
Thu Jul 30 13:08:07 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
Function entry/exit profiling instrumentation:
|
||
* expr.h (profile_function_entry_libfunc,
|
||
profile_function_exit_libfunc): Declare new variables.
|
||
* optabs.c: Define them here.
|
||
(init_optabs): Initialize them.
|
||
* tree.h (struct tree_decl): New flag
|
||
no_instrument_function_entry_exit.
|
||
(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
|
||
* c-decl.c (duplicate_decls): Merge it.
|
||
* c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
|
||
(init_attributes): Use it for "no_instrument_function".
|
||
(decl_attributes): Handle it, for functions that have not yet been
|
||
compiled. Set decl flag.
|
||
* flags.h (flag_instrument_function_entry_exit): Declare new
|
||
variable.
|
||
* toplev.c (flag_instrument_function_entry_exit): Define it here.
|
||
(f_options): New option "instrument-functions".
|
||
* function.h (struct function): New field instrument_entry_exit.
|
||
* function.c (current_function_instrument_entry_exit): New
|
||
variable.
|
||
(push_function_context_to, pop_function_context_from): Save and
|
||
restore.
|
||
(expand_function_start): Set current_ variable, maybe emit return
|
||
label and entry profile call.
|
||
(expand_function_end): Maybe emit exit profile call.
|
||
|
||
Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386.md (movqi): When optimizing a load of (const_int 1) into a
|
||
NON_QI_REG_P, pretend the register is SImode.
|
||
|
||
Wed Jul 29 23:49:23 1998 Todd Vierling <tv@netbsd.org>
|
||
|
||
* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
|
||
Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
|
||
manufacturer id for ns32k.
|
||
* configure: Regenerated.
|
||
* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
|
||
* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
|
||
* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
|
||
* config/m68k/netbsd.h: Same.
|
||
* config/ns32k/netbsd.h: Same.
|
||
* config/sparc/netbsd.h: Same.
|
||
|
||
Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
|
||
or UNROLL_COMPLETELY loop that starts with a jump to its
|
||
exit code.
|
||
|
||
Wed Jul 29 22:18:14 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
|
||
* rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
|
||
(print_operand, case 'B'): Don't fall through.
|
||
(print_operand, case 'S'): Correct mask begin/end computation.
|
||
Use HOST_BITS_PER_WIDE_INT.
|
||
* rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
|
||
(CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
|
||
* rs6000/aix41.h (CPP_PREDEFINES): Same.
|
||
* rs6000/aix43.h (CPP_PREDEFINES): Same.
|
||
|
||
Wed Jul 29 11:47:10 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
|
||
constraint from second alternative.
|
||
|
||
Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* configure.in: Fix --without/--disable cases for local-prefix,
|
||
gxx-include-dir and checking.
|
||
|
||
Tue Jul 28 22:01:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* configure.in (enable_haifa): Set by default for sparc64 too.
|
||
configure: Rebuilt.
|
||
|
||
Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
|
||
* i386/winnt.c (associated_type): New fn.
|
||
(i386_pe_valid_type_attribute_p): New fn.
|
||
(i386_pe_check_vtable_importexport): Remove.
|
||
(i386_pe_dllexport_p): Use associated_type.
|
||
(i386_pe_dllimport_p): Likewise.
|
||
|
||
From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
|
||
* i386.c (i386_valid_type_attribute_p): Also accept
|
||
attributes for METHOD_TYPEs.
|
||
|
||
Tue Jul 28 23:17:39 1998 Peter Gerwinski <peter@gerwinski.de>
|
||
|
||
* tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
|
||
|
||
Tue Jul 28 22:31:12 1998 Craig Burley <burley@gnu.org>
|
||
|
||
* gcc.c: Fix commentary describing %g, %u, %U, and %O.
|
||
|
||
* gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
|
||
them from generating a new base name for each occurrence of
|
||
a specific suffix.
|
||
|
||
1998-07-28 Vladimir N. Makarov <vmakarov@cygnus.com>
|
||
|
||
* cse.c (cse_insn): Enable substitution inside libcall only for REG,
|
||
SUBREG, MEM.
|
||
* rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
|
||
|
||
* cplus-dem.c (type_kind_t): New type.
|
||
(demangle_template_value_parm): Add type_kind_t parameter. Rely
|
||
on this parameter, rather than demangling the type again.
|
||
(demangle_integral_value): Pass tk_integral.
|
||
(demangle_template_: Pass the value returned from do_type.
|
||
(do_type): Return a type_kind_t. Pass tk_integral to
|
||
demangle_template_value_parm for array bounds.
|
||
(demangle_fund_type): Likewise.
|
||
|
||
Mon Jul 27 00:54:41 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
|
||
identical.
|
||
|
||
Mon Jul 27 22:18:36 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (move_operand): Accept CONSTANT_P_RTX.
|
||
|
||
Mon Jul 27 17:18:52 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* stor-layout.c (layout_type): Handle arrays of bits, for Chill.
|
||
|
||
* expr.c (get_inner_reference): Handle zero-based, unsigned, array
|
||
index conversion.
|
||
|
||
Mon Jul 27 14:51:33 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
|
||
(DEBUGGER_ARG_OFFSET): Likewise.
|
||
|
||
* mn10300.md (movsf): Remove last change. Not needed.
|
||
|
||
Mon Jul 27 14:22:36 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* c-lex.c (yylex): Fix boundary conditions in character literal and
|
||
string literal loops.
|
||
|
||
Mon Jul 27 11:43:54 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* longlong.h (count_leading_zeros): SPARClite scan instruction was
|
||
being invoked incorrectly.
|
||
|
||
* i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
|
||
* i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
|
||
Add -pg support.
|
||
* i386/win32.h: New file. Hybrid mingw32.h/cygwin32.h configuration.
|
||
* configure.in: Added i[34567]86-*-win32.
|
||
* config.sub: Likewise.
|
||
* configure: Rebuilt.
|
||
|
||
Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
|
||
the frame pointer and compiling PIC code and reload has not completed.
|
||
|
||
* i386.c (output_to_reg): Add code to emulate non-popping DImode
|
||
case.
|
||
|
||
Sun Jul 26 01:01:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
|
||
|
||
Sat Jul 25 23:29:23 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||
|
||
* Makefile.in (install-info): Only try to update the info
|
||
directory file if it exists in the first place.
|
||
|
||
Fri Jul 24 18:58:37 1998 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
|
||
|
||
* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
|
||
|
||
Fri Jul 24 14:20:26 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
|
||
CONST_DOUBLE source.
|
||
|
||
Fri Jul 24 11:17:04 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
|
||
strings as the insertion of USER_LABEL_PREFIX.
|
||
* config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
|
||
valid code.
|
||
* config/arm/thumb.md: Use %_ as a prefix to gcc library function
|
||
calls.
|
||
|
||
Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
|
||
already defined type.
|
||
|
||
Thu Jul 23 13:49:41 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* expr.c (check_max_integer_computation_mode): Allow conversions
|
||
of constant integers to MAX_INTEGER_COMPUTATION_MODE.
|
||
(expand_expr): Likewise.
|
||
|
||
Thu Jul 23 11:12:06 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* expr.c (expand_expr): Expand RETURN_EXPR.
|
||
|
||
Thu Jul 23 11:00:29 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
|
||
|
||
Wed Jul 22 19:10:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* dwarf2out.c (output_aranges): Call stripattributes
|
||
for TEXT_SECTION references.
|
||
(output_line_info): Likewise.
|
||
|
||
Wed Jul 22 14:08:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* profile.c (branch_prob): Call allocate_reg_info after outputting
|
||
profile rtl in instrument_arcs.
|
||
|
||
Wed Jul 22 12:47:49 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* fixinc.irix (math.h): Install wrapper instead of copying.
|
||
|
||
Wed Jul 22 12:37:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
|
||
so WFL are expanded correctly when contained in a COMPOUND_EXPR.
|
||
* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
|
||
lang_flag_0. Added documentation in the flag table.
|
||
|
||
Tue Jul 21 23:28:35 1998 Klaus Kaempf <kkaempf@rmi.de>
|
||
|
||
* cccp.c (do_include): Fix vax c style include handling.
|
||
|
||
Tue Jul 21 13:28:19 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
|
||
|
||
Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* fold-const.c (non_lvalue): Don't deal with null pointer
|
||
constants here.
|
||
(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
|
||
|
||
Tue Jul 21 15:49:31 1998 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
|
||
* rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
|
||
* rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
|
||
(u_short_cint_operand): Same.
|
||
(reg_or_cint_operand): Same.
|
||
(logical_operand): Same.
|
||
(input_operand): Same.
|
||
(reg_or_short_operand): Use u_short_cint_operand.
|
||
|
||
Tue Jul 21 08:56:42 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
|
||
but keep the insns and splits. Adjust so when the ultimate destination
|
||
is memory, use cvtql.
|
||
|
||
Tue Jul 21 08:55:09 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flow.c (regno_uninitialized): Fixed regs are never uninitialized.
|
||
|
||
Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* gcc.c (do_spec): Call "error" not "warning".
|
||
|
||
* configure.in: Fix minor problems with gas feature detection code.
|
||
* configure: Rebuilt.
|
||
|
||
* gcc.c (do_spec): Issue a warning for '%[]' usage.
|
||
|
||
* Undo this change.
|
||
* gcc.c: Delete %[spec] support.
|
||
(do_spec_1, case '('): Likewise.
|
||
(do_spec_1, case '['): Call error.
|
||
|
||
Mon Jul 20 22:34:17 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget.
|
||
(CPP_SUBTARGET_SPEC): Default to empty string.
|
||
(CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
|
||
(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
|
||
* alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
|
||
* alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
|
||
(LIB_SPEC): Tidy.
|
||
* alpha/linux.h (CPP_PREDEFINES): Tidy.
|
||
* alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
|
||
* alpha/netbsd.h (CPP_PREDEFINES): Tidy.
|
||
* alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
|
||
* alpha/win-nt.h (CPP_PREDEFINES): Likewise.
|
||
* alpha/vsf.h (CPP_PREDEFINES): Likewise.
|
||
(CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC.
|
||
* alpha/vxworks.h: Likewise.
|
||
|
||
Mon Jul 20 22:51:57 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* mips.md (reload_outsi): Added missing REGNO call.
|
||
(smulsi3_highpart, umulsi3_highpart): Provide prototype for
|
||
function pointer.
|
||
(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
|
||
another match_operator and compare the codes.
|
||
|
||
* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
|
||
|
||
* MIPS multiply pattern fixes:
|
||
* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
|
||
Add union classes for HI, LO, or HILO plus general registers.
|
||
(GENERATE_MADD): Deleted.
|
||
* mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
|
||
Add TARGET_MAD to condition.
|
||
(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
|
||
(mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use
|
||
"*d" for accumulator, to give preference to LO initially but not
|
||
during reload.
|
||
|
||
Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* configure.in (enable_c_mbchar): New configure option.
|
||
(extra_cpp_objs): Always available now.
|
||
|
||
* cexp.y (mbchar.h): #include it.
|
||
(yylex): Handle Multibyte characters in character literals.
|
||
|
||
* cccp.c (mbchar.h): #include it.
|
||
(main): Set character set based on LANG environment variable.
|
||
(rescan): Handle multibyte characters in comments.
|
||
(skip_if_group): See above.
|
||
(validate_else): See above.
|
||
(skip_to_end_of_comment): See above.
|
||
(macarg1): See above.
|
||
(discard_comments): See above.
|
||
(rescan): Handle multibyte characters in string and character literals.
|
||
(collect_expansion): See above.
|
||
(skip_quoted_string): See above.
|
||
(macroexpand): See above.
|
||
(macarg1): See above.
|
||
(discard_comments): See above.
|
||
(change_newlines): See above.
|
||
|
||
* c-lex.c (mbchar.h): #include it.
|
||
(GET_ENVIRONMENT): New macro.
|
||
(init_lex): Set character set based on LANG environment variable.
|
||
(yylex): Handle multibyte characters in character literals.
|
||
(yylex): Handle multibyte characters in string literals.
|
||
|
||
* Makefile.in (mbchar.o): New target.
|
||
(cccp$(exeext)): @extra_cpp_objs@ is always available.
|
||
(cppmain$(exeext)): @extra_cpp_objs@ is always available.
|
||
|
||
* mbchar.[ch]: New files for multibyte character handling.
|
||
|
||
Mon Jul 20 01:11:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* jump.c (jump_optimize): When simplifying noop moves and
|
||
PUSH_ROUNDING, fix thinko so we use same criterion for identifying
|
||
the PUSHes to rewrite in second loop as we did in the first.
|
||
|
||
Sun Jul 19 08:23:53 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* cplus-dem.c (demangle_nested_args): Make function definition
|
||
static to match the prototype.
|
||
|
||
Fri Jul 17 14:58:44 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alloca.c: Respect USE_C_ALLOCA.
|
||
* gencheck.c (xmalloc): Ignore __GNUC__ for definition.
|
||
* gengenrtl.c (xmalloc): Likewise.
|
||
|
||
Fri Jul 17 14:18:14 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.h (struct induction): Add no_const_addval.
|
||
* loop.c (the_movables, reg_address_cost): New variables.
|
||
(init_loop): Init reg_address_cost.
|
||
(loop_optimize): Call end_alias_analysis.
|
||
(scan_loop): Init the_movables.
|
||
(record_giv): Init induction->no_const_addval.
|
||
(basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
|
||
[REG]: Rearrange loop search test to catch more cases.
|
||
(general_induction_var): Return success not benefit; take an extra
|
||
argument for that. Change all callers.
|
||
(simplify_giv_expr) [PLUS]: Always combine invariants. Use sge_plus.
|
||
[MULT]: Use rtx_equal_p instead of ==. Combine simple invariants.
|
||
[default]: Search the_movables for additional combinations.
|
||
(sge_plus_constant, sge_plus): New functions.
|
||
(express_from_1): New function.
|
||
(express_from): Always define. Rewrite using express_from_1.
|
||
(combine_givs_p): Handle more cases. Ignore address cost.
|
||
(cmp_combine_givs_stats): New function.
|
||
(combine_givs_used_once, combine_givs_benefit_from): New functions.
|
||
(combine_givs): Rewrite to do best-fit combination.
|
||
|
||
* fold-const.c (operand_equal_p): Handle RTL_EXPR.
|
||
(fold): Do a complete (A*C)+(B*C) association check.
|
||
|
||
Fri Jul 17 11:21:55 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
|
||
|
||
Fri Jul 17 11:48:55 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (MODES_TIEABLE_P): Fix typo.
|
||
|
||
Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com)
|
||
|
||
* tree.c (valid_machine_attribute): Only create a new type variant if
|
||
there is a decl to use it.
|
||
|
||
Thu Jul 16 14:48:04 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
|
||
a suffix.
|
||
|
||
Fri Jul 17 03:24:40 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
|
||
be deleted"
|
||
|
||
Thu Jul 16 14:48:47 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.c (count_tst_insns): New arg oreg_countp. Callers changed.
|
||
Simplify tests for clearing an address register.
|
||
(expand_prologue): Corresponding changes.
|
||
|
||
* mn10300.md (movXX patterns): Make sure the destination is an
|
||
ADDRESS_REG when substituting "zero_areg" for (const_int 0).
|
||
(logical patterns): Split into expanders + patterns.
|
||
(zero and sign extension patterns): Similarly.
|
||
(shift patterns): Similarly.
|
||
|
||
Thu Jul 16 01:17:44 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.c (emit_iv_add_mult): Scan the entire insn list generated
|
||
for the sequence, recording base values.
|
||
|
||
Wed Jul 15 10:49:55 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
|
||
|
||
Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* gcc.c: Remove ANSI-C ism from --help code.
|
||
|
||
* toplev.c: Support --help with USE_CPPLIB.
|
||
|
||
Tue Jul 14 14:46:08 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Rework gas feature code to work with symlink based
|
||
source trees.
|
||
|
||
* extend.texi: Clarify some issues related to local variables
|
||
assigned to explicit registers.
|
||
|
||
* mn10300.md (mulsi): Turn into expander + pattern.
|
||
|
||
* mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
|
||
alternative.
|
||
|
||
Tue Jul 14 07:41:59 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
|
||
|
||
Tue Jul 14 03:02:44 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* version.c: Bump again to distinguish mainline tree from the
|
||
egcs-1.1 branch.
|
||
|
||
Tue Jul 14 02:20:38 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* version.c: Bump to avoid problems with old spec files during
|
||
bootstrap.
|
||
|
||
Mon Jul 13 23:11:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
|
||
parens while walking over notes.
|
||
* config/sparc/sparc.md (reg movdi split): Clean up matching
|
||
conditions.
|
||
(all DI arithop splits on 32-bit): Handle immediate arguments
|
||
correctly when they are CONST_INTs.
|
||
|
||
Mon Jul 13 23:57:21 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
|
||
-m68020-40, -m68020-60 and -m5200.
|
||
|
||
Mon Jul 13 23:52:05 1998 Weiwen Liu <weiwen.liu@yale.edu>
|
||
|
||
* gcc.c (do_spec_1): Fix %O handling for secure temporary file
|
||
creation.
|
||
|
||
Mon Jul 13 23:42:36 1998 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||
|
||
* sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
|
||
|
||
Mon Jul 13 23:36:08 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
|
||
(CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
|
||
(EXTRA_SPECS): Support them.
|
||
* gcc.c: Delete %[spec] support.
|
||
(do_spec_1, case '('): Likewise.
|
||
(do_spec_1, case '['): Call error.
|
||
* i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
|
||
linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
|
||
sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
|
||
%[cpp_cpu].
|
||
|
||
Mon Jul 13 23:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.c (output_scc_di): Use cmpw #0 only for address registers.
|
||
|
||
Mon Jul 13 23:26:43 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* tree.h (tree_common): Note front-end dependencies on layout of
|
||
this structure.
|
||
|
||
Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org>
|
||
|
||
* stmt.c (expand_expr_stmt): If not assigning fresh
|
||
value to last_expr_value, zero it, so old garbage
|
||
doesn't get dereferenced.
|
||
|
||
Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen)
|
||
|
||
* gcse.c (hash_scan_insn): Add missing argument declaration.
|
||
|
||
Mon Jul 13 18:59:13 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
|
||
HAVE_INTTYPES_H from xm_defines. Define xm_file to mips/xm-iris5.h.
|
||
* mips/xm-iris5.h (USG): Delete.
|
||
|
||
Mon Jul 13 17:18:47 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* cccp.c (main): Add support for parsing --help.
|
||
(display_help): New function: display command line switches.
|
||
|
||
* cpplib.c (cpp_handle_option): Add support for parsing --help.
|
||
(display_help): New function: display command line switches.
|
||
|
||
* gcc.c (main): Add support for parsing --help, and passing it on
|
||
to the sub-processes invoked by gcc.
|
||
(display_help): New function: display command line switches.
|
||
|
||
* tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
|
||
'description' field added to structure.
|
||
|
||
* toplev.c: Add support for parsing --help.
|
||
Add documentation strings to command line option tables.
|
||
(display_help): New function: display comman line switches.
|
||
|
||
Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu>
|
||
|
||
* sparc.c, sparc.h, sparc.md: New trampoline code.
|
||
Allow integer operand 1 to V8+ DImode shift instructions.
|
||
Fix bugs in V8+ wide multiply patterns.
|
||
In 32 bit mode, split DImode register moves and logical instructions.
|
||
Write V9 branch prediction flag.
|
||
Use V9 conditional move more often for scc.
|
||
|
||
Mon Jul 13 15:10:09 1998 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* invoke.texi(-fno-builtin): Explain that the names of built-in
|
||
functions begin with `__builtin_', not `__'.
|
||
|
||
Mon Jul 13 19:01:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
|
||
|
||
Mon Jul 13 10:50:17 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
|
||
(cplus_demangle_opname): Initialize work.
|
||
(demangle_template): Remove is_java_array.
|
||
(do_type): Remove DMGL_JAVA stuff.
|
||
(long_options): Remove "java".
|
||
(main): Remove 'j' option.
|
||
|
||
Mon Jul 13 10:19:00 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
|
||
Handle 'x' as NO_REGS for this cpu.
|
||
(REGNO_OK_FOR_BIT_BASE_P): Define.
|
||
(REG_OK_FOR_BIT_BASE_P): Define.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Use them.
|
||
(REG_OK_FOR_INDEX_P): Tweak.
|
||
* mn13000.c (REG_SAVE_BYTES): Define.
|
||
(expand_epilogue, initial_offset): Use it.
|
||
(secondary_reload_class): Slightly reformat.
|
||
(output_tst): Tweak comments.
|
||
* mn10300.md: Change 'x' to 'y' for SP_REGS. Then add 'x' to many
|
||
patterns.
|
||
(addsi3): Turn into a define_expand/define_insn pair. Rework code for
|
||
three operand addition case to be more efficient.
|
||
(subsi3): Turn into a define_expand/define_insn pair.
|
||
|
||
* expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
|
||
is not varying for REFERENCE_TYPE or when we think we might have found
|
||
an optimized access to the first element in an array.
|
||
|
||
Mon Jul 13 02:24:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* regclass.c (reg_scan_mark_refs): New arg min_regno. Only update
|
||
regscan information for REGs with numbers greater than or equal to
|
||
this. All callers changed.
|
||
(reg_scan_update): New function to efficiently update regscan
|
||
information on the fly.
|
||
* rtl.h: Add prototype.
|
||
* jump.c (jump_optimize): Call it when we make a transformation
|
||
which generates new pseudo-REGs.
|
||
|
||
Sun Jul 12 13:08:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* collect2.c (main): Use "-x c" instead of "-lang-c" for force the
|
||
compiler into C mode.
|
||
|
||
Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* cplus-dem.c (demangle_nested_args): Return a value.
|
||
|
||
* tree.h (TYPE_P): New macro.
|
||
|
||
Sat Jul 11 16:19:48 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* cplus-dem.c (string): Move definition before work_stuff.
|
||
(work_stuff): Add volatile_type, forgetting_types,
|
||
previous_argument, and nrepeats fields.
|
||
(SCOPE_STRING): New macro.
|
||
(demangle_template): Add `remember' parameter. Add comment.
|
||
Register the `B' code type here, if remembering. Tidy. Fix crash
|
||
on NULL tmpl_argvec. Be consistent with use of tname/trawname.
|
||
(demangle_nested_args): New function.
|
||
(internal_cplus_demangle): Handle volatile-qualified member
|
||
functions.
|
||
(mop_up): Delete the previous_argument string if present.
|
||
(demangle_signature): Tidy. Handle volatile-qualified member
|
||
functions. Handle back-references using the `B' code. Use extra
|
||
parameter to demangle_template and SCOPE_STRING where appropriate.
|
||
(demangle_template_value_parm): Fix thinko; 'B' is not an integral
|
||
code.
|
||
(demangle_class): Use SCOPE_STRING.
|
||
(gnu_special): Pass additional argument to demangle_template.
|
||
Use SCOPE_STRING.
|
||
(demangle_qualified): Save qualified types for later
|
||
back-references. Handle constructors and destructors for template
|
||
types correctly.
|
||
(do_type): Tidy. Use SCOPE_STRING. Pass extra argument to
|
||
demangle_template. Use demangled_nested_args. Don't remember
|
||
qualified types here; that's now done in demangle_qualified.
|
||
Similarly for templates.
|
||
(do_arg): Improve comment. Handle 'n' repeat code.
|
||
(remember_type): Check forgetting_types.
|
||
(demangle_args): Deal with 'n' repeat codes. Tidy.
|
||
|
||
Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
|
||
and structure attribute flags to MEMs generated.
|
||
(splits for sign-extended HI & QI mode from memory): Also propagate
|
||
the volatile flag.
|
||
|
||
* configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
|
||
|
||
Fri Jul 10 19:06:59 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* varray.h: Include system.h if it hasn't already been included
|
||
before to get size_t declared.
|
||
|
||
Fri Jul 10 12:53:58 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* jump.c (jump_optimize): If after_regscan and our transformations
|
||
generate new REGs, rerun reg_scan.
|
||
|
||
Fri Jul 10 11:50:43 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* config/i960/i960.c (i960_address_cost): MEMA operands with
|
||
positive offsets < 4096 are free.
|
||
|
||
Fri Jul 10 12:34:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.c (const_uint32_operand): Recognize
|
||
CONSTANT_P_RTX.
|
||
(const_sint32_operand): Likewise.
|
||
|
||
Thu Jul 9 22:58:59 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (alias.o): Depend on $(EXPR_H).
|
||
|
||
Thu Jul 9 18:24:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (choose_reload_regs): If using an equivalence from
|
||
find_equiv_reg and reg_reloaded_valid is not set for this register,
|
||
clear the associated spill_reg_store.
|
||
|
||
Thu Jul 9 18:12:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (emit_reload_insns): If an output reload copies only
|
||
to a secondary reload register, indicate that the secondary reload
|
||
does the actual store.
|
||
|
||
Thu Jul 9 18:01:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_equiv_reg): If need_stable_sp is set,
|
||
check if stack pointer is changed directly in a PARALLEL.
|
||
|
||
Thu Jul 9 10:38:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (duplicate_loop_exit_test): Fix thinko.
|
||
|
||
Thu Jul 9 01:30:37 1998 Joel Sherrill <joel@OARcorp.com>
|
||
Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||
|
||
* config/i386/rtemself.h: Updated to keep in sync with
|
||
config/i386/linux.h.
|
||
|
||
* configure.in: Added sh-rtemself.
|
||
* configure: Rebuilt.
|
||
* config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
|
||
* config/sh/rtemself.h: New file.
|
||
|
||
* config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
|
||
|
||
Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Check if the assembler supports ".balign" and
|
||
".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
|
||
* acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
|
||
* i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
|
||
".balign" then use it.
|
||
|
||
* print-rtl.c (print_rtx): Revert previous patch.
|
||
|
||
* jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
|
||
test if the exit code has an insn with ASM_OPERANDS.
|
||
|
||
* i386/cygwin32.h (STDIO_PROTO): Fix typo.
|
||
* m32r.h (STDIO_PROTO): Fix typo.
|
||
|
||
* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
|
||
LEGITIMIZE_RELOAD_ADDRESS.
|
||
* tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
|
||
able to handle addresses created by previous invocations of the macro.
|
||
|
||
* flow.c (find_auto_inc): Remove most recent change. Real bug was
|
||
elsewhere.
|
||
|
||
* cse.c (count_reg_usage): Count registers used in addresses of
|
||
CLOBBERs.
|
||
|
||
Wed Jul 8 15:08:29 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
|
||
|
||
* configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
|
||
|
||
1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
|
||
|
||
* config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
|
||
stubs.
|
||
|
||
* toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
|
||
options.
|
||
* c-decl.c (warn_long_long): Define.
|
||
(c_decode_option): Parse -Wlong-long, -Wno-long-long options.
|
||
(grokdeclarator): Add flag `warn_long_long' as guard for
|
||
warning "ANSI C does not support `long long'".
|
||
* invoke.texi: Add description of options -Wlong-long,
|
||
-Wno-long-long.
|
||
* gcc.1: The same as above.
|
||
|
||
Wed Jul 8 02:43:34 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART. If
|
||
either argument is CONSTANT_P, then return zero.
|
||
* reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
|
||
|
||
* configure.in: Also look at $srcdir/gas/configure to find a
|
||
gas version #.
|
||
|
||
Wed Jul 8 00:28:22 1998 Carlo Wood <carlo@runaway.xs4all.nl>
|
||
|
||
* dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
|
||
|
||
Tue Jul 7 21:18:14 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
|
||
definitions from last two patches.
|
||
|
||
Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (choose_reload_regs): Don't set reload_override_in
|
||
if EQUIV is clobbered in INSN and the reload is done after INSN.
|
||
|
||
Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
|
||
to the first insn of the sequence.
|
||
|
||
Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* cse.c (cse_insn): Don't make change without validation.
|
||
|
||
Tue Jul 7 11:40:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mn10200.md (various zero/sign extension patterns): Zero and sign
|
||
extensions which use "sub" clobber cc0.
|
||
|
||
Tue Jul 7 09:12:08 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Tue Jul 7 10:07:20 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
|
||
|
||
Tue Jul 7 08:41:27 1998 Richard Henderson (rth@cygnus.com)
|
||
|
||
* print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
|
||
is a double.
|
||
|
||
Tue Jul 7 00:31:58 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Tue Jul 7 01:03:03 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
Support for dllimport and dllexport attributes for i386-pe.
|
||
|
||
* tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
|
||
(struct tree_decl): Add non_addr_const_p field.
|
||
* tree.c (staticp): Use.
|
||
|
||
* i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
|
||
attributes.
|
||
(SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
|
||
attributes. Also accept -mwindows option.
|
||
(VALID_MACHINE_DECL_ATTRIBUTE): New macro.
|
||
(MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
|
||
(REDO_SECTION_INFO_P): New macro.
|
||
(DRECTVE_SECTION_FUNCTION): New macro.
|
||
(drectve_section): Cover function to implement above.
|
||
(SWITCH_TO_SECTION_FUNCTION): New macro.
|
||
(switch_to_section): Covert function to implement above.
|
||
(EXTRA_SECTIONS): Add in_drectve.
|
||
(EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
|
||
(ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
|
||
(STRIP_NAME_ENCODING): Handle new attributes.
|
||
(ASM_OUTPUT_LABELREF): New macro.
|
||
(ASM_OUTPUT_FUNCTION_NAME): New macro.
|
||
(ASM_OUTPUT_COMMON): New macro.
|
||
(ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
|
||
|
||
* i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
|
||
attributes.
|
||
|
||
* i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
|
||
(i386_pe_merge_decl_attributes): New function.
|
||
(i386_pe_check_vtable_importexport): New function.
|
||
(i386_pe_dllexport_p): New function.
|
||
(i386_pe_dllimport_p): New function.
|
||
(i386_pe_dllexport_name_p): New function.
|
||
(i386_pe_dllimport_name_p): New function.
|
||
(i386_pe_mark_dllexport): New function.
|
||
(i386_pe_mark_dllimport): New function.
|
||
(i386_pe_encode_section_info): New function.
|
||
(i386_pe_unique_section): Strip encoding from name first.
|
||
|
||
Tue Jul 7 00:50:17 1998 Manfred Hollstein (manfred@s-direktnet.de)
|
||
|
||
* libgcc2.c (L_exit): Provide a fake for atexit on systems which
|
||
define ON_EXIT but not HAVE_ATEXIT.
|
||
|
||
Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
|
||
|
||
Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* i386.c: Remove random whitespace at end of lines.
|
||
|
||
* i386.c (ix86_epilogue): For pentium processors, try to deallocate
|
||
4 or 8 byte stacks with pop instructions instead of an add instruction.
|
||
|
||
Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de>
|
||
|
||
* alpha.c: Include tree.h before expr.h.
|
||
|
||
Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* c-parse.in (struct_head, union_head, enum_head): New nonterminals.
|
||
(structsp): Use them. Update files generated from c-parse.in.
|
||
* extend.texi (Type Attributes): Document it.
|
||
|
||
* c-decl.c: Add warn_multichar.
|
||
(c_decode_option): Handle -Wno-multichar.
|
||
* c-lex.c (yylex): Check it.
|
||
* c-tree.h: Declare it.
|
||
* toplev.c (lang_options): Add it.
|
||
* invoke.texi: Document it.
|
||
|
||
Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_equiv_reg): When looking for stack pointer + const,
|
||
make sure we don't use a stack adjust.
|
||
|
||
* reload.c (find_equiv_reg): If need_stable_sp is set,
|
||
check if stack pointer is changed directly.
|
||
|
||
* reload1.c (delete_dead_insn): Don't delete feeding insn
|
||
if that insn has side effects.
|
||
|
||
* flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
|
||
changed.
|
||
|
||
* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
|
||
precedes RELOAD_FOR_OUTADDR_ADDRESS.
|
||
|
||
* gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
|
||
caller.
|
||
|
||
Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
|
||
testing address registers on the 68000.
|
||
|
||
Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
|
||
|
||
* i386.c (is_fp_test): Fix thinko.
|
||
|
||
* jump.c (jump_optimize): Check for CONST_INT before using INTVAL.
|
||
|
||
Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
|
||
|
||
* print-rtl.c (print_rtx): Display the real-value equivalent of
|
||
a const_double when easy.
|
||
|
||
* real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
|
||
Zero memory first for predictability.
|
||
(REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
|
||
* varasm.c (immed_real_const_1): Notice width of H_W_I == double.
|
||
|
||
* regclass.c (allocate_reg_info): Initialize the entire reg_data
|
||
virtual array.
|
||
|
||
Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* i386/cygwin32.h: Add some declaration of external functions.
|
||
(ASM_DECLARE_FUNCTION_NAME): Define.
|
||
(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
|
||
(ASM_FILE_END): Define.
|
||
* i386/winnt.c (i386_pe_declare_function_type): New function.
|
||
(struct extern_list, extern_head): Define.
|
||
(i386_pe_record_external_function): New function.
|
||
(i386_pe_asm_file_end): New function.
|
||
|
||
* cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
|
||
matching July 18, 1995 change to cccp.c. If -traditional then
|
||
disable cplusplus_comments.
|
||
|
||
Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c (expand_compound_operation): Fix thinko in code to optimize
|
||
(zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
|
||
|
||
* Disable the following change from gcc2. Not appropriate for egcs:
|
||
|
||
Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
* reload.c (find_reloads): Give preference to pseudo that was the
|
||
reloaded output of previous insn.
|
||
|
||
Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
|
||
Instead, define a new macro HAVE_PRINTF_PTR which only signifies
|
||
whether we have the %p format specifier or not.
|
||
|
||
* acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
|
||
|
||
* machmode.h (HOST_PTR_PRINTF): When determining the definition,
|
||
check HAVE_PRINTF_PTR to see whether "%p" is okay.
|
||
|
||
* mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
|
||
|
||
* Makefile.in (mips-tfile.o): Depend on machmode.h.
|
||
|
||
Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* jump.c (duplicate_loop_exit_test): Don't refuse to copy a
|
||
section of code just because it contains
|
||
NOTE_INSN_BLOCK_{BEG,END}.
|
||
* stmt.c (expand_end_loop): Likewise. Also, don't refuse to
|
||
move CALL_INSNs or CODE_LABELs. When moving code, don't move
|
||
NOTE_INSN_BLOCK_{BEG,END}.
|
||
|
||
Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
|
||
dealing with ADDRESSOF.
|
||
(find_best_addr): Use it.
|
||
|
||
Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
|
||
|
||
Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* libgcc2.c (__eprintf): Make args consistent with prototype in
|
||
assert.h.
|
||
|
||
Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
|
||
don't claim that the former is equivalent to the latter.
|
||
|
||
Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (cse_insn): Second arg is an RTX now. Update all callers.
|
||
(cse_basic_block): Keep track of the current RETVAL insn for a
|
||
libcall instead of just noting that we're in a libcall.
|
||
|
||
* combine.c (simplify_comparison): Do not commute a AND into
|
||
a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
|
||
|
||
* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
|
||
HAVE_GAS_MAX_SKIP_P2ALIGN.
|
||
* i386/linux.h: Likewise.
|
||
|
||
Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* sparc.c (sparc_operand, move_operand, arith_operand,
|
||
arith11_operand, arith10_operand, arith_double_operand,
|
||
arith11_double_operand, arith10_double_operand, small_int,
|
||
uns_small_int): Recognize CONSTANT_P_RTX.
|
||
(output_sized_memop, output_move_with_extension,
|
||
output_load_address, output_size_for_block_move,
|
||
output_block_move, delay_operand): Remove, has not been
|
||
enabled or referenced for years.
|
||
* sparc.md (movstrsi, block_move_insn): Likewise.
|
||
* sparc.h (PREDICATE_CODES): Define.
|
||
* linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
|
||
version which uses getcc/setcc traps to save/restore condition
|
||
codes.
|
||
* linux64.h: Likewise.
|
||
* sunos4.h: Likewise.
|
||
* linux.h: Likewise.
|
||
* sol2.h: Likewise.
|
||
* sun4o3.h: Likewise.
|
||
|
||
Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
|
||
lossage on VMS. Reported by kkaempf@rmi.de.
|
||
* alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
|
||
|
||
Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
|
||
version.
|
||
|
||
Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* expr.h (STACK_SIZE_MODE): New macro.
|
||
* explow.c (allocate_dynamic_stack_space): Use it for
|
||
mode of allocate_stack pattern increment operand.
|
||
* tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
|
||
* md.texi (stack_save_block, ...): Reflect use of macro.
|
||
|
||
* rs6000.h (PROMOTE_MODE): Always promote to word_mode.
|
||
(PROMOTE_FUNCTION_ARGS): Define.
|
||
(PROMOTE_FUNCTION_RETURN): Define.
|
||
(FUNCTION_VALUE): Promote to word_mode if smaller.
|
||
Convert to gen_rtx_FOO.
|
||
* rs6000.md (call_indirect): Store doubleword in 64-bit mode.
|
||
Convert to gen_rtx_FOO.
|
||
* rs6000.c: Convert to gen_rtx_FOO.
|
||
|
||
Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* varray.{c,h}: New files to provide virtual array support.
|
||
|
||
* Makefile.in (OBJS): Add varray.o.
|
||
(varray.o): Add new file.
|
||
(REGS_H): New variable for dependencies for files including
|
||
regs.h. Add varray.h and files it includes. Change all regs.h
|
||
dependencies to $(REGS_H).
|
||
|
||
* toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
|
||
(xcalloc): Provide frontend for calloc.
|
||
* {tree,rtl}.h (xcalloc): Add declaration.
|
||
|
||
* basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
|
||
varray.
|
||
|
||
* regs.h (toplevel): Include varray.h.
|
||
(reg_n_info): Switch to use a varray.
|
||
(REG_*): Likewise.
|
||
(allocate_reg_info): Change num_regs argument to be size_t.
|
||
|
||
* regclass.c (reg_info_data): New structure to remember groups of
|
||
reg_info structures allocated that are to be zeroed.
|
||
({pref,alt}class_buffer): New statics to hold buffers
|
||
allocate_reg_info allocates for {pref,alt}class_buffer.
|
||
(regclass): Use {pref,alt}class_buffer to initialize
|
||
{pref,alt}class.
|
||
(allocate_reg_info): Switch to make reg_n_info use varrays.
|
||
Allocate buffers for the preferred and alter register class
|
||
information. Change num_regs argument to be size_t, not int.
|
||
|
||
* flow.c (reg_n_info): Switch to use varrays.
|
||
|
||
Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* install.texi (sco3.2v5): Document new --with-gnu-as flag.
|
||
* config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
|
||
in other targets.
|
||
(USE_GAS): Conditionalize away native assembler usage.
|
||
* config/i386/sco5gas.h: New file.
|
||
* config/i386/t-sco5gas: New file.
|
||
* configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
|
||
|
||
Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* haifa-sched.c (alloc_EXPR_LIST): Change to use
|
||
unused_expr_list.
|
||
|
||
Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* Makefile.in (install-info): Don't use $realfile. Ignore
|
||
possible errors from the install-info program.
|
||
|
||
Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
|
||
|
||
* combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
|
||
|
||
Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.h (HARD_REGNO_MODE_OK): Kill spurious test.
|
||
(MODES_TIEABLE_P): Tie SImode and HImode.
|
||
|
||
1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||
|
||
* invoke.texi (Optimize Options): Fix typo.
|
||
|
||
Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
|
||
the zero'th block.
|
||
|
||
Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* h8300.c (print_operand): Delete %L support.
|
||
* h8300.md (branch_true, branch_false): Use %= with a prefix
|
||
instead of %L for local branch labels.
|
||
|
||
Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (emit_reload_insns): Use proper register classes for
|
||
SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
|
||
|
||
Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads): If there are multiple
|
||
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
|
||
one operand, change RELOAD_FOR_INPADDR_ADDRESS /
|
||
RELOAD_FOR_OUTADDR_ADDRESS for all but the first
|
||
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
|
||
|
||
Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
|
||
using its PATTERN.
|
||
|
||
Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (emit_group_load, emit_group_store): Rewrite considering
|
||
the size and alignment of the structure being manipulated.
|
||
* expr.c, calls.c, function.c: Update all callers.
|
||
* expr.h: Update prototypes.
|
||
* cse.c (invalidate): Cope with parallels.
|
||
|
||
Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.c (function_arg_record_value): Take a MODE arg with which to
|
||
create the PARALLEL. Update all callers.
|
||
|
||
Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (expand_assignment, store_constructor, expand_expr): Use
|
||
convert_memory_address instead of convert_to_mode when possible.
|
||
|
||
Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_initialize_trampoline): Take arguments describing
|
||
the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
|
||
* alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
|
||
(TRANSFER_FROM_TRAMPOLINE): Move ...
|
||
* alpha/osf.h: ... here.
|
||
* alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
|
||
(TRANSFER_FROM_TRAMPOLINE): Remove undef.
|
||
* alpha/win-nt.h: Likewise.
|
||
* alpha/vxworks.h: Likewise.
|
||
|
||
* alpha/linux.h: Revert gcc2 merge lossage.
|
||
|
||
Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-decl.c (grokdeclarator): Don't warn about implicit int in
|
||
`typedef foo = bar'.
|
||
|
||
Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386.c (asm_output_function_prefix): Make 686 function
|
||
prologues not issue .types for non-global labels.
|
||
|
||
Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
|
||
|
||
* i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
|
||
(WCHAR_TYPE_SIZE): Update appropriately.
|
||
|
||
Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (recompute_reg_usage): Does not return a value.
|
||
* rtl.h (recompute_reg_usage): Update prototype.
|
||
|
||
* jump.c (jump_optimize): Show that the jump chain is not
|
||
valid when not optimizing.
|
||
|
||
Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtl.def (CONSTANT_P_RTX): New.
|
||
* rtl.h (CONSTANT_P): Recognize it.
|
||
* cse.c (fold_rtx): Eliminate it.
|
||
* expr.c (can_handle_constant_p): New variable.
|
||
(init_expr_once): Initialize it.
|
||
(expand_builtin): Generate CONSTANT_P_RTX if the expression is not
|
||
immediately recognizable as a constant.
|
||
|
||
* alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
|
||
(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
|
||
(sext_add_operand, and_operand, or_operand): Likewise.
|
||
(reg_or_cint_operand, some_operand, input_operand): Likewise.
|
||
* alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
|
||
|
||
1998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
|
||
|
||
* dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
|
||
|
||
Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
|
||
argument, which is typically preprocessor code used to draw in
|
||
additional header files when looking for a function declaration.
|
||
(GCC_NEED_DECLARATIONS): Likewise.
|
||
|
||
* configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
|
||
and setrlimit, search for them in sys/resource.h.
|
||
|
||
* acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
|
||
NEED_DECLARATION_SETRLIMIT.
|
||
|
||
* system.h: Prototype getrlimit/setrlimit if necessary.
|
||
|
||
Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
|
||
upon.
|
||
|
||
Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/sysv4.h (asm output): Add tabs for asm directives.
|
||
|
||
Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
|
||
|
||
Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
|
||
Don't define NULL here. Also, remove all vestiges of autoconf
|
||
based checks for bcmp/bcopy/bzero/index/rindex.
|
||
|
||
* system.h: Immediately after including stdio.h, check for and if
|
||
necessary provide a default definition of NULL.
|
||
|
||
Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_simplify_operands): Call
|
||
fatal_insn_not_found, not abort.
|
||
|
||
Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* choose-temp.c (make_temp_file): Accept new argument for the
|
||
file suffix to use. Allocate space for it and add it to the
|
||
template.
|
||
* mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
|
||
for the length of the suffix. Update template structure checks
|
||
to handle optional suffix.
|
||
* collect2.c (make_temp_file): Update prototype.
|
||
(main): Put proper suffixes on temporary files.
|
||
* gcc.c (make_temp_file): Update prototype.
|
||
(do_spec_1): Put proper suffixes on temporary files.
|
||
|
||
Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
|
||
|
||
* invoke.texi: Document new implicit structure initialization
|
||
warning.
|
||
|
||
Mon Jun 29 21:40:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* toplev.c (flag_dump_unnumbered): Declare.
|
||
(f_options): Add dump-unnumbered.
|
||
* print-rtl.c (flag_dump_unnumbered): Define.
|
||
(print_rtx): Print only '#' for insn numbers if flag_dump_unnumbered
|
||
is nonzero.
|
||
(print_rtl): Don't output line number notes if flag_dump_unnumbered
|
||
is nonzero.
|
||
* flow.c (print_rtl_with_bb): Don't output newline after line
|
||
numbers note if flag_dump_unnumbered is nonzero.
|
||
|
||
Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
|
||
details.
|
||
|
||
* pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
|
||
|
||
Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
|
||
|
||
* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
|
||
void since it is evaluated in a comma list.
|
||
|
||
* mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
|
||
argument as a long and cast `NUM' to long to ensure it is of the
|
||
proper width. Wrap macro arguments in parens when they appear in
|
||
the expansion.
|
||
|
||
* sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
|
||
|
||
* sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
|
||
(ASM_DECLARE_RESULT): Fix fprintf format specifier to match
|
||
function argument return type.
|
||
(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
|
||
REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
|
||
|
||
* cpplib.c (cpp_message_from_errno): Remove unneeded argument to
|
||
cpp_message.
|
||
|
||
* dbxout.c: Fix the comments after an #endif to reflect the actual
|
||
condition tested in the preceding #if.
|
||
|
||
* except.c (find_all_handler_type_matches): Switch to old-style
|
||
function definition.
|
||
|
||
* expr.c (expand_builtin): Remove unused variable `type' twice.
|
||
|
||
* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
|
||
to an unsigned long.
|
||
|
||
* haifa-sched.c (print_insn_chain): Remove unused function.
|
||
|
||
* objc/objc-act.c (build_msg_pool_reference): Hide prototype and
|
||
definition.
|
||
|
||
* toplev.c: When testing whether to include dbxout.h, also include
|
||
it when XCOFF_DEBUGGING_INFO is defined.
|
||
|
||
* unroll.c (unroll_loop): Add parentheses around assignment used
|
||
as truth value.
|
||
|
||
Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* config/lb1spc.asm (.div, .udiv): Replace routines.
|
||
|
||
Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* rtl.h: Update comment about special gen_rtx variants.
|
||
* emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
|
||
|
||
Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* choose-temp.c (choose_temp_base): Restore original variant of
|
||
this function for compatibility.
|
||
(make_temp_file): This is the new, preferred interface to create
|
||
temporary files.
|
||
* collect2.c (choose_temp_base): Delete declaration.
|
||
(make_temp_file): Declare.
|
||
(temp_filename_length, temp_filename): Delete.
|
||
(main): Use make_temp_file to get temporary files. Use --lang-c
|
||
to force the resulting ctort/dtor file to be compiled with the C
|
||
compiler. Make sure to remove temporary files on all exit paths.
|
||
* gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
|
||
defined.
|
||
(choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
|
||
not defined.
|
||
(do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
|
||
|
||
Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
|
||
getwd.
|
||
|
||
* acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
|
||
NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
|
||
|
||
* cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
|
||
(my_strerror): Add prototype and make it static.
|
||
|
||
* collect2.c: Likewise.
|
||
|
||
* cpplib.c: Likewise.
|
||
|
||
* gcc.c: Likewise, but keep `my_strerror' extern.
|
||
|
||
* protoize.c: Likewise.
|
||
|
||
* pexecute.c (my_strerror): Add argument to prototype.
|
||
|
||
* system.h: Add prototypes for getcwd, getwd and strerror. Add
|
||
extern decls for sys_nerr and sys_errlist. Make abort decl
|
||
explicitly extern.
|
||
|
||
* getpwd.c: Remove decls for getwd and getcwd.
|
||
|
||
Sun Jun 28 02:11:16 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
|
||
of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
|
||
Allow FP moves to be optimized.
|
||
(rtx_unsafe_p): Delete.
|
||
|
||
Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* objc/archive.c: Remove <string.h> prototypes.
|
||
|
||
Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* tm.texi (NEED_MATH_LIBRARY): Document new target macro.
|
||
|
||
* Makefile.in (gencheck): Remove $(TREE_H) dependency.
|
||
|
||
Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
|
||
|
||
* dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
|
||
* dsp16xx.c (next_cc_user_unsigned): New function.
|
||
Remove save_next_cc_user_code.
|
||
(print_operand): Use HOST_WIDE_INT_PRINT_* macros.
|
||
* dsp16xx.md: Call next_cc_user_unsigned instead of using
|
||
save_next_cc_user_code.
|
||
Use gen_rtx_* functions instead of gen_rtx.
|
||
|
||
Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
|
||
|
||
Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (count_reg_sets): New function.
|
||
(count_reg_sets_1, count_ref_references): Likewise.
|
||
(recompute_reg_usage): Likewise.
|
||
* rtl.h (recompute_reg_usage): Add prototype.
|
||
* toplev.c (rest_of_compilation): Call recompute_reg_usage just
|
||
before local register allocation.
|
||
|
||
Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (negsf, negdf): Revert Jan 22 change.
|
||
|
||
Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
|
||
(mkstemp): Remove size specifier for variable `letters'. Call
|
||
gettimeofday, not __gettimeofday.
|
||
|
||
* Makefile.in (EXPR_H): New dependency variable.
|
||
(c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
|
||
(c-iterate.o): Likewise.
|
||
(gencheck): Depend on $(TREE_H) instead of tree.h, etc.
|
||
(stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
|
||
(toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
|
||
(varasm.o): Depend on $(EXPR_H) instead of expr.h.
|
||
(function.o): Likewise.
|
||
(stmt.o): Likewise.
|
||
(except.o): Likewise.
|
||
(expr.o): Likewise.
|
||
(calls.o): Likewise.
|
||
(expmed.o): Likewise.
|
||
(explow.o): Likewise.
|
||
(optabs.o): Likewise.
|
||
(sdbout.o): Likewise.
|
||
(dwarf2out.o): Likewise.
|
||
(emit-rtl.o): Likewise.
|
||
(integrate.o): Likewise.
|
||
(jump.o): Likewise.
|
||
(cse.o): Likewise.
|
||
(gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
|
||
basic-block.h.
|
||
(loop.o): Depend on $(EXPR_H) instead of expr.h.
|
||
(unroll.o): Likewise.
|
||
(combine.o): Likewise.
|
||
(reload.o): Likewise.
|
||
(reload1.o): Likewise.
|
||
(caller-save.o): Likewise.
|
||
(reorg.o): Likewise.
|
||
(alias.o): Don't depend on insn-codes.h.
|
||
(regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
|
||
(insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
|
||
(insn-opinit.o): Likewise.
|
||
|
||
Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
|
||
instead of mktemp.
|
||
* gcc.c (MKTEMP_EACH_FILE): Define.
|
||
(main): No need to call choose_temp_base if we are going to
|
||
use choose_temp_base to create each file later.
|
||
* mkstemp.c: New file. Adapted from glibc.
|
||
* Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o.
|
||
(mkstemp.o): Add dependencies.
|
||
|
||
* configure.in (gettimeofday): Check for its existence.
|
||
* config.in (HAVE_GETTIMEOFDAY): Define.
|
||
* configure: Rebuilt.
|
||
|
||
1998-06-26 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.md (ne 0, non power case): Add missing & constraint.
|
||
Name pattern ne0.
|
||
(negative abs insns): Add pattern names.
|
||
|
||
Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* Makefile.in (install-info): Run install-info program in separate
|
||
loop.
|
||
|
||
Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* haifa-sched.c (schedule_block): Add hooks for the machine
|
||
description to reorder the ready list, and update how many more
|
||
instructions can be issued this cycle.
|
||
* tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
|
||
|
||
Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
|
||
Explicitly mark the constant being compared against as unsigned.
|
||
* config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
|
||
Fully initialize final members.
|
||
(mem_aligned_8): Explicit init of offset to zero.
|
||
(output_function_prologue): Explicit init of n_regs to zero.
|
||
(output_function_epilogue): Likewise, and mark arg size as
|
||
unused.
|
||
(init_cumulative_args): Mark libname and indirect as unused.
|
||
(function_arg_pass_by_reference): Likewise for cum and named.
|
||
(sparc_builtin_saveregs): Likewise for arglist.
|
||
(sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
|
||
|
||
Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
|
||
if reloading a MEM.
|
||
|
||
* arm.h (arm_adjust_cost): Renamed bogus prototype from
|
||
arm_adjust_code.
|
||
(bad_signed_byte_operand): Add prototype.
|
||
* arm.c (arm_override_options): Make I unsigned.
|
||
(const_ok_for_arm): Add casts to the constants.
|
||
(load_multiple_operation): Don't redeclare elt in sub-block.
|
||
(arm_gen_movstrqi): Delete external declaration of optimize.
|
||
(gen_compare_reg): Declare parameter fp.
|
||
|
||
* arm.c (final_prescan_insn): Only initialize scanbody if the insn
|
||
has a pattern.
|
||
|
||
Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alpha.c: Include system.h and toplev.h.
|
||
(cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
|
||
(const48_operand): Likewise.
|
||
(mode_width_operand): Likewise.
|
||
(mode_mask_operand): Likewise.
|
||
(mul8_operand): Likewise.
|
||
(current_file_function_operand): Likewise.
|
||
(signed_comparison_operator): Likewise.
|
||
(divmod_operator): Likewise.
|
||
(any_memory_operand): Likewise.
|
||
(alpha_return_addr): Likewise for parameter `frame'.
|
||
(alpha_builtin_saveregs): Likewise for parameter `arglist'.
|
||
(vms_valid_decl_attribute_p): Likewise for parameters `decl' and
|
||
`attributes'.
|
||
(alpha_start_function): Likewise for parameter `decl'. Use
|
||
HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
|
||
specifiers. Remove unused variables `lab' and `name'.
|
||
(alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
|
||
(check_float_value): Likewise for parameter `overflow'.
|
||
(alpha_need_linkage): Likewise for parameters `name' and `is_local'.
|
||
|
||
* alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
|
||
taking an argument.
|
||
(ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
|
||
(ASM_OUTPUT_CHAR): Likewise.
|
||
(ASM_OUTPUT_BYTE): Likewise.
|
||
(PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
|
||
fprintf.
|
||
(PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
|
||
Add prototypes for functions in alpha.c.
|
||
|
||
* alpha.md (ashldi3): Add default case in switch.
|
||
|
||
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (gcc_version, gcc_version_trigger): New macros.
|
||
(version): Initialize from $(gcc_version).
|
||
|
||
* configure.in (version): Rename to gcc_version.
|
||
(gcc_version_trigger): New variable; call AC_SUBST for it and
|
||
emit it into the generated config.status.
|
||
* configure: Regenerate.
|
||
|
||
Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
|
||
nodes that are not expressions.
|
||
|
||
Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* invoke.texi (-fstrict-aliasing): Document.
|
||
* rtl.texi (MEM_ALIAS_SET): Document.
|
||
|
||
* flags.h (flag_strict_aliasing): Declare.
|
||
* toplev.c (flag_strict_aliasing): Define.
|
||
(f_options): Add -strict-aliasing.
|
||
(main): Set flag_strict_aliasing if -O2 or higher.
|
||
|
||
* tree.h (tree_type): Add alias_set field.
|
||
(TYPE_ALIAS_SET): New macro.
|
||
(TYPE_ALIAS_SET_KNOWN_P): Likewise.
|
||
(get_alias_set): Declare.
|
||
* tree.c (lang_get_alias_set): Define.
|
||
(make_node): Initialize TYPE_ALIAS_SET.
|
||
(get_alias_set): New function.
|
||
* print-tree.c (print_node): Dump the alias set for a type.
|
||
|
||
* c-tree.h (c_get_alias_set): Declare.
|
||
* c-common.c (c_get_alias_set): New function.
|
||
* c-decl.c (init_decl_processing): Set lang_get_alias_set.
|
||
|
||
* expr.c (protect_from_queue): Propagate alias sets.
|
||
(expand_assignment): Calculate alias set for new MEMs.
|
||
(expand_expr): Likewise.
|
||
* function.c (put_var_into_stack): Likewise.
|
||
(put_reg_into_stack): Likewise.
|
||
(gen_mem_addressof): Likewise.
|
||
(assign_parms): Likewise.
|
||
* stmt.c (expand_decl): Likewise.
|
||
* varasm.c (make_decl_rtl): Eliminate redundant clearing of
|
||
DECL_RTL. Calculate alias set for new MEMs.
|
||
|
||
* rtl.def (REG): Add dummy operand.
|
||
(MEM): Add extra operand to store the MEM_ALIAS_SET.
|
||
* rtl.h (MEM_ALIAS_SET): New macro.
|
||
(gen_rtx_MEM): Declare.
|
||
* emit-rtl.c (gen_rtx_MEM): New function.
|
||
* gengenrtl.c (sepcial_rtx): Make MEMs special.
|
||
|
||
* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
|
||
(DIFFERENT_ALIAS_SETS_P): Likewise.
|
||
(canon_rtx): Propagate the alias set to the new MEM.
|
||
(true_dependence): Check the alias sets.
|
||
(anti_dependence): Likewise.
|
||
(output_dependence): Likewise.
|
||
* explow.c (stabilize): Progoate alias sets.
|
||
* integrate.c (copy_rtx_and_substitute): Likewise.
|
||
* final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
|
||
in an unpredictable state. Propagate alias sets.
|
||
* reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
|
||
we have no alias information.
|
||
|
||
Thu Jun 25 16:59:18 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
|
||
(find_all_handler_type_matches): Add function prototype.
|
||
* eh-common.h (CATCH_ALL_TYPE): Definition added.
|
||
* except.c (find_all_handler_type_matches): Add function to find all
|
||
runtime type info in the exception table.
|
||
(output_exception_table_entry): Special case for CATCH_ALL_TYPE.
|
||
|
||
Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
|
||
|
||
* config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
|
||
`yhigh' and `bit' into the scope in which they are used.
|
||
(_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
|
||
`y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
|
||
|
||
* rs6000.c: Move include of output.h below tree.h. Include toplev.h.
|
||
(any_operand): Mark unused parameters `op' and `mode' with
|
||
ATTRIBUTE_UNUSED.
|
||
(count_register_operand): Likewise for parameter `mode'.
|
||
(fpmem_operand): Likewise.
|
||
(short_cint_operand): Likewise.
|
||
(u_short_cint_operand): Likewise.
|
||
(non_short_cint_operand): Likewise.
|
||
(got_operand): Likewise.
|
||
(got_no_const_operand): Likewise.
|
||
(non_add_cint_operand): Likewise.
|
||
(non_logical_cint_operand): Likewise.
|
||
(mask_operand): Likewise.
|
||
(current_file_function_operand): Likewise.
|
||
(small_data_operand): Likewise for parameters `op' and `mode' but
|
||
only when !TARGET_ELF.
|
||
(init_cumulative_args): Mark parameters `libname' with
|
||
ATTRIBUTE_UNUSED.
|
||
(function_arg_pass_by_reference): Likewise for parameters `cum',
|
||
`mode' and `named'.
|
||
(expand_builtin_saveregs): Likewise for parameter `args'.
|
||
(load_multiple_operation): Likewise for parameter `mode'.
|
||
(store_multiple_operation): Likewise.
|
||
(branch_comparison_operator): Likewise.
|
||
(secondary_reload_class): Likewise.
|
||
(print_operand): Add parentheses around & operation.
|
||
(output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
|
||
(output_epilog): Likewise. Cast argument to fprintf to int.
|
||
(rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
|
||
(rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
|
||
`attributes', `identifier' and `args'.
|
||
(rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
|
||
(rs6000_comp_type_attributes): Likewise for parameters `type1' and
|
||
`type2'.
|
||
(rs6000_set_default_type_attributes): Likewise for parameter `type'.
|
||
|
||
* rs6000.h (RTX_COSTS): Add parentheses around & operation.
|
||
(toc_section, private_data_section, trap_comparison_operator): Add
|
||
prototypes.
|
||
|
||
* dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
|
||
prototypes.
|
||
|
||
* xcoffout.c: Include toplev.h, outout.h and dbxout.h.
|
||
|
||
* xcoffout.h (stab_to_sclass, xcoffout_begin_function,
|
||
xcoffout_begin_block, xcoffout_end_epilogue,
|
||
xcoffout_end_function, xcoffout_end_block,
|
||
xcoff_output_standard_types, xcoffout_declare_function,
|
||
xcoffout_source_line): Add prototypes.
|
||
|
||
Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
|
||
noticed by grahams@rcp.co.uk.
|
||
|
||
Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* gcc.c (default_compilers): Use new | syntax to eliminate
|
||
string concatenation.
|
||
|
||
Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_function_name): Delete.
|
||
(alpha_ra_ever_killed): Notice current_function_is_thunk.
|
||
(alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
|
||
(alpha_start_function): Reorg from output_prologue.
|
||
(alpha_end_function): Reorg from output_epilogue.
|
||
* alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
|
||
(ASM_DECLARE_FUNCTION_SIZE): New.
|
||
(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
|
||
(PROFILE_BEFORE_PROLOGUE): Set.
|
||
(ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
|
||
* alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
|
||
|
||
Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
|
||
|
||
* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
|
||
|
||
1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||
|
||
* expr.c (expand_assignment): Rework address calculation for structure
|
||
field members to expose more invariant computations to the loop
|
||
optimizer.
|
||
(expand_expr): Likewise.
|
||
|
||
Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* local-alloc.c (block_alloc): Do not try to avoid false dependencies
|
||
when SMALL_REGISTER_CLASSES is nonzero.
|
||
|
||
Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
|
||
|
||
* alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
|
||
|
||
Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
|
||
|
||
* expr.c (get_memory_rtx): New function.
|
||
(expand_builtin): Call get_memory_rtx for MEM arguments to builtin
|
||
string functions.
|
||
|
||
* expmed.c (init_expmed): Initialize all elements of *_cost arrays.
|
||
|
||
* optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
|
||
* expr.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* combine.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* gcse.c: Likewise.
|
||
|
||
Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* README.gnat: Add patch for new lang_decode_options interface.
|
||
|
||
Wed Jun 24 09:14:04 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.c (start_catch_handler): Do nothing if EH is not on.
|
||
|
||
1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* configure.in (gxx_include_dir): Initialize default value depending on
|
||
new flag --enable-version-specific-runtime-libs; remove superfluous
|
||
default initialization afterwards.
|
||
* configure: Regenerate.
|
||
|
||
Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* toplev.c (rest_of_compilation): Revert May 15 change.
|
||
|
||
Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* reload.c (find_reloads): Fix check for failure to match any
|
||
alternative, to account for Mar 26 change in initial "best" cost.
|
||
|
||
Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cpplib.c (do_line): Typo broke #line directive.
|
||
(cpp_message_from_errno): New function.
|
||
(cpp_error_from_errno): Call cpp_message_from_errno.
|
||
* cpplib.h (cpp_message_from_errno): New function.
|
||
|
||
Tue Jun 23 13:38:18 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
|
||
functions to return exception descriptor information.
|
||
(find_exception_handler): Pass match_info field to runtime matcher,
|
||
not a descriptor table entry.
|
||
|
||
Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
|
||
accompany previous Makefile.in (install-info) change.
|
||
|
||
Tue Jun 23 10:06:07 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* eh-common.h (struct __eh_info): Remove coerced value field.
|
||
* libgcc2.c (find_exception_handler): Don't set coerced_value field.
|
||
* except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
|
||
POINTER_SIZE instead of Pmode.
|
||
(expand_start_all_catch): Call start_catch_handler() if we are not
|
||
using new style exceptions.
|
||
|
||
Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* varasm.c (assemble_variable): Remove reference to warn_bss_align.
|
||
|
||
Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
||
|
||
* config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
|
||
extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
|
||
subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
|
||
splits and peepholes): Change remaining generic gen_rtx calls to
|
||
specific genrtl ones.
|
||
* config/sparc/sparc.c: Likewise.
|
||
|
||
Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gcc.c (handle_braces): Recognize | between options as an or.
|
||
|
||
Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
|
||
|
||
* i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
|
||
* i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
|
||
|
||
* i386.md (exception_receiver): Define.
|
||
|
||
Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
|
||
PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
|
||
(install-common): Use them.
|
||
|
||
* gcse.c (add_label_notes): New function.
|
||
(pre_insert_insn): Call it.
|
||
* unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
|
||
pass the label to set_label_in_map.
|
||
|
||
Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* Makefile.in (install-info): Fix typpo in previous change.
|
||
|
||
Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* varasm.c (assemble_variable): Emit alignment warning.
|
||
|
||
Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (varasm.o): Depend on sdbout.h.
|
||
(sdbout.o): Depend on toplev.h.
|
||
|
||
* collect2.c (scan_prog_file): Cast fprintf argument to `long' and
|
||
use %ld specifier.
|
||
|
||
* final.c (shorten_branches): Cast first arg of `bzero' to char *.
|
||
|
||
* genextract.c (main): When creating insn-extract.c, mark variable
|
||
`i' with ATTRIBUTE_UNUSED.
|
||
|
||
* genpeep.c (main): When creating insn-peep.c, mark variables
|
||
`insn', `x' and `pat' with ATTRIBUTE_UNUSED.
|
||
|
||
* objc/init.c (__objc_tree_print): Wrap function definition in
|
||
macro `DEBUG'.
|
||
|
||
* objc/objc-act.c (encode_array): Cast sprintf argument to `long'
|
||
and use %ld specifier.
|
||
(adorn_decl): Likewise, twice.
|
||
|
||
* reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
|
||
|
||
* sdbout.c: Include output.h and toplev.h.
|
||
(PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
|
||
`a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
|
||
(PUT_SDB_SIZE): Likewise.
|
||
|
||
* sdbout.h (sdbout_mark_begin_function): Add prototype.
|
||
|
||
* stmt.c (check_for_full_enumeration_handling): Cast argument of
|
||
`warning' to long and use %ld specifier.
|
||
|
||
* toplev.c (main): Likewise for `fprintf'.
|
||
|
||
* toplev.h (output_file_directive): Add prototype.
|
||
|
||
* unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
|
||
call to `fprintf'.
|
||
(precondition_loop_p): Likewise.
|
||
|
||
* varasm.c Include sdbout.h.
|
||
(assemble_static_space): Move sometimes-unused variable `rounded'
|
||
into the scope in which it is used.
|
||
|
||
* mips.c (gpr_mode): Don't say `static' twice.
|
||
|
||
* cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
|
||
|
||
* objc/objc-act.c (init_selector): Hide prototype and definition.
|
||
|
||
* optabs.c (gen_cond_trap): Remove unused variable `icode'.
|
||
|
||
* regmove.c (copy_src_to_dest): Likewise for `i'.
|
||
|
||
* mips-tfile.c (add_local_symbol): Cast width format specifier to int.
|
||
(add_ext_symbol): Likewise.
|
||
(add_file): Likewise.
|
||
(parse_def): Likewise.
|
||
(write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
|
||
remaining format specifiers and arguments.
|
||
(write_object): Likewise, several times.
|
||
(read_seek): Likewise.
|
||
(out_of_bounds): Likewise.
|
||
(allocate_cluster): Likewise.
|
||
(xmalloc): Likewise.
|
||
(xcalloc): Likewise.
|
||
(xrealloc): Likewise.
|
||
(xfree): Likewise.
|
||
|
||
* mips-tdump.c (print_symbol): Likewise.
|
||
|
||
Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
|
||
|
||
* Makefile.in (install-info): Use install-info program if
|
||
available, per GNU standard.
|
||
|
||
Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* invoke.texi: Document -mrelax for the mn10300 and mn10200.
|
||
|
||
* basic-block.h (init_regset_vector): Delete declaration.
|
||
* flow.c (init_regset_vector): Make it static and add a prototype.
|
||
|
||
* bitmap.h (debug_bitmap): Declare.
|
||
|
||
* haifa-sched.c (debug_ready_list): Make static.
|
||
|
||
* toplev.h (fancy_abort): Declare.
|
||
|
||
Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* basic-block.h (init_regset_vector): New declaration.
|
||
|
||
* Makefile.in (sdbout.o): Add insn-codes.h to dependency.
|
||
|
||
* global.c: Include machmode.h amd move hard-reg-set.h before
|
||
rtl.h.
|
||
|
||
* haifa-sched.c (insn_issue_delay, birthing_insn_p,
|
||
adjust_priority, print_insn_chaino): New declaration.
|
||
(schedule_insns): Remove declaration.
|
||
(init_target_units, get_visual_tbl_length,
|
||
init_block_visualization): Add prototype.
|
||
|
||
* integrate.c (pushdecl, poplevel): Remove declaration.
|
||
|
||
* rtl.h (expand_expr): Remove declaration.
|
||
|
||
* loop.c (oballoc): Remove declaration.
|
||
(replace_call_address): Add prototype.
|
||
|
||
Sun Jun 21 01:08:17 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.c (output_fp_conditional_move): Don't bother handling
|
||
(cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
|
||
prevent this from happening.
|
||
|
||
* i386.md (nonlocal_goto_receiver): Delete.
|
||
|
||
Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
|
||
-DCRTSTUFFS_O.
|
||
(INSTALL): cd $(srcdir) before make.
|
||
|
||
* flow.c (allocate_for_life_analysis, init_regset_vector):
|
||
Remove declaration.
|
||
|
||
* function.h (get_first_block_beg): New declaration.
|
||
|
||
* gbl-ctors.h (__do_global_dtors): Add prototype.
|
||
|
||
* gcov-io.h (__fetch_long): New declaration.
|
||
(__store_long): Likewise.
|
||
(__read_long): Likewise.
|
||
(__write_long): Likewise.
|
||
|
||
* gcov.c (print_usage): New declaration.
|
||
|
||
* Makefile.in (c-iterate.o): Depend on insn-codes.h too.
|
||
|
||
Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* calls.c (expand_call): Initialize "src" and "dest".
|
||
* stmt.c (expand_return): Likewise.
|
||
* expmed.c (extract_split_bit_field): Similarly for "result"
|
||
* gcse.c (compute_hash_table): Mark first arg as unused.
|
||
* jump.c (jump_optimize): Initialize reversep.
|
||
* tree.c (make_node): Initialize length.
|
||
|
||
* c-common.c (check_format_info): Initialize length_char and
|
||
fci to keep -Wall quiet.
|
||
|
||
* except.c (jumpif_rtx): Put declaration and definition
|
||
inside a suitable #ifdef.
|
||
(jumpifnot_rtx): Delete dead function.
|
||
|
||
* i386.h (output_int_conditional_move): Declare.
|
||
(output_fp_conditional_move): Likewise.
|
||
(ix86_can_use_return_insn_p): Likewise.
|
||
|
||
* optabs.c (init_traps): Put prototype inside a suitable #ifdef.
|
||
|
||
Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* alias.c: Include toplev.h.
|
||
* caller-save.c: Include toplev.h.
|
||
* combine.c: Include toplev.h.
|
||
* flow.c Include toplev.h.
|
||
* global.c: Include toplev.h.
|
||
* jump.c: Include toplev.h.
|
||
* local-alloc.c: Include toplev.h.
|
||
* loop.c: Include toplev.h.
|
||
* regmove.c: Include toplev.h.
|
||
* stupid.c: Include toplev.h.
|
||
* unroll.c: Include toplev.h.
|
||
* Makefile.in: Add toplev.h dependencies.
|
||
|
||
Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* regmove.c (copy_src_to_dest): Add decl for loop_depth.
|
||
|
||
* svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
|
||
* dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
|
||
Add parens to various macros.
|
||
|
||
Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* c-typeck.c (pop_init_level): Warn about implicit zero initialization
|
||
of struct members.
|
||
|
||
Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* varasm.c (assemble_start_function): Add weak_global_object_name.
|
||
* tree.c (get_file_function_name): Use it.
|
||
|
||
Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* except.c (jumpif_rtx): Make static and add prototype.
|
||
(jumpifnot_rtx): Likewise.
|
||
|
||
* README.gnat: Add a build patch from Fred Fish.
|
||
|
||
* c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
|
||
|
||
* Makefile.in (c-iterate.o): Depend on expr.h.
|
||
|
||
Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* except.h (emit_unwinder, end_eh_unwinder): Removed.
|
||
|
||
* dwarfout.c (getpwd): Add prototype.
|
||
(is_pseudo_reg, type_main_variant, is_tagged_type,
|
||
is_redundant_typedef): New declaration.
|
||
(output_decl): Add prototype for FUNC.
|
||
(type_main_variant): Make it static.
|
||
(is_tagged_type): Likewise.
|
||
(is_redundant_typedef): Likewise.
|
||
|
||
* expr.c (do_jump_by_parts_greater_rtx): Removed.
|
||
(truthvalue_conversion): Likewise.
|
||
|
||
* c-iterate.c: Include "expr.h".
|
||
(expand_expr): Use proper values when calling the function.
|
||
|
||
* explow.c (emit_stack_save): Add prototype for FCN.
|
||
(emit_stack_restore): Likewise.
|
||
|
||
* dwarf2out.c (getpwd): Add prototype.
|
||
|
||
* dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
|
||
|
||
* c-typeck.c (c_expand_asm_operands): Use proper values when calling
|
||
expand_expr.
|
||
|
||
* c-lex.c (yyprint): Add prototype.
|
||
(check_newline, build_objc_string): Remove declaration.
|
||
|
||
* c-tree.h (comptypes_record_hook): Removed.
|
||
(finish_incomplete_decl): New prototype.
|
||
|
||
* alias.c (find_base_value): Add prototype.
|
||
(true_dependence): Add prototype for function argument.
|
||
|
||
* c-aux-info.c (xmalloc): Remove declaration.
|
||
|
||
Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* i386.c: Include system.h. Remove redundant includes.
|
||
(optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
|
||
(i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
|
||
'identifier', 'args'.
|
||
(i386_valid_type_attribute_p): Likewise for 'attributes'.
|
||
(i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
|
||
(function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
|
||
and 'named'.
|
||
(symbolic_operand): Likewise for 'mode'.
|
||
(call_insn_operand): Likewise.
|
||
(expander_call_insn_operand): Likewise.
|
||
(ix86_logical_operator): Likewise.
|
||
(ix86_binary_operator_ok): Likewise.
|
||
(emit_pic_move): Likewise.
|
||
(VOIDmode_compare_op): Likewise.
|
||
(is_mul): Likewise.
|
||
(str_immediate_operand): Likewise.
|
||
(ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
|
||
(asm_output_function_prefix): Likewise for 'name'.
|
||
(function_prologue): Likewise for 'file', and 'size'.
|
||
(function_epilogue): Likewise.
|
||
|
||
1998-06-19 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.h (struct induction): Clarify comment for unrolled field.
|
||
* unroll.c (find_splittable_givs): Move set of unrolled field
|
||
after address validity check.
|
||
|
||
Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/fp-bit.c (INLINE): Only define if not already defined.
|
||
|
||
1998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (installdirs): Loop over directories in $(libsubdir)
|
||
creating probably missing ones, instead of single if statements.
|
||
|
||
Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-common.c (truthvalue_conversion): Protect side effects in the
|
||
expression when splitting a complex value.
|
||
* fold-const.c (fold): Likewise.
|
||
|
||
Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
|
||
|
||
* cccp.c (hack_vms_include_specification): Rewrite to handle
|
||
'#include <dir/file.h>' correctly.
|
||
|
||
Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
|
||
|
||
Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.c (notice_update_cc): Integer conditional moves don't
|
||
affect cc0.
|
||
|
||
* i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
|
||
to support LT, LE, GE, and GT signed integer comparisons.
|
||
(movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
|
||
movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
|
||
is LT, LE, GE, or GT.
|
||
(movdicc): Remove code resulting from an earlier patch which
|
||
didn't apply correctly.
|
||
|
||
Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
|
||
consider a MEM in FP mode as equal.
|
||
|
||
Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
|
||
duplicate declarations of a function.
|
||
|
||
Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* config/float-i386.h: New.
|
||
|
||
* configure.in (i[34567]86-*-linux-*): Set float_format to i386.
|
||
|
||
Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sched.c (schedule_insns): Use xmalloc not alloca for max_uid
|
||
indexed arrays. Call free at the end of the function for them.
|
||
* haifa-sched.c (schedule_insns): Likewise.
|
||
|
||
Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (size_of_string): Do count backslashes.
|
||
|
||
Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
|
||
addressing when one register is the frame pointer or stack
|
||
pointer. Disallow REG+CONST addressing in HI mode.
|
||
|
||
Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
|
||
RELOAD_FOR_INSN.
|
||
|
||
Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (c-lang.o): Depend on output.h.
|
||
|
||
* c-lang.c: Include output.h.
|
||
|
||
* sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
|
||
|
||
* except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
|
||
|
||
* genrecog.c (write_subroutine): When writing insn-recog.c, mark
|
||
variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
|
||
with ATTRIBUTE_UNUSED.
|
||
|
||
* regmove.c (copy_src_to_dest): Make function static to match its
|
||
prototype.
|
||
|
||
* reload1.c Include hard-reg-set.h before rtl.h to get macro
|
||
HARD_CONST. Include machmode.h before hard-reg-set.h.
|
||
|
||
* rtl.h: Prototype `retry_global_alloc' and wrap with macro
|
||
HARD_CONST to protect usage of typedef HARD_REG_SET.
|
||
|
||
* tree.c: Prototype `_obstack_allocated_p'.
|
||
|
||
* varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
|
||
BSS_SECTION_ASM_OP.
|
||
|
||
Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* pa.c: Include system.h and toplev.h. Remove redundant code.
|
||
(call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
|
||
(symbolic_operand): Likewise.
|
||
(symbolic_memory_operand): Likewise.
|
||
(pic_label_operand): Likewise.
|
||
(fp_reg_operand): Likewise.
|
||
(pre_cint_operand): Likewise.
|
||
(post_cint_operand): Likewise.
|
||
(ireg_or_int5_operand): Likewise.
|
||
(int5_operand): Likewise.
|
||
(uint5_operand): Likewise.
|
||
(int11_operand): Likewise.
|
||
(uint32_operand): Likewise.
|
||
(ior_operand): Likewise.
|
||
(lhs_lshift_cint_operand): Likewise.
|
||
(pc_or_label_operand): Likewise.
|
||
(legitimize_pic_address): Likewise.
|
||
(hppa_legitimize_address): Likewise for parameter `old'.
|
||
(output_block_move): Likewise for parameter `size_is_constant'.
|
||
(output_function_prologue): Likewise for parameter `size'.
|
||
(output_function_epilogue): Likewise.
|
||
(return_addr_rtx): Likewise for parameter `count'.
|
||
(output_mul_insn): Likewise for parameter `unsignedp'.
|
||
(hppa_builtin_saveregs): Likewise for parameter `arglist'.
|
||
(output_bb): Likewise for parameter `operands'.
|
||
(output_bvb): Likewise.
|
||
(function_label_operand): Likewise for parameter `mode'.
|
||
(plus_xor_ior_operator): Likewise.
|
||
(shadd_operand): Likewise.
|
||
(non_hard_reg_operand): Likewise.
|
||
(eq_neq_comparison_operator): Likewise.
|
||
(movb_comparison_operator): Likewise.
|
||
(pa_combine_instructions): Likewise for parameter `insns'.
|
||
|
||
* pa.h: Add prototypes for functions `output_deferred_plabels',
|
||
`override_options', `output_ascii', `output_function_prologue',
|
||
`output_function_epilogue', `print_operand',
|
||
`symbolic_expression_p', `reloc_needed', `compute_frame_size',
|
||
`hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
|
||
`pa_adjust_cost', `pa_adjust_insn_length' and
|
||
`secondary_reload_class'.
|
||
|
||
Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* configure.in: Don't turn on collect2 unconditionally.
|
||
|
||
Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* cse.c (cse_basic_block): Don't include NOTE insns in the count
|
||
that is used to decide whether or not it is time to erase the
|
||
equivalence table.
|
||
|
||
Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
|
||
|
||
Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
|
||
|
||
* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
|
||
(sched_analyze_2): Allow scheduling TRAP_IF.
|
||
|
||
* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
|
||
|
||
* rtl.h (TRAP_CODE): New macro.
|
||
|
||
* rtl.def (TRAP_IF): Change second operand type to rtx.
|
||
|
||
* optabs.c (gen_cond_trap): New function.
|
||
(init_traps): New function.
|
||
(init_optabs): Call init_traps.
|
||
* expr.h: Declare gen_cond_trap.
|
||
|
||
* jump.c (jump_optimize): Optimize jumps to and around traps.
|
||
|
||
* sparc.md: Define trap instructions.
|
||
|
||
* rs6000.md: Define trap instructions.
|
||
* rs6000.c (print_operand): New code 'V' for trap condition.
|
||
(trap_comparison_operator): New function.
|
||
|
||
* m88k.md: Update use of TRAP_IF.
|
||
|
||
* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
|
||
* c-decl.c (init_decl_processing): New builtin __builtin_trap.
|
||
* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
|
||
|
||
* expr.c (expand_builtin): Error if __builtin_longjmp second argument
|
||
is not 1.
|
||
|
||
Wed Jun 17 15:20:00 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* reload1.c (spill_hard_reg): Check mode of register when
|
||
spilling from scratch_list.
|
||
|
||
Wed Jun 17 16:25:38 1998 Andrew MacLeod (amacleod@cygnus.com)
|
||
|
||
* except.c (add_new_handler): Fix bug in finding last region handler.
|
||
* libgcc2.c (find_exception_handler): Pass exception table pointer
|
||
to runtime type matcher, not the match info field.
|
||
|
||
Wed Jun 17 15:57:48 1998 Andrew MacLeod (amacleod@cygnus.com)
|
||
|
||
* eh-common.h (struct eh_context): Add comment for hidden use of
|
||
field dynamic_handler_chain.
|
||
* except.c (get_dynamic_handler_chain): Comment on, and use the
|
||
correct offset of the dynamic_handler_chain field.
|
||
|
||
1998-06-17 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/iris6.h (LINK_SPEC): Add -woff 131.
|
||
|
||
1998-06-17 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
|
||
|
||
* configure.in: Don't disable collect2 when we have GNU ld.
|
||
|
||
Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (make_range): Do not widen the type of the expression.
|
||
|
||
* expr.c (check_max_integer_computation_mode): New function.
|
||
(expand_expr): Avoid integer computations in modes wider than
|
||
MAX_INTEGER_COMPUTATION_MODE.
|
||
* fold-const.c (fold): Likewise.
|
||
* tree.h (check_max_integer_computation_mode): Declare.
|
||
* tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
|
||
|
||
* configure.in (nm): Make a link to "nm" in the build tree too.
|
||
|
||
* mn10300.md (andsi3): Fix typo.
|
||
|
||
Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload1.c (reload_cse_regs): Call bzero instead of looping.
|
||
|
||
Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (stripattributes): Prepend '*' to the section name.
|
||
|
||
Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
|
||
(output_prologue, output_epilogue): Merge VMS and OSF versions;
|
||
Remove anything related to the actual code generation.
|
||
(output_end_prologue): New function.
|
||
(alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
|
||
(alpha_does_function_need_gp): Return false for VMS.
|
||
(alpha_function_needs_gp): Make static.
|
||
(add_long_const): Delete.
|
||
(summarize_insn): Don't assume a SUBREG is of a REG.
|
||
Prototype all static functions. Rename VMS-specific global
|
||
variables vms_*.
|
||
* alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
|
||
(FUNCTION_BOUNDARY): Align to cache line.
|
||
(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
|
||
(FUNCTION_END_PROLOGUE): New macro.
|
||
* alpha.md (attribute length): New. Mark all insns.
|
||
(return_internal, prologue_stack_probe_loop): New patterns.
|
||
(prologue, init_fp, epilogue): New patterns.
|
||
Disable peepholes.
|
||
* linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
|
||
|
||
Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* toplev.c (lang_options): Add -trigraphs option for cpplib.
|
||
|
||
Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
|
||
is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
|
||
is earlier than RELOAD_FOR_INPUT_ADDRESS.
|
||
|
||
Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* libgcc1-test.c (memcpy): Define.
|
||
|
||
Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* genattrtab.c (struct attr_desc): Change int flags to bit
|
||
fields. Add bit fields for this being function_units_used
|
||
or *_blockage_range attributes.
|
||
(write_unit_name): New function to print a function unit name
|
||
given unit #.
|
||
(expand_units): Indicate whether this is function_units_used or
|
||
*_blockage_range attributes.
|
||
(write_toplevel_expr): Print function_units_used and
|
||
*_blockage_range attributes in a more friendly fashion.
|
||
(make_internal_attr): Indicate whether this attribute is either
|
||
function_units_used or *_blockage_range.
|
||
|
||
Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
|
||
Jim Wilson <wilson@cygnus.com>
|
||
|
||
* regmove.c (copy_src_to_dest): Do not copy src to dest if either
|
||
the source or destination is special.
|
||
|
||
Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
|
||
|
||
Mon Jun 15 07:16:29 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
|
||
|
||
* config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
|
||
redefining it.
|
||
|
||
Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
|
||
|
||
* m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
|
||
(ENDFILE_SPEC): Add -lgloss.
|
||
|
||
Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
|
||
(large_int): Likewise.
|
||
(pc_or_label_operand): Likewise.
|
||
(call_insn_operand): Likewise.
|
||
(consttable_operand): Likewise.
|
||
(m16_uimm3_b): Likewise.
|
||
(m16_simm4_1): Likewise.
|
||
(m16_nsimm4_1): Likewise.
|
||
(m16_simm5_1): Likewise.
|
||
(m16_nsimm5_1): Likewise.
|
||
(m16_uimm5_4): Likewise.
|
||
(m16_nuimm5_4): Likewise.
|
||
(m16_simm8_1): Likewise.
|
||
(m16_nsimm8_1): Likewise.
|
||
(m16_uimm8_1): Likewise.
|
||
(m16_nuimm8_1): Likewise.
|
||
(m16_uimm8_m1_1): Likewise.
|
||
(m16_uimm8_4): Likewise.
|
||
(m16_nuimm8_4): Likewise.
|
||
(m16_simm8_8): Likewise.
|
||
(m16_nsimm8_8): Likewise.
|
||
(m16_usym8_4): Likewise.
|
||
(m16_usym5_4): Likewise.
|
||
(mips_move_1word): Change type of variable `i' from int to size_t.
|
||
(mips_move_2words): Likewise.
|
||
(output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
|
||
(function_arg_advance): Use HOST_PTR_PRINTF to print an address.
|
||
(function_arg): Likewise.
|
||
(function_arg_partial_nregs): Mark parameter `named' with
|
||
ATTRIBUTE_UNUSED.
|
||
(override_options): Use ISDIGIT instead of isdigit.
|
||
(mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
|
||
(final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
|
||
(save_restore_insns): Cast HOST_WIDE_INT arguments passed to
|
||
function `fatal' to long before printing. Use
|
||
HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
|
||
times in this function.
|
||
(function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
|
||
(function_epilogue): Likewise for parameters `file' and `size'.
|
||
Print an int with "%d" not "%ld".
|
||
(mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
|
||
(mips_function_value): Likewise for parameter `func'.
|
||
(function_arg_pass_by_reference): Likewise for parameters `cum'
|
||
and `named'.
|
||
(extend_operator): Likewise for parameter `mode'
|
||
(highpart_shift_operator): Likewise.
|
||
|
||
* mips.md (mul_acc_si): Remove unused variable `macc'.
|
||
|
||
Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* fold-const.c (fold): Revert last change. It breaks constant
|
||
expressions somehow.
|
||
|
||
Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
|
||
prevent operands from being evaluated twice.
|
||
|
||
Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
|
||
|
||
* toplev.c (lang_options): Add -remap as a preprocessor option.
|
||
|
||
Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
|
||
which set CC_REVERSED since reload should ensure that
|
||
the operands are already the correct type.
|
||
|
||
Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
|
||
calling gen_rtx_SET.
|
||
|
||
Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* config/rs6000/x-aix43 (AR): Delete.
|
||
(AR_FOR_TARGET_FLAGS): Add -X32_64 here.
|
||
|
||
Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
|
||
|
||
* config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
|
||
|
||
Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (override_options): Replace word_mode with explicit
|
||
TARGET_64BIT check.
|
||
|
||
Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* regmove.c (regmove_optimize): If we can't replace the
|
||
destination in an insn that sets the source, generate an explicit
|
||
move of the source to the destination.
|
||
(copy_src_to_dest): New function.
|
||
(toplevel): Include basic-block.h.
|
||
|
||
* Makefile.in (regmove.o): Add basic-block.h dependencies.
|
||
|
||
Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* toplev.c (lang_options): Add missing options (nostdinc, idirafter).
|
||
|
||
Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* rtl.h (rtx_def): Improve documentation.
|
||
(MEM_IN_STRUCT_P): Likewise.
|
||
|
||
Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* c-decl.c (start_decl): Correct test for -Wmain.
|
||
|
||
* c-decl.c (grokdeclarator): Remove unused variable "last".
|
||
|
||
Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (expand_builtin_setjmp): Store const1_rtx in target.
|
||
(expand_builtin_longjmp): Abort if value isn't const1_rtx.
|
||
Delete code storing value in static_chain_rtx.
|
||
(expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
|
||
to second expand_expr call.
|
||
|
||
Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* mips/mips.c: Remove -mabi=o32 and -mabi=n64.
|
||
|
||
Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cppmain.c (fatal): New function.
|
||
* configure.in (cpp_main): New configuration variable.
|
||
* configure: Regenerated.
|
||
* Makefile.in (CCCP): Use a configuration variable to select basex
|
||
for cccp.
|
||
(cppmain$(exeext)): Add @extra_cpp_objs@.
|
||
|
||
Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* objc/objc-act.c: Add cpplib declarations.
|
||
(lang_decode_option): Initialize cpplib if necessary.
|
||
(lang_decode_option): New argc/argv interface.
|
||
* tree.h (lang_decode_option): New argc/argv interface.
|
||
* toplev.c (lang_options): Add cpp options.
|
||
(main): New interface for lang_decode_option.
|
||
* gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
|
||
unless -E, -M or -MM is specified.
|
||
* cpplib.h (cpp_handle_option): New function.
|
||
* cpplib.c (cpp_handle_option): New function.
|
||
(cpp_handle_options): Now calls cpp_handle_option.
|
||
* c-tree.h (c_decode_option): New argc/argv interface.
|
||
* c-lex.c (init_parse): cpplib now initialized in c_decode_option.
|
||
* c-lang.c (lang_decode_option): New argc/argv interface.
|
||
* c-decl.c: Add cpplib declarations.
|
||
(c_decode_option): New argc/argv interface.
|
||
(c_decode_option): Call cpp_handle_option.
|
||
(c_decode_option): Now returns number of strings processed.
|
||
|
||
Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* unroll.c (verify_addresses): Use validate_replace_rtx to undo the
|
||
changes. Abort if the undo fails.
|
||
|
||
1998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (output_prolog): Change locations and
|
||
directions of saving and restoring arguments of main on the stack.
|
||
|
||
Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
|
||
|
||
* reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
|
||
for each alternative. Do not replace a CONST_INT with a REG unless
|
||
the reg is cheaper.
|
||
|
||
Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* decl.c (init_decl_processing): Fix typo.
|
||
|
||
* mips.c (gpr_mode): New variable.
|
||
(override_options): Initialize gpr_mode.
|
||
(compute_frame_size): Use "gpr_mode" instead of "word_mode" to
|
||
determine size and offset of general purpose registers save slots.
|
||
(save_restore_insns, mips_expand_prologue): Similarly.
|
||
|
||
* reload.c (find_reloads_toplev): Use gen_lowpart common to convert
|
||
between constant representations when we have (SUBREG (REG)) with
|
||
REG equivalent to a constant.
|
||
|
||
Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
|
||
|
||
* h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
|
||
|
||
Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* fold-const.c (fold): Even with otherwise constant trees, look for
|
||
opportunities to combine integer constants.
|
||
|
||
Wed Jun 3 23:41:24 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.c (notice_update_cc): Clear cc_status.value2 in the
|
||
case of UNSPEC 5 (bsf).
|
||
|
||
* i386.md (movsfcc, movdfcc, movxfcc): The floating point
|
||
conditional move instructions don't support signed integer
|
||
comparisons.
|
||
|
||
Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
|
||
overflows.
|
||
|
||
* config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
|
||
16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
|
||
<glctr@abc.it>.
|
||
|
||
Tue Jun 9 16:23:13 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.c (expand_start_catch): Rename to start_catch_handler.
|
||
(expand_end_catch): Delete function.
|
||
(expand_end_all_catch): Remove catch status that expand_end_catch
|
||
use to do.
|
||
* except.h (expand_start_catch): Rename prototype.
|
||
(expand_end_catch): Delete prototype.
|
||
|
||
Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
|
||
|
||
* invoke.texi: Add documentation for -mips4 and -mabi=*.
|
||
|
||
Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
|
||
|
||
* alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
|
||
(EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
|
||
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
|
||
|
||
Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
|
||
|
||
* haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
|
||
as the threshold to permit splitting memory operations.
|
||
|
||
Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c (gpr_mode): New variable.
|
||
(override_options): Initialize gpr_mode.
|
||
(compute_frame_size): Use "gpr_mode" instead of "word_mode" to
|
||
determine size and offset of general purpose registers save slots.
|
||
(save_restore_insns, mips_expand_prologue): Similarly.
|
||
|
||
* Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
|
||
(LIBGCC2_CFLAGS): Remove -fexceptions.
|
||
(LIB2FUNCS): Remove "_eh".
|
||
(libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
|
||
it with -fexceptions.
|
||
|
||
* Makefile.in (local-alloc.o): Depend on insn-attr.h.
|
||
* local-alloc.c (block_alloc): Avoid creating false
|
||
dependencies for targets which use instruction scheduling.
|
||
|
||
Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
|
||
(ASM_FINISH_DECLARE_OBJECT): Define;
|
||
* mips/elf64.h: Likewise.
|
||
|
||
Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (flag_new_exceptions): Remove extraneous `extern'.
|
||
|
||
Mon Jun 8 23:24:48 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
|
||
(mulsidi3_ppc64): Delete.
|
||
|
||
Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (varasm.o): Depend on dbxout.h.
|
||
(cse.o): Depend on toplev.h and output.h.
|
||
(gcse.o): Depend on output.h.
|
||
|
||
* mips.c: Include system.h and toplev.h and remove redundant code.
|
||
Include output.h after tree.h so all its prototypes get activated.
|
||
* mips.md (table_jump): Remove unused variable `dest'.
|
||
|
||
* sparc.h: Add prototype for `v8plus_regcmp_op'.
|
||
|
||
* crtstuff.c (fini_dummy, init_dummy): Mark function definitions
|
||
with __attribute__ ((__unused__)).
|
||
(__frame_dummy): Provide prototype before use, wrap it with
|
||
EH_FRAME_SECTION_ASM_OP.
|
||
|
||
* cse.c: Move inclusion of <setjmp.h> above local headers.
|
||
Include toplev.h and output.h.
|
||
|
||
* dbxout.h: Add prototype for `dbxout_begin_function'.
|
||
|
||
* final.c (final_scan_insn): Wrap variable `max_skip' in macro
|
||
ASM_OUTPUT_MAX_SKIP_ALIGN.
|
||
|
||
* gcse.c: Include system.h and output.h.
|
||
(dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
|
||
Make extern instead of static.
|
||
(compute_can_copy): Only declare variables `reg' and `insn' when
|
||
AVOID_CCMODE_COPIES is not defined.
|
||
(record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
|
||
(hash_scan_clobber): Likewise for `x' and `insn'.
|
||
(hash_scan_call): Likewise.
|
||
(record_last_set_info): Likewise for `setter'.
|
||
(mark_call): Likewise for `pat'.
|
||
(pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
|
||
|
||
* libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
|
||
length parameter so that it multiplies the number of elements by
|
||
the sizeof(element).
|
||
|
||
* output.h: Add prototype for `weak_finish'.
|
||
|
||
* recog.h: Likewise for `validate_replace_src'.
|
||
|
||
* rtl.h: Likewise for `optimize_save_area_alloca',
|
||
`fix_sched_param', `purge_addressof', `gcse_main',
|
||
`regmove_optimize', `dbr_schedule', `branch_prob' and
|
||
`end_branch_prob'.
|
||
|
||
* toplev.h: Likewise for `set_float_handler' and
|
||
`output_quoted_string'.
|
||
|
||
* varasm.c: Include dbxout.h.
|
||
|
||
Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
|
||
GP_REG_P. Use gr_regs instead of GR_REGS.
|
||
|
||
Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* Revamped multiply support for MIPS chips.
|
||
* mips.c (extend_operator): New function.
|
||
(highpart_shift_operator): Likewise.
|
||
* mips.h: Declare new functions.
|
||
(PREDICATE_CODES): Add support for new predicates.
|
||
* mips.md (mulsi3 expander): Simplify.
|
||
(mulsi_mult3): Add another constraint alternative. Support
|
||
3 operand multiply instructions as found on various mips
|
||
parts.
|
||
(mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
|
||
(mul_acc_si): New pattern and associated splitters.
|
||
(mulsidi3 expander): Rework to use mulsidi3_64bit and
|
||
mulsidi3_internal.
|
||
(umulsidi3): New expander.
|
||
(mulsidi3_internal): Accept either sign or zero extended
|
||
operands and generate code as appropriate appropriately.
|
||
(mulsidi3_64bit): Similarly.
|
||
(smulsi3_highpart): Turn into an expander and generate code
|
||
to match new patterns.
|
||
(umulsi3_highpart): Likewise.
|
||
(xmulsi3_highpart_internal): New pattern.
|
||
(maddi patterns): Delete. Replace with:
|
||
(mul_acc_di, mul-acc_64bit_di): New patterns.
|
||
|
||
Mon Jun 8 14:16:15 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
|
||
flag_new_exceptions runtime flag.
|
||
(struct old_exception_table): New struct which represents what
|
||
the exception table looks like without the new model.
|
||
(NEW_EH_RUNTIME): New value used as a tag in the exception table to
|
||
flag that this is a new style table.
|
||
* except.h: Remove compile time flag NEW_EH_MODEL.
|
||
(expand_builtin_eh_stub_old): New prototype.
|
||
* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
|
||
* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
|
||
* c-decl.c (init_decl_processing): Add new builtin function
|
||
__builtin_eh_stub_old.
|
||
* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
|
||
* flags.h (flag_new_exceptions): New runtime flag.
|
||
* toplev.c (flag_new_exceptions): Initialize default to 0,
|
||
-fnew-exceptions sets to 1.
|
||
* except.c (output_exception_table_entry): Output New style exception
|
||
identifier into table, and replace compile time flag NEW_EH_MODEL
|
||
with runtime flag flag_new_exceptions.
|
||
(output_exception_table): Replace compile time flag NEW_EH_MODEL.
|
||
(expand_builtin_eh_stub_old): Duplicates original functionality of
|
||
expand_builtin_eh_stub.
|
||
(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
|
||
* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
|
||
(old_find_exception_handler): New func, same as find_exception_handler
|
||
except it works on the old style exception table.
|
||
(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
|
||
of identifier in the exception table, and call appropriate routines.
|
||
|
||
Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* function.c: Define current_function_cannot_inline.
|
||
(push_function_context_to): Save it.
|
||
(pop_function_context_from): Restore it.
|
||
* function.h (struct function): Provide it a home.
|
||
* output.h: Declare it.
|
||
* integrate.c (function_cannot_inline_p): Check it.
|
||
|
||
Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (force_operand): Detect PIC address loads before
|
||
splitting arithmetic.
|
||
|
||
Mon Jun 8 09:22:38 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* tree.c (tree_class_check): Add braces to eliminate ambiguous
|
||
else warning.
|
||
(tree_check): Likewise.
|
||
|
||
Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* reg-stack.c (subst_stack_regs_pat): Make sure the top of
|
||
stack is the destination for conditional move insn.
|
||
|
||
Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.h (TREE_VEC_END): Cast unused value to void.
|
||
|
||
* i386.c (print_operand): Use %lx for long operand.
|
||
|
||
Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (summarize_insn): Ignore rtl slot format 'i'.
|
||
|
||
Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
|
||
|
||
* sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
|
||
conversion functions.
|
||
|
||
Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (flag_exceptions): Default to 0.
|
||
(compile_file): Remove flag_exceptions == 2 hack.
|
||
(main): Call lang_init_options.
|
||
* tree.h: Declare it.
|
||
* c-lang.c: Implement it.
|
||
* objc/objc-act.c: Likewise.
|
||
|
||
Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.md (restore_stack_block): Generate MEM and specify mode.
|
||
* rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
|
||
* rs6000.c (rs6000_output_load_toc_table): Use fputs.
|
||
(output_function_profiler): Use asm_fprintf and fputs.
|
||
|
||
Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gencheck.c: Remove redundant stdio.h include. Add a definition
|
||
of xmalloc for when we are forced to link with alloca.o.
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
|
||
instead of `1U'.
|
||
|
||
* fold-const.c (constant_boolean_node): Make definition static to
|
||
match the prototype.
|
||
|
||
Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
|
||
(lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
|
||
(do_spec, input_filename, input_filename_length): Make public.
|
||
(main): Adjust outfiles allocation by lang_specific_extra_outfiles.
|
||
Call lang_specific_pre_link befor elinking.
|
||
|
||
Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
|
||
the insn which has the most insns dependent on it.
|
||
|
||
Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
|
||
|
||
* alias.c (find_base_value): Avoid reading past end of reg_base_value.
|
||
|
||
Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (insxh-1): New insxl pattern for combine.
|
||
|
||
Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* i386/i386.c (output_fp_conditional_move): New function
|
||
to output floating point conditional move.
|
||
(output_int_conditional_move): New function to output integer
|
||
conditional move.
|
||
|
||
* i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
|
||
output_int_conditional_move () to output int conditional move.
|
||
(movsfcc+5, movdfcc+5, movxfcc+5): Call
|
||
output_fp_conditional_move () to output floating point
|
||
conditional move.
|
||
|
||
* i386/i386.c (put_condition_code): In INT mode, check
|
||
cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
|
||
|
||
Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_type): Output arrays of bits as if
|
||
they were bitstrings for Chill
|
||
|
||
Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* tree.c (get_inner_array_type): New function.
|
||
* tree.h (get_inner_array_type): Prototype.
|
||
* expr.h (STACK_SAVEAREA_MODE): New macro.
|
||
* expr.c (expand_builtin_setjmp): Initialize sa_mode using
|
||
STACK_SAVEAREA_MODE.
|
||
(expand_builtin_longjmp): Likewise.
|
||
* explow.c (emit_stack_save): Likewise.
|
||
(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
|
||
|
||
* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
|
||
(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
|
||
* rs6000/aix43.h: New file.
|
||
* rs6000/t-aix43: New file.
|
||
* rs6000/x-aix41: New file.
|
||
* rs6000/x-aix43: New file.
|
||
* configure.in (rs6000-ibm-aix*): Use them.
|
||
* rs6000/powerpc.h: Delete.
|
||
* rs6000/sysv4.h: Move necessary powerpc.h definitions to here,
|
||
* rs6000/netware.h: and here,
|
||
* rs6000/win-nt.h: and here.
|
||
|
||
* rs6000/rs6000.c (processor_target_table, 620): Do not affect
|
||
MASK_POWERPC64.
|
||
(rs6000_override_options): Ignore flag_pic for AIX.
|
||
(rs6000_immed_double_const): Delete.
|
||
(u_short_cint_operand): Don't assume 32-bit CONST_INT.
|
||
(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
|
||
(num_insns_constant): mask64_operand() is 2 insns.
|
||
(logical_operand): Don't assume 32-bit CONST_INT.
|
||
(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
|
||
(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
|
||
(mask_constant): HOST_WIDE_INT parameter.
|
||
(non_and_cint_operand): Delete.
|
||
(mask64_operand): New function.
|
||
(and64_operand): New function.
|
||
(function_arg_advance): DImode arguments do not need special
|
||
alignment when 64-bit.
|
||
(function_arg): Likewise.
|
||
(setup_incoming_varargs): Reverse reg_size assignment.
|
||
(print_operand): HOST_WIDE_INT second parameter.
|
||
(print_operand, 'B'): New case.
|
||
(print_operand, 'M'): Fix typo in lossage string.
|
||
(print_operandm 'S'): New case.
|
||
(rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
|
||
to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
|
||
(rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
|
||
TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
|
||
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
|
||
(rs6000_allocate_stack_space): Use {cal|la}.
|
||
(output_epilog): Use {cal|la}
|
||
(output_function_profiler): Add call glue to mcount call.
|
||
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
|
||
|
||
* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
|
||
(STACK_BOUNDARY): Depend on TARGET_32BIT.
|
||
(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
|
||
(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
|
||
(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
|
||
64-bit mask operand.
|
||
(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
|
||
(STACK_SAVEAREA_MODE): New macro.
|
||
(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
|
||
(LEGITIMIZE_RELOAD_ADDRESS): New macro.
|
||
(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
|
||
(ASM_FILE_START): Emit 64-bit ABI directive.
|
||
(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
|
||
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
|
||
(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
|
||
Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
|
||
|
||
* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
|
||
Restore define_splits.
|
||
(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
|
||
(floatsidf2_internal, floatunssidf2_internal2): Likewise.
|
||
Do not specify base register operand mode.
|
||
(floatsidf2_loadaddr): Do not specify base register operand mode.
|
||
(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
|
||
register; do not specify mode. Remove !TARGET_POWERPC64 final
|
||
constraint.
|
||
(floatsidf2_load): Do not specify base register operand mode. Remove
|
||
!TARGET_POWERPC64 final constraint.
|
||
(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
|
||
base register operand mode.
|
||
(adddi3): Split large constants early.
|
||
(absdi3): Shift by 63, not 31.
|
||
(*mulsidi3_ppc64): New pattern.
|
||
(rotldi3): Add masking combiner patterns.
|
||
(anddi3): Add rldic{r,l} masking. Remove split of large constants
|
||
because PPC insns zero-extend.
|
||
(iordi3, xordi3): Split large constants early.
|
||
(movsi matcher): Remove S and T constraints.
|
||
(movsf const_double): Create SImode constant from TARGET_DOUBLE.
|
||
(movdf_hardfloat32): Add default abort() case.
|
||
(movdf easy_fp_const): Create DImode constant from TARGET_DOUBLE.
|
||
(movdi): Remove 64-bit constant generator. Try to convert
|
||
CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
|
||
(movdi_32): Add default abort() case.
|
||
(movdi_64): Add numerous ways to split 64-bit constants.
|
||
Make catch-all define_split more optimal and never FAIL.
|
||
(movti_ppc64): Add default abort() case.
|
||
(allocate_stack): Remove operand modes. Use Pmode.
|
||
(restore_stack_block): Remove operand modes. Generate Pmode
|
||
temporary.
|
||
(save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
|
||
temporary. Save area is double Pmode.
|
||
(call_indirect_aix64, call_value_indirect_aix64): New patterns.
|
||
(call, call_value): Do not specify address operand mode. Choose
|
||
appropriate AIX ABI.
|
||
(*call_local64, *ret_call_local64): New patterns.
|
||
(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
|
||
(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
|
||
(compare): Materialize DImode truthvalues.
|
||
|
||
Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
|
||
|
||
* expr.c (safe_from_p): Avoid combinatorial explosion
|
||
over duplicate SAVE_EXPRs by ensuring we never recurse
|
||
on one that has already been visited.
|
||
|
||
Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
|
||
|
||
* loop.c (check_dbra_loop): Initialize final_value before
|
||
normalizing the loop.
|
||
|
||
Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): New arguments out and
|
||
reloadnum. Changed all callers.
|
||
|
||
1998-06-03 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* system.h: Add _() and N_() macros in preparation for gettext.
|
||
|
||
Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* c-common.c (check_format_info): Put back check for C9x `hh'
|
||
length modifier. Warn about %n format writing into const. Remove
|
||
obsolete comment.
|
||
(format_char_info): Fix comments.
|
||
|
||
* configure.in: Set float_format to m68k for all m68k targets that
|
||
do not override LONG_DOUBLE_TYPE_SIZE.
|
||
* config/float-m68k.h: New file.
|
||
|
||
Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (jump_optimize): Remove debug messages accidentally left in
|
||
with the previous change.
|
||
|
||
Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (store_expr): Revert stray patch associated with
|
||
1998-05-23 commit.
|
||
|
||
Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* jump.c (rtx_unsafe_p): New function.
|
||
(jump_optimize): Use it on if/then/else transformations and
|
||
conditional move transformations.
|
||
|
||
Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
|
||
or VAR-- == CONST construct a proper mask if VAR is a bitfield.
|
||
Cope with CONST being out of range for the bitfield.
|
||
|
||
Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
|
||
|
||
* expr.c (emit_move_insn_1): When moving complex values in several
|
||
steps, emit a CLOBBER to show the destination dies.
|
||
|
||
Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (site.exp): Use the object testsuite directory as
|
||
the temporary directory.
|
||
|
||
* expr.c (expand_expr, case ADDR_EXPR): Handle taking the
|
||
address of an ADDRESSOF rtx.
|
||
|
||
1998-06-02 Mike Stump <mrs@wrs.com>
|
||
|
||
* expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
|
||
* i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
|
||
* i960.md (ret, flush_register_windows): Define.
|
||
(nonlocal_goto): Likewise. Nested function nonlocal gotos don't
|
||
work yet.
|
||
* tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
|
||
|
||
Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
|
||
around an OSF/1 library bug wrt sign-extension of inputs.
|
||
|
||
Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
|
||
|
||
Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
|
||
|
||
* varasm.c (assemble_variable): Augment alignment warning.
|
||
|
||
Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
|
||
in the presence of IEEE negative 0's.
|
||
|
||
Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
|
||
|
||
* reload.c (find_reloads): Record the existing mode if
|
||
operand_mode == VOIDmode before replacing a register with
|
||
a constant.
|
||
* i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
|
||
i386_compare_op1 to const0_rtx for the benefit of the
|
||
conditional move patterns.
|
||
(movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
|
||
based on suggestions from Jim Wilson.
|
||
|
||
Sun May 31 00:44:02 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
|
||
|
||
* Makefile.in (fixinc.sh): Update rules again.
|
||
|
||
Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* extend.texi: Bring back reference to trampoline paper.
|
||
|
||
Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* Makefile.in (USER_H): Add stdbool.h.
|
||
* ginclude/stdbool.h: New file.
|
||
|
||
Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
|
||
of a non-note insn.
|
||
|
||
* gcse.c (pre_delete): Fix code to determine the mode of
|
||
the reaching pseudo register.
|
||
|
||
Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* Makefile.in (GEN): Add gencheck.
|
||
(STAGESTUFF): Add tree-check.h and gencheck.
|
||
|
||
Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
|
||
|
||
* Makefile.in (cstamp-h.in): Remove before trying to recreate.
|
||
(fixinc.sh): Set some additional environment variables before
|
||
calling mkfixinc.sh.
|
||
|
||
Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload.c (find_reloads): Do not force a reloads of match_operators.
|
||
|
||
Thu May 28 10:22:22 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.h (remove_handler): Add new prototype.
|
||
* except.c (remove_handler): New function to remove handlers
|
||
from an exception region.
|
||
* flow.c (find_basic_blocks_1): Remove handlers from regions when
|
||
handler label is deleted; remove exception regions with no handlers.
|
||
|
||
Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* except.h (rtx): Define rtx type correctly if needed.
|
||
* function.h (rtx): Likewise.
|
||
(tree): Define tree type correctly if needed.
|
||
|
||
* c-pragma.c (toplevel): Include rtl.h.
|
||
|
||
* stor-layout.c (toplevel): Move include of rtl.h before
|
||
except.h.
|
||
|
||
* Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
|
||
(tree.o): Add except.h dependency.
|
||
|
||
Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* reload1.c: Revert accidental checkin.
|
||
|
||
* configure.lang: Fix thinko when adding a definition for
|
||
target_alias to the Makefile.
|
||
|
||
Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
|
||
|
||
* config/sparc/lb1spc.asm (.rem and .urem): Replace
|
||
routines.
|
||
|
||
Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (arm_gen_constant): Rework to eliminate uninitialized
|
||
variable warnings. Don't generate scratch registers if only
|
||
counting insns.
|
||
(find_barrier): Eliminate unused variable SRC.
|
||
|
||
1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* toplev.h (rtx_def): Provide global declaration to avoid
|
||
`limited scope' warnings.
|
||
|
||
Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* Makefile.in (gencheck.o): Use HOST_CC.
|
||
* i386/t-mingw32: New file.
|
||
* configure.in (i386-*-mingw32*): Use.
|
||
|
||
Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.c (bad_signed_byte_operand): New predicate function.
|
||
* arm.h (PREDICATE_CODES): Add it to the list.
|
||
* arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
|
||
can't handle.
|
||
(define_split): Two new splits for above insns.
|
||
|
||
* arm.c: Include toplev.h.
|
||
(arm_override_options): Add parentheses around use of tune_flags.
|
||
(arm_split_constant): Remove unused variable.
|
||
(arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
|
||
(output_func_prologue, arm_expand_prologue): Likewise.
|
||
(arm_canonicalize_comparison): Make I unsigned; rework constants
|
||
accordingly. Add missing parentheses around << operation.
|
||
(arm_rtx_costs): Correctly parenthesize MULT costs. Add a DEFAULT
|
||
clause.
|
||
({load,store}_multiple_sequence): Initialize BASE_REG.
|
||
(select_dominance_cc_mode): Add DEFAULT clauses.
|
||
(broken_move): Return zero if the destination is not a register.
|
||
(arm_reorg): Move unused REGNO declaration into the dead code.
|
||
* arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
|
||
|
||
Mon May 25 22:49:56 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon May 25 11:56:24 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* cpperror.c (v_cpp_message): Remove static prototype.
|
||
* cpplib.c (v_cpp_message): Move prototype to cpplib.h.
|
||
* cpplib.h (v_cpp_message): Add protoptype.
|
||
(stdarg.h,varargs.h): Needed for v_cpp_message prototype.
|
||
|
||
Sun May 24 20:36:15 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun May 24 02:08:57 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* m68k.h: Declare more functions used in macros.
|
||
(REG_CLASS_CONTENTS): Completely embrace initializer.
|
||
* m68k.md (adddi3, subdi3): Add abort call to avoid warning
|
||
about returning no value.
|
||
* cse.c (find_best_addr): Declare p and found_better only if
|
||
needed.
|
||
* dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
|
||
* dwarfout.c (string_length_attribute): #if 0 away.
|
||
* function.c (expand_function_end): Define varible blktramp only
|
||
if needed.
|
||
* jump.c (find_insert_position): Define only if !HAVE_cc0.
|
||
* loop.c (combine_givs_p): Define variable tem only if needed.
|
||
* real.c: Comment out unused functions eabs, eround,
|
||
e{24,53,64,113}toasc and eiinfin.
|
||
|
||
Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||
|
||
* Makefile.in (boostrap2-lean, bootstrap3-lean,
|
||
bootstrap4-lean): New targets.
|
||
|
||
Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* warn_summary, test_summary: Moved into the contrib directory.
|
||
|
||
1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
|
||
of the Makefile.
|
||
(FLOAT_H_TEST): Likewise.
|
||
(ENQUIRE): Likewise.
|
||
(float.h-nat): Likewise.
|
||
(float.h-cross): Likewise.
|
||
(enquire): Likewise.
|
||
(enquire.o): Likewise.
|
||
(stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
|
||
(stmp-headers): Move actions to stmp-int-hdrs, retaining only a
|
||
no-op.
|
||
(FLOAT_H): Remove old float.h-nat version; move current definition
|
||
to CROSS_FLOAT_H location.
|
||
(all.cross): Remove comments about enquire stuff.
|
||
|
||
* Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
|
||
(rest.encap): Likewise.
|
||
(libgcc2.ready): Depend upon $(STMP_FIXPROTO)
|
||
|
||
* toplev.h (tree_node): Provide global declaration to avoid
|
||
`limited scope' warnings.
|
||
|
||
Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* test_summary: Display section breaks for each entry
|
||
in a multilibbed target's output.
|
||
|
||
1998-05-23 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
|
||
offset's mode is not ptr_mode, convert it.
|
||
|
||
1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* fold-const.c (ssize_binop): New fn.
|
||
* tree.h: Declare it.
|
||
|
||
Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* genextract.c (print_path): Handle zero-length path as a special
|
||
case.
|
||
|
||
Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
|
||
|
||
Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
|
||
(shorten_branches, final_scan_insn): Test value of
|
||
JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
|
||
is defined.
|
||
* tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
|
||
* arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
|
||
* arm/tcoff.h: Likewise.
|
||
* i386/386bsd.h: Likewise.
|
||
* i386/freebsd-elf.h: Likewise.
|
||
* i386/freebsd.h: Likewise.
|
||
* i386/netbsd.h: Likewise.
|
||
* i386/ptx4-i.h: Likewise.
|
||
* i386/sysv4.h: Likewise.
|
||
* pa/pa.h: Likewise.
|
||
* rs6000/linux.h: Likewise.
|
||
* rs6000/rs6000.h: Likewise.
|
||
* sh/sh.h: Likewise.
|
||
* sparc/sp64-elf.h: Likewise.
|
||
* v850/v850.h: Likewise.
|
||
* rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
|
||
* i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
|
||
|
||
Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c (gen_add3_insn): New function.
|
||
(fixup_match_2): Use it instead of calling gen_addsi3.
|
||
|
||
Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (gencheck): Depend on HOST_LIBDEPS.
|
||
|
||
* alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
|
||
address.
|
||
|
||
Thu May 21 20:18:13 1998 Martin von Löwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* Makefile.in (TREE_H): Add tree-check.h.
|
||
(tree-check.h, gencheck): New targets.
|
||
* gencheck.c: New file.
|
||
* tree.c (tree_check, tree_class_check): New functions.
|
||
* tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
|
||
(TYPE_CHECK, DECL_CHECK): Define.
|
||
Modify all access macros to use generated checking macros.
|
||
|
||
Wed May 20 23:44:28 1998 John Wehle (john@feith.com)
|
||
|
||
* acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
|
||
* configure.in: Check for it.
|
||
* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
|
||
* final.c (uid_align, uid_shuid, label_align): Make static.
|
||
(label_align): Change type to struct label_alignment pointer.
|
||
(LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
|
||
(LABEL_TO_MAX_SKIP): Define.
|
||
(LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
|
||
LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
|
||
(shorten_branches): Record the maximum bytes to skip when
|
||
aligning a label.
|
||
(final_scan_insn): Use the maximum bytes to skip when aligning a label
|
||
if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
|
||
* i386.h (LOOP_ALIGN_MAX_SKIP,
|
||
LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
|
||
* i386.c (override_options): i386_align_jumps and i386_align_loops
|
||
default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
|
||
* invoke.texi: Document new i386 align-loops and align-jumps behavior.
|
||
|
||
1998-05-21 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* cplus-dem.c (do_type): Handle volatile qualification.
|
||
|
||
Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* function.c (init_function_start): Don't call emit_line_note if
|
||
lineno is 0. (Can happen when compiling Java .class files.)
|
||
|
||
Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
|
||
end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
|
||
|
||
Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* combine.c (nonzero_bits): For paradoxical subregs, take
|
||
LOAD_EXTENDED_OP into account.
|
||
|
||
Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* configure.in (extra_c_objs): Add prefix.o.
|
||
(extra_cxx_objs): Extra objects for C++ with cpplib.
|
||
* configure: Regenerate.
|
||
|
||
* c-tree.h (get_directive_line): Different prototype for cpplib.
|
||
(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
|
||
|
||
* c-lex.h (get_directive_line): Not needed here for cpplib.
|
||
|
||
* c-lex.c (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
|
||
(GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
|
||
|
||
* c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
|
||
(yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
|
||
|
||
Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gengenrtl.c (type_from_format, accessor_from_format): Change
|
||
type of parameter `c' from `char' to `int'.
|
||
|
||
Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* warn_summary, test_summary: New scripts from
|
||
Kaveh Ghazi and Alexandre Oliva respectively.
|
||
|
||
* gcse.c (current_function_calls_longjmp): Declare.
|
||
|
||
1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c (base_type_die): Use int_size_in_bytes.
|
||
|
||
Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
|
||
Jeff Law (law@cygnus.com)
|
||
|
||
* Global CSE and constant/copy propagation.
|
||
* Makefile.in (OBJS): Add gcse.o.
|
||
(STAGESTUFF): Add *.gcse.
|
||
(gcse.o): Add dependencies.
|
||
(mostlyclean): Remove *.gcse and */*.gcse.
|
||
* gcse.c: New file.
|
||
* loop.c (loop_optimize): Move call to init_alias_analysis.
|
||
* recog.c (validate_replace_src): New function.
|
||
* toplev.c (gcse_dump): New global variable.
|
||
(flag_gcse, gcse_time): Likewise.
|
||
(compile_file): Initialize gcse_time and clean out the gcse dump
|
||
file if necessary.
|
||
(rest_of_compilation): Call gcse_main as requested. Dump RTL
|
||
after gcse if requested.
|
||
(main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
|
||
dumps for -da.
|
||
* gcc.texi: Add gcse related internal documentation.
|
||
* invoke.texi: Note new command line options for gcse.
|
||
* tm.texi: Document AVOID_CCMODE_COPIES.
|
||
* mips.h (AVOID_CCMODE_COPIES): Define.
|
||
|
||
Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
|
||
exists.
|
||
(stmp-fixproto): Simlarly for running fixproto.
|
||
* cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
|
||
|
||
Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/mips/mips.c (double_memory_operand): Accept any MEM during
|
||
reload when TARGET_64BIT.
|
||
|
||
Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
Finish incomplete change started by Kenner.
|
||
* configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
|
||
(powerpcle-*-cygwin32): Delete xm_defines.
|
||
* final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
|
||
HAVE_STAB_H instead of NO_STAB_H.
|
||
* config/xm-linux.h (NO_STAB_H): Delete.
|
||
(HAVE_STAB_H): Undefine.
|
||
* config/i386/xm-go32.h (NO_STAB_H): Delete.
|
||
|
||
1998-05-19 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
|
||
LANG_TYPE trees with DECL_SOURCE_LINE of 0.
|
||
|
||
Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
|
||
|
||
* arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
|
||
|
||
Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload_reg_free_for_value_p): New function.
|
||
(allocate_reload_reg, choose_reload_regs): Use it.
|
||
|
||
Tue May 19 11:51:00 1998 Andrew MacLeod (amacleod@cygnus.com)
|
||
|
||
* except.c (expand_start_catch): Correct logic for when to
|
||
generate a new handler label, and when to use the old one.
|
||
|
||
Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (print-rtl.o): Depend on bitmap.h.
|
||
(dbxout.o): Depend on toplev.h.
|
||
($(SCHED_PREFIX)sched.o): Likewise.
|
||
($(out_object_file)): Likewise for system.h and toplev.h.
|
||
(cppmain.o): Depend on gansidecl.h.
|
||
(cpplib.o): Likewise.
|
||
(cpperror.o): Likewise.
|
||
(cppexp.o): Likewise.
|
||
(cpphash.o): Likewise.
|
||
(cppalloc.o): Likewise.
|
||
(fix-header.o): Depend on cpplib.h and cpphash.h.
|
||
(scan-decls.o): Depend on gansidecl.h.
|
||
|
||
* basic-block.h (free_regset_vector): Add prototype.
|
||
|
||
* cccp.c (check_precompiled): Mark parameter `fname' with
|
||
ATTRIBUTE_UNUSED.
|
||
(do_assert): Likewise for `op' and `keyword'.
|
||
(do_unassert): Likewise.
|
||
(do_line): Likewise for `keyword'.
|
||
(do_error): Likewise for `op' and `keyword'.
|
||
(do_warning): Likewise.
|
||
(do_ident): Likewise for `keyword'.
|
||
(do_pragma): Likewise for `limit', `op' and `keyword'.
|
||
(do_sccs): Likewise.
|
||
(do_if): Likewise for `keyword'.
|
||
(do_elif): Likewise.
|
||
(do_else): Likewise.
|
||
(do_endif): Likewise.
|
||
|
||
* collect2.c (getenv): Remove redundant prototype.
|
||
(collect_exit, collect_execute, dump_file): Likewise.
|
||
(dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
|
||
(dump_prefix_list): Hide prototype and definition.
|
||
|
||
* sparc.c: Include toplev.h.
|
||
(intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
|
||
(symbolic_memory_operand): Likewise.
|
||
(sp64_medium_pic_operand): Likewise.
|
||
(data_segment_operand): Likewise.
|
||
(text_segment_operand): Likewise.
|
||
(splittable_symbolic_memory_operand): Likewise.
|
||
(splittable_immediate_memory_operand): Likewise.
|
||
(eq_or_neq): Likewise.
|
||
(normal_comp_operator): Likewise.
|
||
(noov_compare_op): Likewise.
|
||
(v9_regcmp_op): Likewise.
|
||
(v8plus_regcmp_op): Likewise.
|
||
(extend_op): Likewise.
|
||
(cc_arithop): Likewise.
|
||
(cc_arithopn): Likewise.
|
||
(small_int): Likewise.
|
||
(uns_small_int): Likewise.
|
||
(clobbered_register): Likewise.
|
||
(legitimize_pic_address): Likewise.
|
||
(delay_operand): Likewise.
|
||
(sparc_builtin_saveregs): Remove unused variable `stdarg'.
|
||
|
||
* sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
|
||
sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
|
||
|
||
* sparc.md (cmpdi_v8plus): Add abort for default case in switch.
|
||
|
||
* cppalloc.c: Include gansidecl.h.
|
||
|
||
* cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
|
||
(cpp_file_line_for_message): Mark parameter `pfile' with
|
||
ATTRIBUTE_UNUSED.
|
||
(v_cpp_message): New function.
|
||
(cpp_message): Use it. Also convert to variable arguments.
|
||
(cpp_fatal): Likewise.
|
||
(cpp_pfatal_with_name): Constify parameter `name'.
|
||
|
||
* cppexp.c: Move gansidecl.h before cpplib.h.
|
||
* cpphash.c: Likewise.
|
||
* cpphash.h (hashf, delete_macro): Add prototypes.
|
||
|
||
* cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
|
||
cpplib.h. Don't include errno.h.
|
||
(update_path): Add arguments to prototype.
|
||
(cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
|
||
cpp_print_containing_files): Remove redundant prototypes.
|
||
(cpp_hash_cleanup, add_import, append_include_chain,
|
||
make_assertion, path_include, initialize_builtins,
|
||
initialize_char_syntax, finclude, validate_else, comp_def_part,
|
||
lookup_import, redundant_include_p, is_system_include,
|
||
read_name_map, read_filename_string, open_include_file,
|
||
check_macro_name, compare_defs, compare_token_lists,
|
||
eval_if_expression, change_newlines): Add prototype arguments.
|
||
(hashf): Remove redundant prototype.
|
||
(read_token_list, free_token_list, safe_read, xcalloc, savestring,
|
||
conditional_skip, skip_if_group): Add prototype arguments.
|
||
(fdopen): Remove redundant prototype.
|
||
(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_once, do_assert, do_unassert, do_warning): Add prototype arguments.
|
||
(struct directive): Add prototype arguments to function pointer
|
||
member `func'.
|
||
(handle_directive): Add missing arguments to call to `do_line'.
|
||
(do_include): Mark parameters `unused1' and `unused2' with
|
||
ATTRIBUTE_UNUSED.
|
||
(do_line): Likewise for `keyword' and new parameters `unused1' and
|
||
`unused2'.
|
||
(do_error): Likewise for `keyword'.
|
||
(do_warning): Likewise. Also add missing argument `pfile' in call
|
||
to cpp_pedwarn.
|
||
(do_once): Mark parameter `keyword', `unused1' and `unused2' with
|
||
ATTRIBUTE_UNUSED.
|
||
(do_ident): Likewise for `keyword', `buf' and `limit'.
|
||
(do_pragma): Likewise. Also add missing arguments in call to do_once.
|
||
(do_sccs): Mark parameter `keyword', `buf' and `limit' with
|
||
ATTRIBUTE_UNUSED.
|
||
(do_if): Likewise for `keyword'.
|
||
(do_elif): Likewise.
|
||
(eval_if_expression): Likewise for `buf' and `length'.
|
||
(do_xifdef): Likewise for `unused1' and `unused2'.
|
||
(do_else): Likewise for `keyword', `buf' and `limit'.
|
||
(do_endif): Likewise.
|
||
(parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
|
||
(cpp_handle_options): Remove superfluous NULL argument in call to
|
||
cpp_fatal.
|
||
(cpp_handle_options): Likewise.
|
||
(do_assert): Mark parameter `keyword', `buf' and `limit' with
|
||
ATTRIBUTE_UNUSED.
|
||
(do_unassert): Likewise.
|
||
(cpp_print_file_and_line): Add missing argument `pfile' in call to
|
||
cpp_file_line_for_message.
|
||
(v_cpp_error): New function.
|
||
(cpp_error): Use it. Also accept variable arguments.
|
||
(v_cpp_warning): New function.
|
||
(cpp_warning): Use it. Also accept variable arguments.
|
||
(cpp_pedwarn): Accept variable arguments.
|
||
(v_cpp_error_with_line): New function.
|
||
(cpp_error_with_line): Use it. Accept variable arguments.
|
||
(v_cpp_warning_with_line): New function.
|
||
(cpp_warning_with_line): Use it. Accept variable arguments. Hide
|
||
definition.
|
||
(cpp_pedwarn_with_line): Accept variable arguments.
|
||
(cpp_pedwarn_with_file_and_line): Likewise.
|
||
(cpp_error_from_errno): Constify parameter `name'. Add missing
|
||
argument `pfile' in call to cpp_file_line_for_message.
|
||
(cpp_perror_with_name): Constify parameter `name'.
|
||
|
||
* cpplib.h: Define PARAMS() in terms of PROTO().
|
||
(fatal): Remove redundant prototype.
|
||
(cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
|
||
cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
|
||
cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
|
||
cpp_fatal, cpp_message, cpp_pfatal_with_name,
|
||
cpp_file_line_for_message, cpp_print_containing_files): Add
|
||
arguments to prototypes.
|
||
(scan_decls, cpp_finish): Add prototypes.
|
||
|
||
* cppmain.c: Include gansidecl.h.
|
||
(main): Remove unused variable `i'.
|
||
|
||
* dbxout.c: Include toplev.h.
|
||
|
||
* demangle.h (do_tlink, collect_execute, collect_exit,
|
||
collect_wait, dump_file, file_exists): Add prototype.
|
||
|
||
* dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
|
||
prototype and definition.
|
||
(gen_unspecified_parameters_die): Don't assign results of call to
|
||
function new_die() to unused variable `parm_die'.
|
||
(dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
|
||
(dwarf2out_define): Likewise for `lineno' and `buffer'.
|
||
|
||
* dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
|
||
prototype and definition.
|
||
(output_die): Add prototype arguments to function pointer arg.
|
||
(output_unspecified_parameters_die): Mark parameter `arg' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* except.c (output_exception_table_entry): Remove unused variable
|
||
`eh_entry'.
|
||
|
||
* except.h (expand_fixup_region_start, expand_fixup_region_end):
|
||
Add prototypes.
|
||
|
||
* expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
|
||
|
||
* expr.h (do_jump_by_parts_equality_rtx): Add prototype.
|
||
|
||
* fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
|
||
before cpplib.h, include cpphash.h, remove redundant prototype of
|
||
cpp_fatal, don't define `const', add a prototype for `fatal'.
|
||
(cpp_file_line_for_message): Add missing arguments `pfile'.
|
||
(v_cpp_message): New function.
|
||
(cpp_message): Use it.
|
||
(v_fatal): New function.
|
||
(fatal, cpp_fatal): Use it.
|
||
(cpp_pfatal_with_name): Constify parameter `name'.
|
||
|
||
* flow.c (free_regset_vector): Remove redundant prototype.
|
||
|
||
* function.c (round_down): Wrap prototype and definition with
|
||
macro ARGS_GROW_DOWNWARD.
|
||
(record_insns): Wrap prototype and definition with
|
||
defined (HAVE_prologue) || defined (HAVE_epilogue).
|
||
|
||
* gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
|
||
|
||
* gen-protos.c: Include gansidecl.h.
|
||
(hashf): Don't make it static, constify parameter `name'.
|
||
|
||
* genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
|
||
specifier %s in calls to function `fatal'.
|
||
|
||
* haifa-sched.c: Include toplev.h.
|
||
(find_rgns): Remove unused variable `j'.
|
||
|
||
* integrate.c (note_modified_parmregs): Mark parameter `x' with
|
||
ATTRIBUTE_UNUSED.
|
||
(mark_stores): Likewise.
|
||
|
||
* jump.c (mark_modified_reg): Likewise.
|
||
|
||
* output.h (insn_current_reference_address): Add prototype.
|
||
(eh_frame_section): Likewise.
|
||
|
||
* print-rtl.c: Include bitmap.h.
|
||
|
||
* reload1.c (reload): Wrap variables `note' and `next' in macro
|
||
PRESERVE_DEATH_INFO_REGNO_P.
|
||
(forget_old_reloads_1): Mark parameter `ignored' with
|
||
ATTRIBUTE_UNUSED.
|
||
(choose_reload_regs): Remove unused variable `in'.
|
||
(reload_cse_invalidate_mem): Mark parameter `ignore' with
|
||
ATTRIBUTE_UNUSED.
|
||
(reload_cse_check_clobber): Likewise.
|
||
|
||
* rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
|
||
(mark_elimination): Fix typo in prototype.
|
||
|
||
* scan-decls.c: Include gansidecl.h.
|
||
|
||
* tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
|
||
|
||
Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* function.c (identify_blocks): Fix thinko when setting the
|
||
block number for NOTE_INSN_BLOCK_END.
|
||
|
||
Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/v850/lib1funcs.asm: Add .text pseudo op to start of
|
||
___udivsi3.
|
||
|
||
* config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
|
||
underscores for the prefixes to the names of the maths functions.
|
||
|
||
* dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
|
||
comment explaining why.
|
||
|
||
Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tree.h (TYPE_SIZE_UNIT): New.
|
||
(struct tree_type): Add size_unit member.
|
||
* stor-layout.c (layout_type): Initialize it.
|
||
* expr.c (get_inner_reference) [ARRAY_REF]: Use it.
|
||
* tree.c (size_in_bytes, int_size_in_bytes): Likewise.
|
||
|
||
Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* stor-layout.c (layout_record): Fix off-by-one error when checking
|
||
length of the TYPE_BINFO vector.
|
||
|
||
Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
|
||
function parameter passed in memory.
|
||
|
||
Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
|
||
Prototypes for externally used functions in respective C files.
|
||
* dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
|
||
final.c: Include above files.
|
||
* Makefile.in (toplev.o): Add dependency for above four headers.
|
||
(final.o): Likewise.
|
||
(dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
|
||
respective header files.
|
||
|
||
Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (TARGET_TOOLPREFIX): No longer define.
|
||
(AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
|
||
the build tree if they exist.
|
||
(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
|
||
appropriately.
|
||
(objdir): Let configure substitute value.
|
||
(FLOAT_H): Let configure select a pre-built version from the
|
||
config subdir.
|
||
* build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
|
||
* configure.in: Substitute for objdir.
|
||
|
||
* Makefile.in (build_canonical, host_canonical): Let configure
|
||
substitute values for these variables.
|
||
* configure.in: Substitute for build_canonical, host_canonical
|
||
and target_subdir in generated Makefile.
|
||
|
||
* output.h (find_basic_blocks): Declare.
|
||
(free_basic_block_vars, set_block_num, life_analysis): Likewise.
|
||
|
||
* Makefile.in (BISON): Use bison from the build tree if it exists.
|
||
(FLEX): Similarly.
|
||
|
||
Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
|
||
(DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
|
||
(process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
|
||
command line arguments to see if an executable is not being
|
||
created, and if so - do not append the suffix.
|
||
|
||
* tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
|
||
driver macro.
|
||
|
||
Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.h (ALIGN_DFmode): Delete.
|
||
(CONSTANT_ALIGNMENT): Define.
|
||
* varasm.c (force_const_mem): Use it.
|
||
|
||
Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
|
||
using it with swap_condition, not before.
|
||
|
||
Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* alias.c (mode_alias_check): Delete.
|
||
(true_dependence, anti_dependence, output_dependence): Revert April 21
|
||
change.
|
||
|
||
Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
|
||
|
||
* toplev.c (output_lang_identify): Enable prototype and definition.
|
||
|
||
Sun May 17 01:12:27 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/osf.h (HAVE_STAMP_H): Define.
|
||
* alpha.c: Use it.
|
||
* alpha/netbsd.h, alpha/netbsd-elf.h: New files.
|
||
* configure.in (alpha*-*-netbsd*): New.
|
||
Based on patches from Paul H. Anderson <pha@pdq.com>.
|
||
|
||
* configure.in (alpha*-*-linux-*): Kill xm_defines.
|
||
(alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
|
||
* alpha/xm-linux.h: Remove file.
|
||
|
||
Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
|
||
|
||
* dbxout.c (dbxout_parms): If mode of type of parameter living
|
||
in memory doesn't match mode of DECL_RTL, make big endian correction.
|
||
|
||
Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
|
||
|
||
Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
|
||
* stor-layout.c (layout_record): Set it.
|
||
|
||
Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* toplev.c (rest_of_compilation): Don't defer nested functions.
|
||
|
||
Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
|
||
to an 8-byte boundary if info_ptr->fpmem_p.
|
||
|
||
Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
|
||
|
||
* loop.c (basic_induction_var): Added test preventing
|
||
CCmode parameter passed to convert_modes().
|
||
|
||
Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
|
||
input_filename and lineno around expand_expr call. Set them to values
|
||
in WFL before expand_expr call.
|
||
|
||
Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
||
|
||
* stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
|
||
|
||
Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* fold-const.c (constant_boolean_node): New function.
|
||
(fold): Use it.
|
||
|
||
Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (gen_shl_and): Don't sign extend constant for kind two.
|
||
Abort if trying to split kind 3 or 4 outside of combine.
|
||
|
||
Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
|
||
|
||
Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* objc/Make-lang.in (OBJC_O): Add missing exeext.
|
||
(libobjc.a, runtime-info.h): Likewise.
|
||
|
||
Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.h (DATA_ALIGNMENT): Define.
|
||
|
||
Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (delete_output_reload): Ignore single USE that
|
||
was emitted for the pseudo use of this INSN.
|
||
If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
|
||
remains, we can always delete OUTPUT_RELOAD_INSN.
|
||
|
||
Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (find_reloads): Don't penalize SCRATCH output reload.
|
||
|
||
Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
|
||
|
||
Thu May 14 16:30:47 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* eh-common.h: New file for basic EH data structures.
|
||
* except.h: Various prototypes and structures for NEW_EH_MODEL.
|
||
* function.h (struct function): Add a struct eh_stack for the catch
|
||
clause stack.
|
||
* except.c (gen_exception_label): New function to generate an
|
||
exception label.
|
||
(push_eh_entry): Use gen_exception_label() and init 'label_used' field.
|
||
(push_entry): New function to push an existing entry onto a stack.
|
||
(receive_exception_label): New function to emit the code required
|
||
at the start of all catch blocks.
|
||
(struct func_eh_entry): New structure for maintaining handlers
|
||
associated with EH regions.
|
||
(new_eh_region_entry): New function to register an EH region.
|
||
(add_new_handler): New function to register a handler with a region.
|
||
(get_new_handler): Creates anew handler entry for registering.
|
||
(find_func_region): New function to convert a NOTE eh region number
|
||
to an Eh region index.
|
||
(get_first_handler): New function to get the first handler in a region.
|
||
(clear_function_eh_region): New function to release memory.
|
||
(duplicate_handlers): New function to duplicate a list of handlers.
|
||
(expand_eh_region_end): Create a new region entry node as well.
|
||
(expand_leftover_cleanups): Call receive_exception_label() and
|
||
register the cleanup as a handler to the current region.
|
||
(expand_start_catch): New function to start a catch clause.
|
||
(expand_end_catch): New function to end a catch clause.
|
||
(expand_start_all_catch): Restructure to not do the equivalent of
|
||
what expand_start_catch() does now. Push the exception region being
|
||
handled onto the catch stack.
|
||
(output_exception_table_entry): Issue an entry for each handler
|
||
associated with a region.
|
||
(set_exception_lang_code): New function for setting the language code.
|
||
(set_exception_version_code): New function to set the version number.
|
||
(output_exception_table): Output version and language codes.
|
||
(find_exception_handler_labels): Find handler labels using new scheme.
|
||
(is_exception_handler_label): New function, returns 1 if label is
|
||
present as a handler in some exception region.
|
||
(check_exception_handler_labels): Use the new scheme.
|
||
(init_eh_for_function): Initialize the catch stack.
|
||
(save_eh_status): Save the catch stack.
|
||
(restore_eh_status): Restore the catch stack.
|
||
(scan_region): Don't remove unreferenced handler label. Flow does it.
|
||
(get_reg_for_handler): New function to get the eh_context pointer
|
||
passed by __throw.
|
||
(expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
|
||
* final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
|
||
entry when processing END region rather that START region.
|
||
* flow.c (find_basic_blocks_1): Find all potential handler regions
|
||
now that we don't automatically know what the labels might be.
|
||
Let scan_region() remove unreferenced EH BEGIN/END labels.
|
||
* integrate.c (get_label_from_map): Put inlined labels onto the
|
||
permanent obstack since we don't know which ones might be exception
|
||
labels.
|
||
(save_for_inline_copying): Make new copies of all the handlers.
|
||
(expand_inline_function): Make new copies of all the handlers.
|
||
* libgcc2.c: Remove local struct decls, and include eh-common.h.
|
||
(find_exception_handler): With NEW_EH_MODEL the first matching
|
||
region we find is the right one. Add eh_info as a new parameter.
|
||
(__throw): Pass eh_info to find_exception_handler. Set handler
|
||
and pass use different regs under NEW_EH_MODEL.
|
||
|
||
Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i960.h (hard_regno_mode_ok): Changed to function from array of
|
||
unsigned.
|
||
(HARD_REGNO_MODE_OK): Call function instead of testing bit.
|
||
* i960.c (hard_regno_mode_ok): Changed to function from array of
|
||
unsigned.
|
||
|
||
Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (remove_replacements): New function.
|
||
* reload.h (remove_replacements): Declare.
|
||
* reload1.c (choose_reload_regs): Disable some reloads that
|
||
belong to inherited reloads.
|
||
|
||
Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (scan_loop): Don't call move_movables for optimize_size.
|
||
|
||
* reload1.c (merge_assigned_reloads): When merging, reset
|
||
reload_spill_index for the eliminated reload.
|
||
|
||
Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (schedule_insns): Fix merge goof.
|
||
|
||
1998-05-13 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* varasm.c (make_decl_rtl): Revert April 1 change.
|
||
* alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
|
||
m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
|
||
Get function name from the SYMBOL_REF in the DECL_RTL, not from
|
||
DECL_ASSEMBLER_NAME.
|
||
* i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
|
||
DECL_ASSEMBLER_NAME.
|
||
|
||
Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.c (notice_update_cc, output_float_compare): Disable
|
||
TARGET_CMOVE support.
|
||
|
||
Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* rtlanal.c (find_reg_note): Ignore notes that are not on on
|
||
insns of class 'i'.
|
||
(find_regno_note): Likewise.
|
||
|
||
* Makefile.in (stor-layout.o): Depend on except.h.
|
||
(varasm.o, function.o): Likewise.
|
||
(expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
|
||
|
||
* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
|
||
(rtl.o, emit-rtl.o): Add dependency on bitmap.h.
|
||
($(HOST_PREFIX_1)rtl.o): Likewise.
|
||
($(HOST_PREFIX_1)bitmap.o): New host object.
|
||
* emit-rtl.c (toplevel): Include bitmap.h.
|
||
(gen_rtx): Handle 't' and 'b' nodes.
|
||
* print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
|
||
Print block number for block begin/end notes. Print 't' type
|
||
nodes as a pointer. Know that the 3rd argument of live range
|
||
start/stop notes is really a range_info rtx. If type is 'b', print
|
||
out argument as a bitmap.
|
||
* rtl.c: Include bitmap.c.
|
||
(copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
|
||
(note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
|
||
* rtl.def (RANGE_LIVE): New node to hold live information while we
|
||
recalculate the basic blocks.
|
||
(RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
|
||
(RANGE_VAR): New node, to hold information saved in symbol node for New
|
||
communicating live range information to the debug output functions.
|
||
* rtl.h (rtunion_def): Add rttree and rtbit fields.
|
||
(XBITMAP, XTREE): New accessor macros.
|
||
(NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
|
||
(NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
|
||
(NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
|
||
(NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
|
||
(RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
|
||
(RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
|
||
(RANGE_INFO_*): Likewise.
|
||
* sched.c (sched_analyze): Keep live range start/stop notes.
|
||
(unlink_other_notes): Likewise.
|
||
* haifa-sched.c (sched_analyze): Keep live range start/stop notes.
|
||
(unlink_other_notes): Likewise.
|
||
* tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
|
||
(BLOCK_LIVE_RANGE_FLAG): Likewise.
|
||
(DECL_LIVE_RANGE_RTL): Likewise.
|
||
(struct tree_block): Add live_range_flag, live_range_var_flag,
|
||
live_range_start and live_range_end.
|
||
(struct tree_decl): Add live_range_rtl field.
|
||
* gengenrtl.c (type_from_format): Handle 'b' and 't'.
|
||
(accessor_from_format): Likewise.
|
||
|
||
* haifa-sched.c (schedule_block): Make verbose output line up.
|
||
Also add a blank line in printing the individual ready lists.
|
||
|
||
Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
|
||
(c-lex.o): Depend on output.h.
|
||
(c-common.o): Likewise.
|
||
(stmt.o): Likewise.
|
||
(calls.o): Likewise.
|
||
(integrate.o): Depend on toplev.h.
|
||
(regclass.o): Depend on output.h.
|
||
(final.o): Depend on reload.h.
|
||
|
||
* c-common.c: Include output.h.
|
||
(check_format_info): Remove unused variable `integral_format'.
|
||
|
||
* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
|
||
`indent' with ATTRIBUTE_UNUSED.
|
||
(print_lang_type): Likewise.
|
||
(maybe_build_cleanup): Likewise for parameter `decl'.
|
||
(copy_lang_decl): Likewise for parameter `node'.
|
||
|
||
* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
|
||
(lang_print_xnode): Mark parameters `file', `node' and `indent'
|
||
with ATTRIBUTE_UNUSED.
|
||
(lookup_interface): Likewise for parameter `arg'.
|
||
(is_class_name): Likewise.
|
||
(maybe_objc_check_decl): Likewise for parameter `decl'.
|
||
(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
|
||
`reflexive'.
|
||
(maybe_objc_method_name): Likewise for parameter `decl'.
|
||
(build_objc_string): Likewise for parameters `len' and `str'.
|
||
|
||
* c-lex.c: Include output.h.
|
||
|
||
* c-lex.h (position_after_white_space): Correct typo in prototype.
|
||
|
||
* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
|
||
c_expand_end_cond, init_iterators): Add prototypes.
|
||
|
||
* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
|
||
with ATTRIBUTE_UNUSED.
|
||
|
||
* calls.c: Include output.h.
|
||
|
||
* cccp.c (pipe_closed): Mark parameter `signo' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* combine.c: Move inclusion of expr.h to after insn-config.h.
|
||
|
||
* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
|
||
as empty, rather define as ((void)0).
|
||
|
||
* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
|
||
Add parentheses around assignment used as truth value.
|
||
|
||
* cplus-dem.c (squangle_mop_up): Change return type to void.
|
||
(internal_cplus_demangle): Remove unused parameter `options'.
|
||
All callers changed.
|
||
(cplus_demangle_opname): Remove function wide variable `int i' and
|
||
replace with `size_t i' at each location where it is used.
|
||
(cplus_demangle_opname): Change type of `i' from int to size_t.
|
||
|
||
* cppexp.c (right_shift): Mark parameter `pfile' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* cpphash.c (cpp_lookup): Likewise.
|
||
(cpp_hash_cleanup): Likewise.
|
||
|
||
* cpplib.c (parse_name): Add a prototype and make it static.
|
||
(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
|
||
(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
|
||
(macro_cleanup): Likewise for parameter `pfile'.
|
||
(file_cleanup): Likewise.
|
||
|
||
* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
|
||
cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
|
||
|
||
* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
|
||
__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
|
||
|
||
* cse.c (cse_check_loop_start): Mark parameter `set' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* dbxout.c (flag_minimal_debug, have_used_extensions,
|
||
source_label_number): Move inside macro wrapper check against
|
||
defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
|
||
|
||
* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
|
||
|
||
* except.h (doing_eh): Provide prototype.
|
||
|
||
* expr.c: Move inclusion of expr.h to after insn-config.h.
|
||
|
||
* final.c: Include reload.h.
|
||
(shorten_branches): Cast the first argument of bzero to char *.
|
||
|
||
* fix-header.c (cpp_print_containing_files): Mark parameter
|
||
`pfile' with ATTRIBUTE_UNUSED.
|
||
(cpp_fatal): Likewise.
|
||
|
||
* flow.c (find_basic_blocks_1): Cast the first argument of bzero
|
||
to char *.
|
||
|
||
* genattrtab.c (make_length_attrs): Change the type of variable
|
||
`i' from int to size_t.
|
||
(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
|
||
(one_fn): Likewise.
|
||
|
||
* genextract.c (main): When generating insn-extract.c, mark
|
||
variable `junk' with ATTRIBUTE_UNUSED.
|
||
|
||
* gengenrtl.c (gencode): When generating genrtl.c, cast the first
|
||
argument of bzero to char*.
|
||
|
||
* integrate.c: Include toplev.h.
|
||
|
||
* libgcc2.c: Wrap `struct exception_table' and
|
||
`find_exception_handler' in macro DWARF2_UNWIND_INFO.
|
||
|
||
* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
|
||
|
||
* objc/objc-act.c: Include toplev.h.
|
||
(lang_print_xnode): Mark parameters `file', `node' and `indent'
|
||
with ATTRIBUTE_UNUSED.
|
||
(finish_protocol): Likewise for parameter `protocol'.
|
||
|
||
* output.h (declare_weak): Add prototype.
|
||
(decode_reg_name): Don't wrap with TREE_CODE macro.
|
||
(assemble_alias): Add prototype.
|
||
|
||
* regclass.c: Include output.h.
|
||
|
||
* reload.h (reloads_conflict): Add prototype.
|
||
|
||
* rtl.h (print_rtl_single, mark_elimination, reg_class_subset_p,
|
||
output_func_start_profiler): Add prototypes.
|
||
|
||
* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
|
||
ATTRIBUTE_UNUSED.
|
||
|
||
* scan-decls.c: Include scan.h.
|
||
|
||
* scan.h (recognized_function, recognized_extern): Add prototypes.
|
||
|
||
* stmt.c: Include output.h.
|
||
|
||
* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
|
||
(output_lang_identify): Hide prototype and definition.
|
||
(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
|
||
(pipe_closed): Likewise.
|
||
|
||
* toplev.h (count_error, strip_off_ending, error_for_asm,
|
||
warning_for_asm): Add prototypes.
|
||
|
||
Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* toplev.c (rest_of_compilation): "Charge" final for any time
|
||
doing various cleanup operations after finishing compilation
|
||
of a function.
|
||
|
||
* flow.c (dump_flow_info): Also print number of sets and
|
||
whether or not the pseudo is a user variable.
|
||
|
||
* flow.c (reg_n_max): New global variable.
|
||
* regclass.c (allocate_reg_info): Keep reg_n_max up to date.
|
||
Delete regno_max variable.
|
||
* regs.h (REG_N_CHECK): Define.
|
||
(REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
|
||
(REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
|
||
(REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
|
||
|
||
Wed May 13 12:54:19 1998 Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de>
|
||
|
||
* acconfig.h (ENABLE_CHECKING): Undefine.
|
||
* configure.in (--enable-checking): New option.
|
||
|
||
Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (merge_assigned_reloads): Can merge
|
||
RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
|
||
if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
|
||
|
||
Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
|
||
|
||
Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (gen_reload): Create REG_EQUIV notes.
|
||
|
||
Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload1.c (reload): Fix check for USEs to use code of pattern.
|
||
(choose_reload_regs): Remove dead variable use_insn.
|
||
|
||
Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
|
||
|
||
Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
|
||
already defined.
|
||
(find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
|
||
(insn_{unit,issue_delay}): Likewise.
|
||
(blockage_range): Likewise.
|
||
(actual_hazard{,_this_instance}): Likewise.
|
||
(schedule_unit): Likewise.
|
||
(potential_hazard): Likewise.
|
||
(insn_cost): Likewise.
|
||
(swap_sort): Likewise.
|
||
(queue_insn): Likewise.
|
||
(birthing_insn_p): Likewise.
|
||
(adjust_priority): Likewise.
|
||
(get_block_head_tail): Likewise.
|
||
(init_rgn_data_dependences): Likewise.
|
||
|
||
Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
|
||
|
||
* alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
|
||
|
||
Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
|
||
|
||
Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/mips.md (dslot): Move after definition of "cpu"
|
||
attribute. Handle r3900 case.
|
||
|
||
Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h: Define the STRINGIFY macro here.
|
||
* protoize.c: Not here.
|
||
* gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
|
||
|
||
Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
|
||
|
||
* varasm.c (assemble_variable): Compute the alignment of the data
|
||
earlier so that both initialized and uninitialized variables are
|
||
effected by DATA_ALIGNMENT.
|
||
* tm.texi (DATA_ALIGNMENT): Updated appropriately.
|
||
|
||
Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c: Prototype static functions.
|
||
|
||
Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* regmove.c (fixup_match_2, find_matches, regmove_profitable):
|
||
Add explanatory comments.
|
||
|
||
* sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
|
||
|
||
Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.md (ffsdi2): Disable. Simplify the expression as well.
|
||
|
||
Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* varasm.c (make_decl_rtl): Disable April 1 change.
|
||
|
||
Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
|
||
|
||
Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
|
||
* alpha.c (print_operand): Handle it.
|
||
* alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
|
||
related define_splits. Also add peepholes for SImode reload
|
||
plus sign_extend lossage.
|
||
|
||
Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* genattr.c: Include stdarg.h/varargs.h. Change function
|
||
`fatal' to use variable arguments instead of faking it with
|
||
integer parameters. Provide a prototype which also
|
||
checks the format specifiers using ATTRIBUTE_PRINTF_1.
|
||
|
||
* genattrtab.c: Likewise.
|
||
* gencodes.c: Likewise.
|
||
* genconfig.c: Likewise.
|
||
* genemit.c: Likewise.
|
||
* genextract.c: Likewise.
|
||
* genflags.c: Likewise.
|
||
* genopinit.c: Likewise.
|
||
* genpeep.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
* genoutput.c: Likewise. Similarly for function `error'.
|
||
|
||
Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
|
||
* alocal.m4 (GCC_C_VOLATILE): New autoconf test.
|
||
* configure.in: Use GCC_C_VOLATILE.
|
||
* system.h (volatile): Define as empty if no volatile support is
|
||
available.
|
||
|
||
Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* genemit.c (output_add_clobbers): Removed unused variable 'i' from
|
||
generated function.
|
||
|
||
Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* loop.c (get_condition): Don't combine when either compare is MODE_CC.
|
||
* alpha.c (alpha_emit_conditional_branch): New function. Taken from
|
||
the body of beq; additionally set the mode of the branch to CCmode for
|
||
FP compares and not fast_math.
|
||
(alpha_emit_conditional_move): Always use a compare insn for FP
|
||
when not fast_math, as well as setting CCmode on the cmov.
|
||
* alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
|
||
|
||
* machmode.h (COMPLEX_MODE_P): New macro.
|
||
|
||
Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (print_exp): Fix typo.
|
||
|
||
Fri May 8 21:48:50 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* final.c (final_scan_insn): Call fatal_insn instead of abort if
|
||
we could not split an insn when required to.
|
||
|
||
* m32r.md ({add,sub}di3): Add define_splits and appropriate low
|
||
level insns.
|
||
(peepholes): Disable peepholes that call dead_or_set_p.
|
||
(movsi): Rewrite to handle addresses better after last change.
|
||
Add define_split to split load of addresses in large/medium modes.
|
||
(prologue): Call m32r_expand_prologue.
|
||
(movsi_{push,pop}): Generators for push/pop.
|
||
(movsi): Support PRE_{INC,DEC}, POST_INC.
|
||
(mov{di,df}): Rewrite. Always split the insns.
|
||
(movsf): Add define_split to get register load in correct mode.
|
||
(cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
|
||
(attributes): Rewrite attributes so that type indicates both the
|
||
type and the length of the insn directly.
|
||
(all insns): Change to use new type attributes.
|
||
(debug): New attribute to convey whether -mdebug was used.
|
||
(opt_space): New attribute to convey whether -Os was used.
|
||
(function units): Loads are 3 cycles, not 2. Better classify all
|
||
insns into short/long.
|
||
(load/store/extend insns): Add separate case for load/store
|
||
indirect operations without an offset.
|
||
(divsi3): Division is a long operation, not short.
|
||
|
||
* m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
|
||
modes > 1 word.
|
||
(GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
|
||
(CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
|
||
(EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
|
||
operands with PRE_{INC,DEC}, POST_INC.
|
||
(FUNCTION_PROFILER): Call abort instead of doing nothing.
|
||
(GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
|
||
SImode variables.
|
||
(gen_split_move_double): Declare.
|
||
(EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
|
||
|
||
* m32r.c (gen_split_move_double): Fix typo. Also, don't call
|
||
emit_move_insn, build up SET's directly.
|
||
(toplevel): Include system.h, not stdio.h.
|
||
(move_double_src_operand): Allow any DF or DI mode constant.
|
||
(gen_split_move_double): Split moves of DI or DF values into the
|
||
appropriate moves, loads, or stores. Don't handle use of auto
|
||
inc/dec if using dead index. Do handle overlapping moves, etc.
|
||
(m32r_frame_info): Remove prologue_size field.
|
||
(m32r_compute_frame_size): Don't calculate prologue size.
|
||
(m32r_output_function_prologue): Change to pretty much a NOP.
|
||
(m32r_expand_prologue): Expand prologue as a series of INSNs.
|
||
(m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
|
||
(m32r_print_operand_address): Likewise.
|
||
|
||
Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* reload1.c (emit_reload_insns): When performing expensive
|
||
optimizations, do not output the last reload insn if OLD is
|
||
not the dest of NSN and is in the src and is clobbered by INSN.
|
||
|
||
Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (genrtl.o): Depend on system.h.
|
||
* gengenrtl.c (gencode): When creating genrtl.c, have it
|
||
include system.h.
|
||
|
||
Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/t-linux: Remove extra stuff already included in
|
||
config/t-linux.
|
||
|
||
Fri May 8 09:53:24 1998 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* fixinc.wrap: Renamed from fixinc.math. Put wrapper around
|
||
curses.h if it contains `typedef char bool;', as suggested by
|
||
Manfred Hollstein <manfred@s-direktnet.de>.
|
||
|
||
* configure.in: Rename fixinc.math to fixinc.wrap.
|
||
|
||
Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* gcc.c (read_specs): Handle missing blank line at end of specs file.
|
||
|
||
* i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
|
||
movdfcc_1): Disable.
|
||
|
||
Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (enable_threads): Rename to enable_threads_flag before
|
||
main loop. Set enable_threads to enable_threads_flag inside main
|
||
loop.
|
||
|
||
Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
|
||
multiple times.
|
||
|
||
Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
|
||
|
||
* configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
|
||
(AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
|
||
(AC_CHECK_FUNCS): Remove unused check for vprintf.
|
||
|
||
* Makefile.in: Add support for linking in vfprintf.c and doprint.c.
|
||
(cccp.o): Depend on gansidecl.h.
|
||
(cexp.o): Likewise.
|
||
|
||
* cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
|
||
per the rest of gcc source.
|
||
* cexp.y: Likewise. Include gansidecl.h and remove all code made
|
||
redundant.
|
||
|
||
* cccp.c: Remove checks for HAVE_VPRINTF and the associated code
|
||
used when vfprintf is missing.
|
||
* cexp.y: Likewise.
|
||
* gcc.c: Likewise.
|
||
* genattrtab.c: Likewise.
|
||
* mips-tfile.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
|
||
* vfprintf.c: New file.
|
||
* doprint.c: New file.
|
||
|
||
Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* config/linux.h (ASM_COMMENT_START): Remove from here,
|
||
* config/linux-aout.h (ASM_COMMENT_START): and here,
|
||
* config/i386/linux.h (ASM_COMMENT_START): to here,
|
||
* config/i386/linux-aout.h (ASM_COMMENT_START): and here.
|
||
* config/i386/linux-oldld.h (ASM_COMMENT_START): Define
|
||
here as '#' too.
|
||
|
||
Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
|
||
constant.
|
||
|
||
Wed May 6 22:32:37 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* Makefile.in (dwarfout.o): Add toplev.h dependency.
|
||
* dwarfout.c, i386.c: Include toplev.h.
|
||
* toplev.h (pfatal_with_name): Add prototype.
|
||
|
||
Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* Makefile.in: Fix .SUFFIXES.
|
||
|
||
Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||
|
||
* config/linux.h (ASM_COMMENT_START): Define as "#".
|
||
* config/linux-aout.h (ASM_COMMENT_START): Likewise.
|
||
|
||
Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
|
||
* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
|
||
|
||
* toplev.c: Include toplev.h.
|
||
* Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
|
||
c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
|
||
dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
|
||
hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
|
||
reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
|
||
toplev.h dependency.
|
||
|
||
* mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
|
||
HARD_FRAME_POINTER_REGNUM.
|
||
|
||
* expr.c (target_temp_slot_level): Delete duplicate definition.
|
||
|
||
Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* stmt.c (mark_seen_cases): Make it have external linkage again.
|
||
* expr.h (mark_seen_cases): Add declaration, but only when tree.h
|
||
has been included.
|
||
|
||
* haifa-sched.c (print_value, case SUBREG): Fix typo.
|
||
|
||
* i386.c (output_387_binary_op): Add some braces to avoid warnings.
|
||
* i386.h (REG_CLASS_CONTENTS): Similarly.
|
||
|
||
* toplev.c (-fsched-max): Delete flag.
|
||
(-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
|
||
* haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
|
||
and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
|
||
conditionals.
|
||
|
||
* haifa-sched.c (find_rgns): Correctly handle reducible loops with
|
||
inner loops which are not reducible.
|
||
|
||
* loop.c (regs_match_p): Fix typo in prototype.
|
||
|
||
* regmove.c (try_auto_increment): Wrap declaration inside an
|
||
#ifdef AUTO_INC_DEC.
|
||
|
||
Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* final.c (output_operand_lossage): Call fatal with the operand
|
||
lossage message instead of calling abort.
|
||
|
||
Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-common.c: Convert to using ctype macros defined in system.h.
|
||
* c-lex.c: Likewise.
|
||
* cccp.c: Likewise.
|
||
* collect2.c: Likewise.
|
||
* rs6000.c: Likewise.
|
||
* cpplib.c: Likewise.
|
||
* fix-header.c: Likewise.
|
||
* gcc.c: Likewise.
|
||
* gen-protos.c: Likewise.
|
||
* pexecute.c: Likewise.
|
||
* protoize.c: Likewise.
|
||
* rtl.c: Likewise.
|
||
* scan.c: Likewise.
|
||
* stmt.c: Likewise.
|
||
* tlink.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
|
||
Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
|
||
Replace -gdwarf-2 with -g0.
|
||
|
||
Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
|
||
* mips-tdump.c: Include system.h, remove redundant headers.
|
||
* mips-tfile.c: Likewise. Also, convert all ctype function calls
|
||
to calls of the macro versions defined in system.h.
|
||
|
||
* objc/Make-lang.in (objc-act.o): Depend on system.h.
|
||
* objc/objc-act.c: Include system.h, remove redundant headers.
|
||
|
||
Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* configure.in (AC_CHECK_FUNCS): Add isascii.
|
||
(GCC_NEED_DECLARATIONS): Add atof.
|
||
|
||
* system.h: Provide prototypes for abort, atof, atol and sbrk here.
|
||
* rtl.c, rtl.h, toplev.c, tree.h: Not here.
|
||
|
||
Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h: Wrap time.h and sys/file.h in autoconf checks.
|
||
Provide default definitions for O_RDONLY and O_WRONLY here.
|
||
|
||
* cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
|
||
|
||
1998-05-06 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
|
||
|
||
Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* toplev.h: New file. Protypes for functions in toplev.c.
|
||
* tree.h, rtl.h: Deleted protos for functions in toplev.c.
|
||
* c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
|
||
c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
|
||
convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
|
||
function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
|
||
reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
|
||
varasm.c: Include it.
|
||
|
||
Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
Jim Wilson (wilson@cygnus.com)
|
||
|
||
* haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
|
||
blocks. Check for 1 successor which is the EXIT_BLOCK.
|
||
|
||
* haifa-sched.c (find_rgns): Detect unreachable blocks, including
|
||
unreachable loops with more than one block.
|
||
|
||
Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* fix-header.c (write_rbrac): Add "abort" to functions which need to
|
||
be protected.
|
||
|
||
Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Check in merge from gcc2. See ChangeLog.12 for details.
|
||
|
||
Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
|
||
accept 'a' flag. 'S' does accept 'a' flag.
|
||
(check_format_info): When pedantic, warn for m/C/S/a/A formats,
|
||
and `a' flag.
|
||
|
||
* elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
|
||
|
||
Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.h: Declare functions from m68k.c used in
|
||
macros and machine description.
|
||
(ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
|
||
long values.
|
||
(ASM_OUTPUT_FLOAT): Likewise.
|
||
(ASM_OUTPUT_FLOAT_OPERAND): Likewise.
|
||
|
||
Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.def: Add NAMESPACE_DECL.
|
||
* dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
|
||
* dwarf2out.c (push_decl_scope): Likewise.
|
||
(scope_die_for): Likewise.
|
||
* tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
|
||
how to get next context level.
|
||
|
||
Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.c (output_fix_trunc): Add code to emulate non-popping DImode
|
||
case.
|
||
|
||
Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
|
||
|
||
* reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
|
||
for any insns skipped at the start of a block because they were
|
||
redundant.
|
||
|
||
Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
|
||
|
||
1998-05-04 Ulrich Drepper <drepper@cygnus.com>
|
||
|
||
* c-common.c (format_char_info): Add new field hhlen.
|
||
(print_char_table, scan_char_table, time_char_table): Initialize
|
||
hhlen field appropriately.
|
||
(char_format_info): Recognize hh modifier and lookup correct char
|
||
table entry.
|
||
|
||
Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
|
||
reference if this is a store.
|
||
|
||
Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
|
||
|
||
Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
Make UnixWare 7 bootstrap support work with final shipping product.
|
||
* configure.in (i[34567]86-*-sysv5): Append, not overwrite, xm_file.
|
||
Pick up xm-siglist and xm-alloca.
|
||
(xm_defines): Add USG so dbxout will build.
|
||
* configure: Regenerate.
|
||
|
||
Sun May 3 13:51:34 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
Support for official SPARC V9 ABI:
|
||
* sparc.c (sparc_override_options): Force stack bias off for !arch64.
|
||
Care for flag_pcc_struct_return default.
|
||
(output_move_quad): Rewrite to move by halves on v9 and in the
|
||
proper direction.
|
||
(move_quad_direction): New function.
|
||
(output_fp_move_quad): Use it to determine the direction of copy.
|
||
(function_arg_slotno): Return -1 for FP reg overflow as well.
|
||
(function_arg_record_value*): New functions.
|
||
(function_arg): Use them. Streamline unprototyped parameter passing.
|
||
(function_arg_pass_by_reference): Pass TCmode by reference.
|
||
(function_value): New function.
|
||
* sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
|
||
long long in 64-bit mode.
|
||
(RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
|
||
(DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
|
||
(BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
|
||
(BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
|
||
(BASE_INCOMING_ARG_REG): Likewise.
|
||
(FUNCTION_VALUE): Call function_value.
|
||
(FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
|
||
* sparc.md (movdi_sp32_v9): Disable for arch64.
|
||
(movsf, movdf, movtf): Sort all alternatives using fp regs first.
|
||
(call_value_address_sp64): Remove register class constraints.
|
||
(call_value_symbolic_sp64): Likewise.
|
||
(nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
|
||
v9 case to 32-bit constants.
|
||
(goto_handler_and_restore_v9): Provide a version for arch64.
|
||
* sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
|
||
* sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
|
||
(CPP_PREDEFINES): New.
|
||
* sparc/sp64-elf.h: Likewise.
|
||
(PREFERRED_DEBUGGING_TYPE): Dwarf2.
|
||
(ASM_OUTPUT_DWARF2_ADDR_CONST): New.
|
||
* sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
|
||
|
||
Sat May 2 17:47:17 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads): Emit USEs to mark where a pseudo
|
||
is reloaded with the MEM of its stack slot.
|
||
* reload1.c (cannot_omit_stores): Delete.
|
||
(reload): Don't initialize it.
|
||
Don't apply avoid_return_reg logic to USEs.
|
||
When done, remove USEs that have a REG_EQUAL note on them.
|
||
(emit_reload_insns): Handle case where we have inherited a MEM.
|
||
(choose_reload_regs): Likewise.
|
||
(delete_output_reload): Don't use cannot_omit_stores.
|
||
|
||
Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (cpp.info, gcc.info): Put -o option before input file.
|
||
|
||
Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* haifa-sched.c (print_{exp,value}): Various changes to make the
|
||
debug output easier to read. Also, use only one buffer, and make
|
||
sure the buffer we are passed in doesn't overflow.
|
||
(safe_concat): Concatenate to a buffer without overflow.
|
||
|
||
Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
|
||
with the prototype.
|
||
|
||
Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sched.c (new_insn_dead_notes): Check if the register was
|
||
used in the original instruction.
|
||
* haifa-sched.c (new_insn_dead_notes): Likewise.
|
||
|
||
Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (scope_die_for): If could not find proper scope,
|
||
check for and handle tagged type with incorrect TYPE_CONTEXT.
|
||
|
||
Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
|
||
|
||
* calls.c (expand_call): Fix recognition of C++ operator new.
|
||
|
||
* alias.c (mode_alias_check): Disable type based alias detection.
|
||
|
||
Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
|
||
ASM_OUTPUT_WEAK_ALIAS): Define.
|
||
* config/mips/elf64.h: Same.
|
||
* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
|
||
ASM_WEAKEN_LABEL): Removed.
|
||
|
||
Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* calls.c (expand_call): Bump the length limit on the specially
|
||
recognized function names to 17.
|
||
|
||
Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
|
||
when undefining macros at the end.
|
||
|
||
* expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
|
||
val or len has TREE_SIDE_EFFECTS set.
|
||
|
||
* sparc.md (mulsidi3): Call const v8plus and v8plus routines.
|
||
(mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
|
||
(smuldi3_highpart): Call const v8plus routine.
|
||
(smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
|
||
(const_smulsi3_highpart_v8plus): New pattern.
|
||
(smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
|
||
(umulsidi3): Call const v8plus routine.
|
||
(umulsi3_highpart): Handle const before v8plus. Call const v8plus
|
||
routine.
|
||
(umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
|
||
(umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
|
||
|
||
Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* m32r.c (*_oper{and|ator}): Change enum arguments and return
|
||
values to int, so they can be prototyped even in files that don't
|
||
include rtl.h.
|
||
({small,large}_insn_p): Likewise.
|
||
(m32r_select_cc_mode): Likewise.
|
||
(gen_compare): Likewise.
|
||
(function_arg_partial_nregs): Likewise.
|
||
(m32r_setup_incoming_varargs): Likewise.
|
||
(init_reg_tables): Add prototype.
|
||
(m32r_frame_info): Add prolog_size field.
|
||
(m32r_compute_frame_size): Calculate the size of the prologue.
|
||
(m32r_first_insn_address): Return prologue size.
|
||
(m32r_output_function_prologue): Calculate frame size before
|
||
printing out information. Print out the prologue size.
|
||
|
||
* m32r.h: Prototype all functions in m32r.c.
|
||
(FIRST_INSN_ADDRESS): Declare, returning prologue size.
|
||
|
||
* m32r.md (bcc functions): Cast enum's to int.
|
||
|
||
* m32r.c (conditional_move_operand): Silence a debug message.
|
||
({small,long}_insn): New predicates.
|
||
|
||
* m32r.h (TARGET_M32R): New macro.
|
||
(PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
|
||
(HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
|
||
was selected.
|
||
(ISSUE_RATE): Define as 2.
|
||
|
||
* m32r.md (insn_size): New attribute.
|
||
({,rev_}branch_insn): Add .s qualifier to branches believed to be
|
||
short.
|
||
(m32r): New attribute.
|
||
|
||
* configure.in (enable_haifa): Switch m32r to Haifa by default.
|
||
* configure: Regenerate.
|
||
|
||
(Changes from Nick Clifton <nickc@cygnus.com>)
|
||
* m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
|
||
the equivalent of a negated 'I' constraint.
|
||
(PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
|
||
optimization to work.
|
||
|
||
* m32r.md (cmp_ne_small_const_insn): Use 'S' constraint rather
|
||
than 'I' since the value is negated.
|
||
(peephole): Add peephole optimization to cope with optimization of
|
||
divide and subtracts of the same operands.
|
||
|
||
* m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
|
||
* m32r.h: Likewise.
|
||
* m32r.md: Likewise.
|
||
|
||
* m32r.h (PREDICATE_CODES): Add declaration of machine specific
|
||
predicates.
|
||
|
||
Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
|
||
|
||
Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
|
||
frame_pointer_rtx not FRAME_POINTER_REGNUM.
|
||
|
||
Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reg-stack.c: Revert last patch (Apr 20).
|
||
(convert_regs): Set insn to PREV_INSN (next) after do while loop.
|
||
|
||
* m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
|
||
|
||
* loop.c (check_dbra_loop): New locals jump, first_compare, and
|
||
compare_and_branch. Call get_condition to set first_compare.
|
||
Set compare_and_branch to number of compare/branch instructions.
|
||
Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
|
||
Replace '2' with compare_and_branch.
|
||
|
||
Mon Apr 27 15:53:30 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* cplus-dem.c (demangle_qualified): Replace missing else.
|
||
|
||
Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
|
||
|
||
Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (sh_expand_prologue, sh_expand_epilogue):
|
||
If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
|
||
* sh.h (STACK_BOUNDARY): Likewise.
|
||
|
||
Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
|
||
|
||
Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* system.h (abort): If abort is not defined, and neither is
|
||
USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
|
||
reporting the line and filename of the error.
|
||
|
||
* .gdbinit: Add breakpoints on exit and fancy_abort.
|
||
|
||
* final.c (split_double): Avoid a compiler warning if
|
||
BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
|
||
|
||
* rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
|
||
for calling jump_optimize.
|
||
|
||
* toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
|
||
macros, rather than 0/1's.
|
||
|
||
Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.h (CONST_COSTS): Zero is always free.
|
||
(RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
|
||
|
||
Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
|
||
length in the name of a virtual table.
|
||
|
||
Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
|
||
|
||
Sat Apr 25 22:11:38 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c (fold_convert): Fix typo.
|
||
|
||
Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
|
||
|
||
* alias.c (alias_invariant): New variable.
|
||
(record_base_value): New argument INVARIANT.
|
||
(memrefs_conflict_p): If a register has an entry in the alias_invariant
|
||
array, try substituting that value for the register.
|
||
|
||
* rtl.h: Declare record_base_value.
|
||
|
||
* loop.c, unroll.c: Update callers of record_base_value.
|
||
|
||
* alias.c (find_base_value, find_base_term): SIGN_EXTEND and
|
||
ZERO_EXTEND do not affect base values.
|
||
|
||
Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* dbxout.c (dbxout_type): Fix typo.
|
||
(dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
|
||
|
||
* configure.in: Use CC_FOR_BUILD, not BUILD_CC.
|
||
|
||
Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
|
||
|
||
* expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
|
||
if the argument is the address of a structure or array.
|
||
|
||
* configure.in: Enable Haifa scheduler by default for SPARC.
|
||
|
||
Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* cse.c (cse_set_around_loop): Don't do optimization when
|
||
new pseudos are created.
|
||
|
||
Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
|
||
appropriately.
|
||
(dbxout_type_method_1, dbxout_type): Likewise.
|
||
(print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
|
||
(dbxout_type): Fix check for when to print a type range in
|
||
octal vs decimal.
|
||
|
||
Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* (gen_shl_and, in case 1): Fix comparison with mask.
|
||
|
||
Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
|
||
pointer as second register in REG+REG pair.
|
||
|
||
Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-common.c (check_format_info): Don't check for the 'x' format
|
||
character twice, instead check for 'x' and 'X'
|
||
|
||
Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (libgcc2.ready): Add explicit dependency from
|
||
$(STMP_FIXPROTO) to ensure all necessary include files have
|
||
been created and to guarantee proper parallel builds.
|
||
|
||
Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
|
||
register for stdarg functions.
|
||
* sh.h (current_function_varargs): Declare.
|
||
(FUNCTION_ARG): Ignore NAMED for stdarg functions.
|
||
|
||
1998-04-23 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
|
||
inhibit_libc is defined.
|
||
|
||
* c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
|
||
|
||
Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* profile.c (tablejump_entry_p): New function.
|
||
(branch_prob): Add code to recognize MIPS tablejump entry branch.
|
||
Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
|
||
|
||
Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/arm.c (find_barrier): Return as soon as a barrier is
|
||
found, rather than at end of the loop, after the insn has been
|
||
changed.
|
||
|
||
Thu Apr 23 20:21:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
|
||
* sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
|
||
|
||
Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* loop.c (note_addr_stored): Correct function to take 2 arguments,
|
||
instead of 1.
|
||
|
||
* rtl.def (MATCH_INSN2): Add new matching pattern.
|
||
* genrecog.c (add_to_sequence): Support MATCH_INSN2.
|
||
|
||
Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
|
||
|
||
* emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
|
||
if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
|
||
|
||
* final.c (split_double): Sign extend both halves of a split CONST_INT.
|
||
|
||
Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
|
||
|
||
Wed Apr 22 10:53:49 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
|
||
(cplus_demangle_opname): Call mop_up_squangle.
|
||
(cplus_demangle): Initialize squangle info, then call
|
||
internal_cplus_demangle. (Most code moved there as well)
|
||
(internal_cplus_demangle): New function, performs most of what use
|
||
to be done in cplus_demangle, but is only called with this file.
|
||
(squangle_mop_up): New function to clean up B and K code data.
|
||
(mop_up): Set pointers to NULL after freeing.
|
||
(demangle_signature, demangle_template, demangle_class): Add
|
||
switch elements to handle K and B codes.
|
||
(demangle_prefix, gnu_special, demangle_qualified): Add
|
||
code to handle K and B codes.
|
||
(do_type, demangle_fund_type): Handle B and K codes.
|
||
(remember_Ktype): New function to store K info.
|
||
(register_Btype, remember_Btype): New functions for B codes.
|
||
(forget_B_and_K_types): New function to destroy B and K info.
|
||
|
||
1998-04-21 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* stmt.c (check_seenlabel): When search for line number note for
|
||
warning, handle case where there is no such note.
|
||
|
||
Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
|
||
|
||
* genemit.c (gen_exp): Allow machine description to set mode of
|
||
MATCH_OP_DUP.
|
||
|
||
Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
|
||
|
||
* alias.c (mode_alias_check): New function.
|
||
(true_dependence, anti_dependence, output_dependence): Call
|
||
mode_alias_check.
|
||
|
||
Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.h (STACK_BOUNDARY): Allow specific targets to override.
|
||
(MIPS_STACK_ALIGN): Similarly.
|
||
|
||
* c-common.c (type_for_mode): Handle TI types.
|
||
* c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
|
||
(init_decl_processing): Handle TI types.
|
||
* c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
|
||
|
||
* mips.c (block_move_loop): Test Pmode == DImode instead of
|
||
TARGET_MIPS64.
|
||
(expand_block_move, save_restore_insns): Likewise.
|
||
(function_prologue, mips_expand_prologue): Likewise.
|
||
(mips_expand_epilogue): Likewise.
|
||
* mips.h (POINTER_SIZE): Allow specific targets to override.
|
||
(Pmode): Allow specific targets to override.
|
||
(FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64.
|
||
(POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
|
||
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
|
||
(TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
|
||
(CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
|
||
(ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
|
||
* mips.md (indirect, tablejump & casesi support): Test for
|
||
Pmode == DImode instead of TARGET_MIPS64.
|
||
(call patterns): Likewise.
|
||
|
||
Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
|
||
for gen_rtx(MEM, ...).
|
||
|
||
Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
|
||
to not be so gross, and to properly function with PIC.
|
||
|
||
Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* frame.c (heapsort): Rename to frame_heapsort.
|
||
|
||
* gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
|
||
|
||
Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
|
||
|
||
* flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
|
||
|
||
Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.md (movsf_push, movdf_push, movxf_push): Allow memory
|
||
operands during and after reload.
|
||
|
||
Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (shorten_branches, init_insn_lengths): Move code
|
||
to free label_align, uid_shuid, insn_lengths, insn_addresses
|
||
and uid_align from the former function into the latter one;
|
||
Add code to clear these variables.
|
||
* sh.h (label_align): Remove declaration.
|
||
|
||
Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* gcc.c (lang_specific_driver): Declare prototype properly so
|
||
fatal can be passed to it without error.
|
||
|
||
* configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
|
||
* configure: Regenerate.
|
||
* config.in: Add #undef's for strchr and strrchr.
|
||
|
||
* protoize.c (toplevel): If we have rindex, but not strrchr, map
|
||
rindex to strrchr.
|
||
(file_could_be_converted): Use strrchr, not rindex since rindex is
|
||
not defined on Linux systems when _POSIX_SOURCE is defined.
|
||
(file_normally_convertible): Likewise.
|
||
(process_aux_info_file): Likewise.
|
||
(main): Likewise.
|
||
|
||
* rs6000.md (mov{sf,df} define_splits): When splitting a move of
|
||
a constant to an integer register, don't split the insns that do
|
||
the simple AND and OR operations, rather just split each word, and
|
||
let the normal movsi define split handle it further.
|
||
|
||
Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
|
||
(split_branches): Call init_insn_lengths.
|
||
|
||
Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* i386.c: Include expr.h to get the change_address prototype
|
||
declared.
|
||
|
||
Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* reg-stack.c (subst_asm_stack_regs): Change to return the last
|
||
new insn generated by this function.
|
||
(subst_stack_regs): Likewise.
|
||
(convert_regs): Record the last newly generated insn and use
|
||
it for change_stack () instead of INSN.
|
||
|
||
Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* fix-header.c (enum special_file): Undefine enumerators if they
|
||
are already defined by include files.
|
||
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
|
||
macro with '__' to not pollute user namespace.
|
||
|
||
Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (queue_to_ready): Fix typo in prototype.
|
||
|
||
Sat Apr 18 23:52:35 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
|
||
|
||
* i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
|
||
Add missing -Dpentium* options.
|
||
(CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
|
||
instead of CPP_CPU_DEFAULT.
|
||
(EXTRA_SPECS): Add entry for cpp_cpu_default.
|
||
|
||
Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
|
||
negative in a stackless frame.
|
||
* rs6000.c (rs6000_stack_info): Don't include fixed-size link area
|
||
in stackless frame size. Support 64-bit stackless frame size.
|
||
Combine fpmem offset calculations and don't add total_size to
|
||
offset if not pushing a stack frame.
|
||
|
||
Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* regmove.c (fixup_match_1): In three places, in flag_exceptions
|
||
check, change p to q.
|
||
|
||
Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* gcc.c (lang_specific_driver): Add new parm type to prototype.
|
||
(added_libraries): New file scope static variable.
|
||
(process_command): Initialize added_libraries. Pass it to
|
||
lang_specific_driver.
|
||
(main): Use added_libraries in check for no input files.
|
||
|
||
Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
|
||
|
||
* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
|
||
code generation. Use 64 bit instructions in 32 bit mode when
|
||
possible. Use V9 return instruction. UltraSPARC optimizations.
|
||
|
||
* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
|
||
|
||
Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
|
||
just pass zero. That will work regardless of the size of HARD_REG_SET.
|
||
|
||
* libgcc2.c (__floatdisf): Fix a couple typos.
|
||
|
||
Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in (mostlyclean): Delete *.mach and *.bp files.
|
||
|
||
Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
|
||
|
||
* emit-rtl.c (gen_highpart): Initialize `word' properly for pseudo.
|
||
|
||
Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
|
||
|
||
* emit-rtl.c (operand_subword_force): If a register can not be
|
||
accessed by words, copy it to a pseudo register.
|
||
|
||
Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
|
||
|
||
Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* tree.h (mark_seen_cases): Delete declaration.
|
||
|
||
Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* stmt.c (mark_seen_cases): Make static and add prototype.
|
||
|
||
Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* frame.c: Include stdlib.h and unistd.h to possibly get various
|
||
function prototypes. The fixproto script guarantees these header
|
||
files exist on the target system.
|
||
* libgcc2.c: Likewise.
|
||
|
||
* gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
|
||
__gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
|
||
function parameters.
|
||
* libgcc2.c (__udiv_w_sdiv): Likewise.
|
||
|
||
Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* varasm.c (asm_output_bss): Add prototype.
|
||
(asm_output_aligned_bss): Likewise.
|
||
|
||
* unroll.c (verify_addresses): Add prototype.
|
||
|
||
* toplev.c: Add many prototypes. Too many to mention here.
|
||
|
||
* stmt.c (check_seenlabel): Add prototype.
|
||
|
||
* rtlanal.c (reg_set_p_1): Add prototype.
|
||
(reg_set_last_1): Likewise.
|
||
|
||
* reorg.c (find_dead_or_set_registers): Add prototype.
|
||
|
||
* regmove (try_auto_increment): Add prototype.
|
||
|
||
* reg-stack.c (pop_stack): Add prototype.
|
||
|
||
* recog.c (validate_replace_rtx_1): Add prototype.
|
||
(find_constant_term_loc): Likewise.
|
||
|
||
* loop.c (regs_patch_p): Add prototype.
|
||
(add_label_notes, count_nonfixed_reads): Likewise.
|
||
(find_single_use_in_loop): Likewise.
|
||
(express_from): Surround prototype with #ifdef.
|
||
(giv_sort): Similarly.
|
||
|
||
* jump.c (mark_modified_reg): Add prototype.
|
||
|
||
* haifa-sched.c (is_prisky): Add prototype.
|
||
(queue_to_ready): Likewise.
|
||
|
||
* genextract.c (gen_insn): Add prototype.
|
||
|
||
* genemit.c (max_operand_1): Add prototype.
|
||
(max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
|
||
(gen_expand, gen_explit, output_add_clobbers): Likewise.
|
||
(output_init_mov_optab): Likewise.
|
||
|
||
* genattrtab.c (attr_hash_add_rtx): Add prototype.
|
||
(attr_hash_add_string, write_length_unit_log): Likewise.
|
||
|
||
* genattr.c (init_range): Add prototype.
|
||
|
||
* combine.c (sets_function_arg_p): Add prototype.
|
||
|
||
* expr.c (store_constructor_field): Add prototype.
|
||
(get_memory_usage_from_modifier): Likewise.
|
||
|
||
* expmed.c (synth_mult): Add prototype.
|
||
(choose_multiplier, invert_mod2n): Likewise.
|
||
|
||
* except.c (push_eh_entry): Add prototype.
|
||
(pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
|
||
(call_get_eh_context, start_dynamic_cleanup): Likewise.
|
||
(start_dynamic_handler, can_throw): Likewise.
|
||
(output_exception_table_entry, scan_region): Likewise.
|
||
(eh_regs, set_insn_eh_region): Likewise.
|
||
|
||
* dwarfout.c (decl_class_context): Add prototype.
|
||
(output_inheritance_die, type_ok_for_scope): Likewise.
|
||
|
||
* c-lex.c (skip_white_space_on_line): Add prototype.
|
||
|
||
* alias.c (record_set): Add prototype.
|
||
(find_base_term, base_alias_check): Likewise.
|
||
|
||
* function.c (assign_outer_stack_local): Make static and add prototype.
|
||
|
||
* haifa-sched.c (build_control_flow): Accept raw data as inputs
|
||
instead of computing it locally. Callers changed.
|
||
(find_rgns): Several new arguments. Callers changed.
|
||
Generally clean up and comment better. Use dominators to
|
||
identify reducible loops. Convert some flag arrays to bitmaps.
|
||
Convert most of the code to work on pred/succ lists instead of
|
||
an edge table. Add comments for future improvements.
|
||
(schedule_insns): Allocate temporary tables for flow data, call
|
||
routines to compute flow data and pass it along to children as
|
||
arguments.
|
||
(debug_control_flow): Delete. Use dump_bb_data instead.
|
||
|
||
* basic-block.h (compute_dominators): Declare.
|
||
|
||
* flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
|
||
functions.
|
||
* basic-block.h: Declare them.
|
||
|
||
Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
|
||
no operands.
|
||
|
||
Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
|
||
|
||
* tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
|
||
Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
|
||
node is non NULL. Cache last file name and file name identifier node.
|
||
|
||
1998-04-15 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
|
||
the length of an array, not TREE_TYPE.
|
||
|
||
Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (sbitmap_union_of_successors): New function.
|
||
* basic-block.h (sbitmap_union_of_successors): Declare it.
|
||
|
||
Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
|
||
Set gnu_ld to gnu_ld_flag inside main loop.
|
||
(gas): Likewise.
|
||
|
||
Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
|
||
|
||
* toplev.c (compile_file): Call init_parse using new interface.
|
||
(init_lex): Remove declaration.
|
||
|
||
* c-lex.c (init_parse): Now returns char* containing filename.
|
||
|
||
Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
|
||
|
||
Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
|
||
(gen{extract,peep,opinit,output}): Likewise.
|
||
|
||
* gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
|
||
global definition so print-rtl.o can be linked in.
|
||
* gen{peep,recog}.c (insn_attr_name): Likewise.
|
||
|
||
Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
|
||
|
||
* fixincludes: Discard empty C++ comments, as found in sys/time.h
|
||
on hpux-11.0.
|
||
|
||
Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
|
||
operand.
|
||
|
||
Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (operand_subword): Rework slightly to avoid
|
||
bogus warning from previous change.
|
||
|
||
Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md: Revert Oct 27 change, as it is superseded by Kenner's
|
||
Nov 8 find_replacement change. Move decls of get_unaligned_address
|
||
* alpha.h: ... here.
|
||
|
||
Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
|
||
|
||
* function.c (assign_parms): Initialize unsignedp before passing
|
||
its pointer to promote_mode.
|
||
|
||
* genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
|
||
(write_test_expr): Allow MATCH_INSN.
|
||
|
||
Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* install.texi: Update section on warnings that can be safely ignored.
|
||
|
||
Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (reload_outdi): Change the scratch mode from DImode to
|
||
TImode. New variable scratch, used instead of operand[2] in template.
|
||
Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
|
||
|
||
Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
|
||
|
||
Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
|
||
|
||
* i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
|
||
|
||
Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
|
||
(ASM_FINISH_DECLARE_OBJECT): Likewise.
|
||
|
||
* Idea and part of the patch from HJ.
|
||
* Makefile.in: auto-host.h renamed from auto-config.h. All references
|
||
changed.
|
||
(distclean): Remove auto-build.h too.
|
||
* configure.in: Rename host autoconf generated file to auto-host.h.
|
||
If host != build, then run autoconf to generate auto-build.h for
|
||
the build machine and include it in build_xm_files.
|
||
Check for wait.h and sys/wait.h.
|
||
|
||
* combine.c (simplify_rtx, case TRUNCATE): Respect value of
|
||
TRULY_NOOP_TRUNCATION.
|
||
|
||
Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
|
||
|
||
Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* invoke.texi (ld options): Include memset requirements
|
||
for options -nodstdlib and -nodefaultlibs.
|
||
|
||
1998-04-12 Paul Eggert <eggert@twinsun.com>
|
||
|
||
This change is from an idea suggested by Arthur David Olson.
|
||
|
||
* c-common.c (decl_attributes, record_function_format,
|
||
check_format_info, init_function_format_info):
|
||
Add support for strftime format checking.
|
||
(enum format_type): New type.
|
||
(record_function_format): Now static, and takes value of type
|
||
enum format_type instead of int.
|
||
(time_char_table): New constant.
|
||
(struct function_format_info): format_type member renamed from is_scan.
|
||
(check_format_info): Use `warning' rather than sprintf followed by
|
||
`warning', to avoid mishandling `%' in warnings.
|
||
Change `pedwarn' to `warning', since these warnings do not necessarily
|
||
mean the program does not conform to the C Standard, as the code
|
||
need not be executed.
|
||
|
||
* c-tree.h (record_function_format): Remove decl; no longer extern.
|
||
|
||
* extend.texi: Add documentation for strftime format checking.
|
||
|
||
Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips/ecoffl.h: Do not include mips.h.
|
||
* mips/elf.h: Likewise.
|
||
|
||
* configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
|
||
* mips/ecoff.h: Include "mips/mips.h".
|
||
|
||
Sat Apr 11 22:42:54 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
|
||
(delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
|
||
* toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
|
||
between loop optimization passes.
|
||
* rtl.h: Updated appropriately.
|
||
|
||
Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
Reinstall this patch from Jason.
|
||
* function.c (push_function_context_to): Don't call init_emit.
|
||
|
||
Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* rtl.c (read_skip_spaces): Prevent infinite loops upon
|
||
encountering unterminated comments.
|
||
|
||
Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (operand_subword): Properly handle CONST_INTs for
|
||
64x32 cross builds.
|
||
|
||
* configure.in: Handle --with-fast-fixincludes.
|
||
(fixincludes): If --with-fast-fixincludes, then use a different
|
||
fixincludes program by default.
|
||
* Makefile.in (fixinc.sh): New rule.
|
||
|
||
Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* i386.md (movqi+1): Handle invalid QI register.
|
||
(movsf_push-1): Likewise.
|
||
|
||
Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/m32r/m32r.c: call_address_operand(): Only accept symbolic
|
||
addresses.
|
||
symbolic_memort_operand(), call32_operand(), int8_operand(),
|
||
int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
|
||
Not used.
|
||
uint16_operand(): Made static.
|
||
|
||
Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* calls.c (expand_call): Fix typo.
|
||
|
||
Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
|
||
|
||
* c-lex.c (finput): New global.
|
||
(init_parse): Always included. Handle !USE_CPPLIB using
|
||
code originally in compile_file.
|
||
(finish_parse): Update for CPPLIB.
|
||
* toplev.c (init_parse, finish_parse): Declare.
|
||
(finput): Delete variable. Now in front-ends.
|
||
(compile_file): Remove code which is now handled by init_parse
|
||
which is unconditionally called. Similarly for finish_parse.
|
||
|
||
Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
|
||
ASM_WEAKEN_LABEL): Add.
|
||
|
||
Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
|
||
* configure.in (alpha-*-linux*): Use them.
|
||
|
||
Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||
|
||
* tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
|
||
* tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
|
||
COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
|
||
(build_expr_wfl): New prototype declaration.
|
||
* tree.c (build_expr_wfl): New function, to build
|
||
EXPR_WITH_FILE_LOCATION nodes.
|
||
(copy_node): Don't zero TREE_CHAIN if copying a
|
||
EXPR_WITH_FILE_LOCATION node.
|
||
* print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
|
||
* expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
|
||
|
||
Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (v850): Use t-v850.
|
||
(ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
|
||
|
||
* protoize.c (creat, read, write): Do not declare.
|
||
|
||
* jump.c (mark_jump_label): Record REG_LABEL notes for insns which
|
||
refer to the CODE_LABEL before a dispatch table.
|
||
|
||
* invoke.texi: Add ARC options.
|
||
|
||
* gcc.c (process_command): Improve error message for -o with
|
||
either -c or -S.
|
||
|
||
* i386/x-cygwin32 (CLIB): Link in advapi32.
|
||
|
||
* alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
|
||
(ASM_IDENTIFY_LANGUAGE): Likewise.
|
||
|
||
* i386.md (movqi recognizer): Don't perfom byte increment into
|
||
a NON_QI_REG_P.
|
||
|
||
* configure.in (x86-dg-dgux): Run fixinc.dgux.
|
||
|
||
* i370.h: Fix typo in GEN_INT changes.
|
||
|
||
* bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
|
||
of an empty arglist in prototype.
|
||
|
||
* Makefile.in: Remove bytecode crud that crept back in after the
|
||
gcc2 merge.
|
||
|
||
1998-04-08 Brendan Kehoe <brendan@cygnus.com>
|
||
|
||
* c-lex.h (is_class_name): Fix arg type to be tree, not void.
|
||
(make_pointer_declarator, reinit_parse_for_function): Fix typo.
|
||
|
||
Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
|
||
|
||
Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
|
||
|
||
* c-lex.c (is_class_name): Delete declaration.
|
||
(whitespace_cr): Make static and add prototype.
|
||
* c-lex.h (make_pointer_declarator, reinit_parse_for_function,
|
||
yylex, get_directive_line): Turn declarations into prototypes.
|
||
(position_after_whitespace, check_newline, yyerror,, is_class_name,
|
||
forget_protocol_qualifiers, remember_protocol_qualifiers): Add
|
||
prototypes.
|
||
* genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
|
||
prototypes.
|
||
* gencodes.c (gen_insn): Add prototype.
|
||
* genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
|
||
gen_peephole): Add prototypes.
|
||
* genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
|
||
prototypes.
|
||
* gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
|
||
special_format, find_formats, gendecl, genmacro, gendef, genlegend,
|
||
genheader, gencode): Add prototypes.
|
||
* genopinit.c (gen_insn): Add prototype.
|
||
* genoutput.c (output_prologue, output_epilogue, scan_operands,
|
||
process_template, validate_insn_alternatives, gen_insn, gen_peephole,
|
||
gen_expand, gen_split, n_occurrences): Add prototypes.
|
||
* genpeep.c (gen_peephole): Add prototype.
|
||
* loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
|
||
reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
|
||
labels_in_range_p, count_loop_regs_set, note_addr_stored,
|
||
loop_reg_used_before_p, scan_loop, replace_call_address,
|
||
skip_consec_insns, libcall_benefit, ignore_some_movables,
|
||
force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
|
||
strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
|
||
check_final_value, record_giv, update_giv_derive, basic_induction_var,
|
||
simplify_giv_expr, general_induction_var, consec_sets_giv,
|
||
check_dbra_loop, express_from, combine_givs_p, combine_givs,
|
||
product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
|
||
last_use_this_basic_block, record_initial, update_reg_last_use,
|
||
iteration_info, analyze_loop_iterations, insert_bct,
|
||
instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
|
||
into prototypes.
|
||
|
||
Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
|
||
|
||
1998-04-07 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/mips/mips.c (siginfo): Deleted.
|
||
(override_options): Don't install SIGINFO signal handler.
|
||
|
||
Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.c (check_dbra_loop): When normalize comparison_val, add check
|
||
to verify it is non-negative.
|
||
|
||
Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_block_move): Correctly collect block offsets.
|
||
(alpha_expand_block_clear): Likewise.
|
||
|
||
Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tree.h (sizetype_tab): Fix previous change for K&R.
|
||
|
||
Mon Apr 6 22:23:29 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
|
||
Add USG and POSIX to xm_defines.
|
||
|
||
Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
|
||
|
||
* gcc.c: Add linker spec.
|
||
(link_command_spec): Use %(linker) instead of ld.
|
||
(main): If collect2 is requested as the linker, see if it exists;
|
||
if not, use ld instead.
|
||
|
||
* Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
|
||
(ld): Deleted.
|
||
(install-collect2): Install as collect2, not ld.
|
||
|
||
* configure.in(will_use_collect2): It's named collect2 now.
|
||
|
||
* collect2: Remove checks to see if we were invoked recursively.
|
||
(collect_execute): Use _spawnvp under cygwin32.
|
||
|
||
Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* haifa-sched.c (build_control_flow): Set unreachable for block whose
|
||
only predecessor is itself.
|
||
|
||
Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-parse.in: Include system.h, and remove stuff now made redundant.
|
||
* cccp.c: Likewise.
|
||
* cexp.y: Likewise.
|
||
* protoize.c: Likewise. Properly check for cpp stringification.
|
||
|
||
* Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
|
||
Depend on system.h.
|
||
|
||
* objc/Make-lang.in (objc-parse.o): Likewise.
|
||
|
||
Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gansidecl.h: Check if compiler supports __attribute__. Provide
|
||
definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
|
||
__attribute__ when its available. Also provide definitions for
|
||
ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
|
||
terms of ATTRIBUTE_PRINTF.
|
||
|
||
* genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
|
||
of __attribute__.
|
||
|
||
Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
|
||
|
||
* combine.c (can_combine_p): Include successor in volatile test.
|
||
|
||
Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
|
||
offset_unsigned.
|
||
|
||
Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
|
||
in prototype and definition.
|
||
|
||
Mon Apr 6 00:48:56 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_block_clear): Add missing offset arg to
|
||
alpha_expand_unaligned_store_words.
|
||
|
||
Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.md (movsf_push, movsf_mem): Remove.
|
||
(movsf_push): Rename from movsf_push_nomove and move in front of
|
||
movsf. Use nonmemory_operand predicate and don't bother checking
|
||
TARGET_MOVE.
|
||
(movsf_push_memory): New pattern.
|
||
(movsf): Don't bother checking for push_operand. If TARGET_MOVE and
|
||
both operands refer to memory then force operand[1] into a register.
|
||
(movsf_normal): Change to unnamed pattern.
|
||
Likewise for movdf, movxf, and friends.
|
||
|
||
Sun Apr 5 18:45:51 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (alpha-dec-osf*): Match osf1.3 correctly.
|
||
|
||
Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
|
||
|
||
* configure.in (mips-wrs-vxworks): New target.
|
||
|
||
Sat Apr 4 23:34:32 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* expmed.c (synth_mult): The value -1, has no zeros, so it can
|
||
never have the form ...011.
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.c (asm_output_function_prefix, load_pic_register):
|
||
Use ASM_GENERATE_INTERNAL_LABEL properly.
|
||
(output_pic_addr_const): Recognize %X to suppress any PIC sym suffix.
|
||
(print_operand): Ignore it.
|
||
(load_pic_register): Use it for the got load call.
|
||
* i386.md (prologue_set_got, prologue_get_pc): Likewise.
|
||
(prologue_get_pc_and_set_got): Likewise.
|
||
* i386.h: Update print_operand docs.
|
||
|
||
Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.md (ffssi, ffshi): Rewrite as define_expands.
|
||
(ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
|
||
* i386.c (notice_update_cc): Recognize unspec 5.
|
||
|
||
Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
|
||
|
||
* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
|
||
* alpha.c (print_operand): Handle it.
|
||
* alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
|
||
for ALPHA_TP_INSN.
|
||
(fix_truncdfdi2): Likewise.
|
||
|
||
Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
|
||
of these into a single struct, with additional [us]sizetype entries.
|
||
* stor-layout.c (set_sizetype): Initialize [us]sizetype.
|
||
* fold-const.c (size_int_wide): Don't rely on sizetype_tab being
|
||
an array.
|
||
|
||
Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
|
||
|
||
Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (split_block_insns): Don't suppress insn splitting
|
||
on subsequent passes.
|
||
|
||
* alpha.c (hard_fp_register_operand): New function.
|
||
* alpha.h (PREDICATE_CODES): Add it.
|
||
* alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
|
||
f<-m case and accompanying define_split.
|
||
(trapb): Use a unique unspec_volatile number.
|
||
|
||
Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
|
||
from gcc2 merge.
|
||
|
||
Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
|
||
for details.
|
||
|
||
* haifa-sched.c: Mirror recent changes from gcc2.
|
||
|
||
Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in (insn*.o): Depend on system.h.
|
||
|
||
* pa.c (output_global_address): Initialize base.
|
||
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
|
||
|
||
1998-04-03 Mike Stump <mrs@wrs.com>
|
||
|
||
* gthr.h: Support systems that don't have weak, but have threads.
|
||
* configure.in (*wrs-vxworks*): Use VxWorks threads by default.
|
||
* gthr-vxworks.h: New file.
|
||
* objc/thr-vxworks.h: Dummy file from thr-single.c for now.
|
||
|
||
Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
|
||
|
||
1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
|
||
|
||
* ginclude/va-i960.h (va_end): Change void * to void.
|
||
|
||
Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (choose-temp.o): Depend on system.h.
|
||
|
||
* choose-temp.c: Include system.h when IN_GCC.
|
||
|
||
Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
|
||
Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
|
||
(move_replacements): New function.
|
||
* reload.h: Prototype it.
|
||
|
||
* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
|
||
|
||
Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
|
||
Run fixincludes.
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
|
||
(gen_highpart): Likewise.
|
||
* final.c (alter_subreg): Allow the target to hook by-mode subreg
|
||
hard register number changes.
|
||
|
||
Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
|
||
rnbitsize, rnmode and rinner.
|
||
(make_range): Initialize type.
|
||
(fold): Initialize arg0, arg1 and varop.
|
||
|
||
* function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
|
||
and regnor.
|
||
(expand_function_start): Initialize last_ptr.
|
||
|
||
* stor-layout.c (layout_record): Initialize desired_align.
|
||
(get_best_mode): Initialize unit.
|
||
|
||
* tree.c (copy_node): Initialize length.
|
||
|
||
* c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
|
||
|
||
* caller-save.c (insert_save_restore): Initialize pat, code and
|
||
numregs.
|
||
|
||
* emit-rtl.c (push_to_sequence): Initialize top.
|
||
(push_topmost_sequence): Likewise.
|
||
|
||
* genattrtab.c (simplify_by_exploding): Initialize defval.
|
||
|
||
* profile.c (branch_prob): Initialize dest.
|
||
|
||
* rtl.h (note_stores): Remove duplicate prototype.
|
||
(GEN_INT): Reinstate cast of second arg to HOST_WIDE_INT.
|
||
|
||
* cplus-dem.c (gnu_special): Don't get confused by .<digits>
|
||
strings that are not actually lengths.
|
||
|
||
* genattrtab.c: Make generated file use system.h, instead of
|
||
including stdio.h, etc directly.
|
||
* genextract.c, genopinit.c, genoutput.c: Likewise.
|
||
* genpeep.c, genrecog.c: Likewise.
|
||
|
||
* genoutput.c (process_template): Mark operands in the generated
|
||
function as potentially unused if compiling with GNU CC.
|
||
|
||
* i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
|
||
|
||
* pa.md (reload peepholes): Remove unused variable "mode".
|
||
|
||
Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.h: Add super interworking support.
|
||
* config/arm/thumb.c: Add super interworking support.
|
||
* config/arm/thumb.md: Add super interworking support.
|
||
* config/arm/lib1funcs.asm: Add interworking support.
|
||
* config/arm/lib1thumb.asm: Add super interworking support.
|
||
* config/arm/t-semi: Add interworking support.
|
||
* config/arm/t-thumb: Add interworking support.
|
||
* config/arm/README-interworking: New file.
|
||
|
||
Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
|
||
(MD_STARTFILE_PREFIX): Unset.
|
||
|
||
1998-04-01 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
|
||
entity in a local scope.
|
||
|
||
* fold-const.c (fold): Call truthvalue_conversion for values which
|
||
are folded to boolean type.
|
||
|
||
Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
|
||
* convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
|
||
* i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
|
||
* i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
|
||
* m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
|
||
* pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
|
||
* rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
|
||
* tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
|
||
* md.texi: Likewise.
|
||
|
||
Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* fixincludes (limits.h): Fix nested comments in Motorola's
|
||
limits.h and sys/limits.h.
|
||
|
||
Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
|
||
as dest of expand_binop call.
|
||
|
||
* alpha.md (extzv): Correct check for valid operand[2] values.
|
||
|
||
* profile.c (branch_prob): Add code to recognize HPPA tablejump entry
|
||
branch.
|
||
|
||
* toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
|
||
|
||
Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
|
||
|
||
* libgcc2.c (__main, __do_global_dtors, __do_global_ctors):
|
||
For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
|
||
|
||
* gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
|
||
cygwin32 can override this to allow both unix and win32 style PATHs.
|
||
|
||
* i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
|
||
style environment paths.
|
||
|
||
Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
|
||
cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
|
||
gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
|
||
system.h.
|
||
|
||
* cpphash.c: Include config.h.
|
||
* cppalloc.c: Include system.h. Add parameters to various
|
||
function prototypes.
|
||
* cpperror.c: Likewise.
|
||
* cppexp.c: Likewise.
|
||
* cpphash.c: Likewise.
|
||
* cpplib.c: Likewise.
|
||
* cppmain.c: Likewise.
|
||
* fix-header.c: Likewise.
|
||
* gcov.c: Likewise.
|
||
* gen-protos.c: Likewise.
|
||
* gengenrtl.c: Likewise.
|
||
* halfpic.c: Likewise.
|
||
* hash.c: Likewise.
|
||
* scan-decls.c: Likewise.
|
||
* scan.c: Likewise.
|
||
|
||
Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* README.gnat: Add lang_print_xnode definition.
|
||
|
||
Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.c (standard_68881_constant_p): Don't use
|
||
fmovecr on the 68060.
|
||
|
||
Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* genemit.c (DONE): Rework so that it works in the true arm if
|
||
an if-else conditional.
|
||
(FAIL): Likewise.
|
||
|
||
Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rs6000.c: Do not include stdioh or ctype.h anymore.
|
||
|
||
* Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
|
||
$(RTL_H).
|
||
(stor-layout.o): Likewise.
|
||
* c-typeck.c: Include rtl.h and expr.h.
|
||
* stor-layout.c: Likewise.
|
||
|
||
* cpplib.c (cpp_file_line_for_message): Delete unused parameter.
|
||
All callers changed.
|
||
(do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
|
||
* fix-header.c (cpp_file_line_for_message): Delete unused parameter.
|
||
All callers changed.
|
||
|
||
* collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
|
||
|
||
* local-alloc.c (reg_classes_overlap_p): Delete dead function.
|
||
|
||
* tree.h (lang_print_xnode): Provide prototype.
|
||
|
||
Sat Mar 28 23:50:44 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* objc/sendmsg.c (__objc_block_forward): Add braces for return
|
||
value if INVISIBLE_STRUCT_RETURN.
|
||
|
||
* pa.c (arith_double_operand): Fix parens.
|
||
|
||
* haifa-sched.c (print_pattern): Correct arg to sprintf.
|
||
|
||
* Makefile.in (libgcc1.null): Make return type for __foo void.
|
||
|
||
Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.h: Add declarations for many functions defined in pa.c.
|
||
|
||
* genpeep.c (main): Remove unused variable 'i' from the generated
|
||
file.
|
||
|
||
* genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
|
||
(gen_split): Likewise.
|
||
(main): Rework generated definitions of DONE and FAIL so that they
|
||
no longer use gotos. Avoids warnings about unused labels.
|
||
|
||
* integrate.c (copy_rtx_and_substitute): Rework to avoid need for
|
||
unused "junk" variable.
|
||
|
||
* genattrtab.c (write_complex_function): Add a default case in
|
||
generated switch statement to keep -W -Wall quiet.
|
||
|
||
Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* invoke.texi: Document more ARM and Thumb command line options.
|
||
|
||
* config/arm/xm-thumb.h: New file.
|
||
|
||
Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
|
||
|
||
* stmt.c (expand_expr_stmt): Must generate code for
|
||
statements within an expression (gcc's `({ ... )}')
|
||
even if -fsyntax-only.
|
||
|
||
Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* basic-block.h (basic_block_computed_jump_target): Declare.
|
||
* flags.h (current_function_has_computed_jump): Declare.
|
||
* flow.c (basic_block_computed_jump_target): Define.
|
||
(flow_analysis): Allocate it. Set current_function_has_computed_jump
|
||
to 0.
|
||
(find_basic_blocks): Set current_function_has_computed_jump and
|
||
elements of basic_block_computed_jump_target to 1 as appropriate.
|
||
* function.c (current_function_has_computed_jump): Define.
|
||
* global.c (global_conflicts): Don't allocate pseudos into stack regs
|
||
at the start of a block that is reachable by a computed jump.
|
||
* reg-stack.c (stack_reg_life_analysis): If must restart, do so
|
||
immediately.
|
||
(subst_stack_regs): Undo change from Sep 4 1997.
|
||
(uses_reg_or_mem): Now unused, deleted.
|
||
* stupid.c (stupid_life_analysis): Compute
|
||
current_function_has_computed_jump.
|
||
(stupid_find_reg): Don't allocate stack regs if the function has a
|
||
computed goto.
|
||
* haifa-sched.c (is_cfg_nonregular): Delete code to determine if
|
||
the current function has a computed jump. Use the global value
|
||
instead.
|
||
|
||
Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
|
||
(DWARF2_UNWIND_INFO): Define to zero.
|
||
|
||
Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* gcc.c (set_std_prefix): Add declaration.
|
||
(process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
|
||
suffix, and update the standard prefix prefix.c uses.
|
||
|
||
* prefix.c (std_prefix): New global to hold default prefix value.
|
||
(get_key_value): Change to use std_prefix instead of PREFIX.
|
||
(translate_name): Likewise.
|
||
(update_path): Likewise.
|
||
(get_key_value): Release allocated scratch storage.
|
||
(set_std_prefix): New function to reset the standard prefix.
|
||
|
||
Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.c (find_barrier): Fix calculations for alignment increase.
|
||
|
||
Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* Makefile.in (stmp-fixinc): If we're actually fixing include
|
||
files, copy gcc's assert.h into the fixed include dir.
|
||
* fixincludes (assert.h): Avoid any attempts to fix a probably
|
||
broken system specific assert.h file.
|
||
* fixproto (stdlib.h): Make sure, it'll contain a definition of
|
||
size_t.
|
||
|
||
Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regclass.c (reg_scan_mark_refs): Be more selective about
|
||
when we mark a register with REGNO_POINTER_FLAG.
|
||
|
||
Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
reload inheritance improvement:
|
||
* reload1.c (reg_reloaded_contents, reg_reloaded_insn):
|
||
Change meaning: index is now hard reg number.
|
||
(reg_reloaded_valid, reg_reloaded_dead): New variables.
|
||
(reload_spill_index): Content is now a hard reg number.
|
||
(reload_as_needed): Change to fit new variable meaning.
|
||
(forget_old_reloads_1, allocate_reload_reg): Likewise.
|
||
(choose_reload_regs, emit_reload_insns): Likewise.
|
||
|
||
Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regclass.c (record_reg_classes): '?' increases cost by two.
|
||
|
||
* reload.c (find_reloads): Double previous costs. Output
|
||
reloads cost one unit extra.
|
||
|
||
* reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
|
||
boiled down to && ! 0.
|
||
|
||
* reload.c (find_equiv_reg): Also consider a goal offset from the
|
||
frame pointer to be constant.
|
||
|
||
Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (OPTIMIZATION_OPTIONS): Define.
|
||
|
||
Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
|
||
|
||
Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
|
||
|
||
Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-common.c (check_format_info): Initialize type, is_type. New local
|
||
integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
|
||
when pedantic if used with integral format specifier.
|
||
|
||
Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
|
||
direction.
|
||
(function_arg_padding): Declare.
|
||
|
||
* rs6000.c: Include system.h.
|
||
(function_arg_padding): Change return type to int, cast enum's to
|
||
int.
|
||
|
||
(From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
|
||
* collect2.c (scan_prog_file): Add explicit braces to avoid
|
||
ambiguous `else'.
|
||
|
||
* dbxout.c (dbxout_type_fields): Add braces around empty body in
|
||
an if-statement.
|
||
(dbxout_type): Likewise.
|
||
|
||
* rs6000.c (rs6000_override_options): Change type of `i', `j' and
|
||
`ptt_size' from int to size_t.
|
||
(rs6000_file_start): Likewise for `i'.
|
||
(rs6000_replace_regno): Add default case in enumeration switch.
|
||
(output_epilog): Remove unused variable `i'.
|
||
(rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
|
||
and `reg2'.
|
||
|
||
* rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
|
||
initializer.
|
||
(get_issue_rate, non_logical_cint_operand): Add prototype.
|
||
(rs6000_output_load_toc_table): Likewise.
|
||
|
||
* rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
|
||
`else'.
|
||
|
||
Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* config/arm/thumb.c: New File. Support for ARM's Thumb
|
||
instruction set.
|
||
* config/arm/thumb.h: New File. Thumb definitions.
|
||
* config/arm/thumb.md: New File. Thumb machine description.
|
||
* config/arm/tcoff.h: New File. Thumb COFF support.
|
||
* config/arm/t-thumb: New File. Thumb makefile fragment.
|
||
* config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
|
||
|
||
* configure.in: Add Thumb-coff target.
|
||
* configure: Add Thumb-coff target.
|
||
* config.sub: Add Thumb-coff target.
|
||
|
||
Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.c (scan_loop): Initialize move_insn_first to zero.
|
||
|
||
Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
|
||
|
||
* config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
|
||
* config/i386/rtems.h: Likewise.
|
||
* config/i960/rtems.h: Likewise.
|
||
* config/m68k/rtems.h: Likewise.
|
||
* config/mips/rtems64.h: Likewise.
|
||
* config/pa/rtems.h: Likewise.
|
||
* config/rs6000/rtems.h: Likewise.
|
||
* config/sh/rtems.h: Likewise.
|
||
* config/sparc/rtems.h: Likewise.
|
||
|
||
Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* pa.c (emit_move_sequence): If in reload, call find_replacement.
|
||
|
||
Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
|
||
|
||
* collect2.c (find_a_file): Add debugging.
|
||
(find_a_file): Test for win32 style absolute paths if
|
||
DIR_SERPARATOR is defined.
|
||
(prefix_from_string): Add debugging.
|
||
(main): Test for debug command line switch at start of program
|
||
execution.
|
||
(main): Use GET_ENVIRONMENT rather than getenv().
|
||
(prefix_from_env): Use GET_ENVIRONMENT.
|
||
|
||
1998-03-24 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* cplus-dem.c (optable): Add sizeof.
|
||
(demangle_template_value_parm): New function containing code
|
||
previously found in demangle_template.
|
||
(demangle_integral_value): New function which handles complicated
|
||
integral expressions.
|
||
(demangle_template): Use them.
|
||
|
||
Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
|
||
genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
|
||
genattrtab.o, genoutput.o): Depend on system.h.
|
||
|
||
* genattr.c: Include system.h. Add arguments to various function
|
||
prototypes. Remove redundant prototype of read_rtx().
|
||
* genattrtab.c: Likewise.
|
||
* gencodes.c: Likewise.
|
||
* genconfig.c: Likewise.
|
||
* genemit.c: Likewise.
|
||
* genextract.c: Likewise.
|
||
* genflags.c: Likewise.
|
||
* genopinit.c: Likewise.
|
||
* genoutput.c: Likewise.
|
||
* genpeep.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
|
||
1998-03-24 Martin von Löwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* c-lang.c (lang_print_xnode): New function.
|
||
* objc/objc-act.c (lang_print_xnode): Likewise.
|
||
* print-tree.c (print_node): Call it
|
||
|
||
Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* c-parse.in: Recognize protocol qualifiers in class
|
||
definitions for objc.
|
||
Include "output.h".
|
||
(yyerror): Remove redundant decl.
|
||
(yyprint): Fix prototype.
|
||
|
||
Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
|
||
|
||
* stmt.c (unroll_block_trees): Free block_vector if needed.
|
||
|
||
Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
|
||
(zero_extendsidi2): Avoid useless copy.
|
||
(iordi_zext): New pattern.
|
||
(iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
|
||
operand 2.
|
||
(iorsi_zext): New name for old unnamed pattern; indentation fixes.
|
||
|
||
* m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
|
||
(ashldi3): Allow constant shift count in range ]32,63].
|
||
(ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
|
||
|
||
1998-03-22 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* tree.h (IS_EXPR_CODE_CLASS): New macro.
|
||
|
||
Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.h (CONST_COSTS): Remove definition.
|
||
(DEFAULT_RTX_COSTS): Define.
|
||
|
||
Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
|
||
|
||
* config/sh/rtems.h: Switched from ELF to COFF.
|
||
|
||
Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
|
||
|
||
Sat Mar 21 23:52:56 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
|
||
Geoff Noer <noer@cygnus.com>
|
||
|
||
* Makefile.in: Various fixes for building cygwin32 native toolchains.
|
||
|
||
* objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
|
||
* objc/Make-lang.in: Likewise.
|
||
|
||
* config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
|
||
|
||
Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
|
||
|
||
* configure.in: Handle with-PACKAGE=no correctly
|
||
|
||
Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
|
||
c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
|
||
caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
|
||
dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
|
||
expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
|
||
integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
|
||
prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
|
||
reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
|
||
rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
|
||
tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
|
||
on system.h.
|
||
|
||
* alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
|
||
c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
|
||
caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
|
||
dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
|
||
expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
|
||
integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
|
||
prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
|
||
reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
|
||
rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
|
||
stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
|
||
xcoffout.c: Include system.h. Organize include ordering so
|
||
that stdarg/varargs comes before other system headers. Remove
|
||
spurious casts of functions assured of a prototype in system.h.
|
||
|
||
Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
|
||
|
||
* reg-stack.c (pop_stack): Define. Pops any register on the
|
||
regstack and adjusts regstack.
|
||
(compare_for_stack_reg): Use pop_stack.
|
||
|
||
Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in (hppa1.0-hp-hpux10): Handle threads for this
|
||
config too.
|
||
|
||
Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
|
||
|
||
* libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
|
||
|
||
* fold-const.c (fold): Replace sign-extension of a zero extended
|
||
value by a single zero extension.
|
||
|
||
Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* except.c (init_eh): Do nothing.
|
||
(save_eh_status): Call init_eh_for_function, not init_eh.
|
||
* function.c (push_function_context_to): Don't call init_emit.
|
||
|
||
Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
|
||
and EABI.
|
||
|
||
Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* final.c (shorten_branches): Add parentheses around +/- in
|
||
operand of &.
|
||
|
||
* flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
|
||
|
||
Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* regclass.c (memory_move_secondary_cost): Wrap uses of
|
||
SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
|
||
with #ifdef tests.
|
||
|
||
Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
|
||
|
||
* flow.c (life_analysis): #include <sys/types.h> to make sure
|
||
size_t is defined.
|
||
* cplus-dem.c (demangle_function_name): Likewise.
|
||
|
||
Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* final.c (insn_noperands): Change type to unsigned int.
|
||
(final_scan_insn): Likewise for noperands;
|
||
properly check operand number boundaries.
|
||
|
||
Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (extzv): Don't reject register operands. Fix
|
||
mode of operand 1.
|
||
|
||
Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_function_end): Fix last change. The correct
|
||
predicate is ASM_OUTPUT_SECTION_NAME.
|
||
|
||
Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
|
||
(ashlsi): Use match_dup 1 instead of match_operand 2.
|
||
|
||
Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* fold-const.c (operand_equal_for_comparison_p): See if equal
|
||
when nop conversions are removed.
|
||
|
||
Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* expr.c (expand_expr, case COND_EXPR): If have conditional move,
|
||
don't use ORIGINAL_TARGET unless REG.
|
||
|
||
Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
|
||
|
||
Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* loop.c (struct movable): New field move_insn_first.
|
||
(scan_loop): In consec sets code, set it. Clear it otherwise.
|
||
(move_movables): In consec sets code, use it. Copy REG_NOTES from
|
||
p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
|
||
out code.
|
||
|
||
Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
|
||
is large, and the system doesn't provide atoll or atoq.
|
||
(atoll): New.
|
||
|
||
* alpha/xm-vms.h (HAVE_ATOLL): Define.
|
||
Reported by Klaus Kaempf <kkaempf@progis.de>.
|
||
|
||
Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-lang.c (finish_file): Wrap variable `void_list_node' with macro
|
||
test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
|
||
|
||
* calls.c (emit_call_1): Wrap variable `already_popped' with macro
|
||
test !ACCUMULATE_OUTGOING_ARGS.
|
||
|
||
* collect2.c (write_c_file_glob): Wrap function definition in
|
||
macro test !LD_INIT_SWITCH.
|
||
|
||
* combine.c (try_combine): Wrap variables `cc_use' and
|
||
`compare_mode' in macro test EXTRA_CC_MODES.
|
||
|
||
* cpplib.c (do_ident): Remove unused variable `len'.
|
||
(skip_if_group): Remove unused variables `at_beg_of_line' and
|
||
`after_ident'.
|
||
(cpp_get_token): Remove unused variable `dummy'.
|
||
|
||
* dbxout.c (scope_labelno): Move static variable definition inside
|
||
the one function scope where it is used.
|
||
(dbxout_function_end): Wrap prototype and definition in
|
||
macro test !NO_DBX_FUNCTION_END.
|
||
|
||
* dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
|
||
in macro test !MIPS_DEBUGGING_INFO.
|
||
|
||
* expr.c (expand_builtin_setjmp): Move declaration of variable `i'
|
||
into the scope where it is used. Wrap empty else-statement body
|
||
in braces.
|
||
|
||
* fix-header.c: Fix typo in comment.
|
||
(inf_skip_spaces): Cast results of INF_UNGET to (void).
|
||
(check_protection, main): Likewise.
|
||
|
||
* flow.c (find_basic_blocks_1): Remove dangling comment text.
|
||
|
||
* function.c (contains): Wrap prototype and definition in macro
|
||
test HAVE_prologue || HAVE_epilogue.
|
||
(fixup_var_refs_1): Remove unused variable `width'.
|
||
|
||
* gen-protos.c (main): Remove unused variable `optr'.
|
||
|
||
* haifa-sched.c (debug_control_flow): Remove unused variable `j'.
|
||
|
||
* libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
|
||
(__sjpopnthrow): Remove unused variable `jmpbuf'.
|
||
(__throw): Remove unused variable `val'.
|
||
|
||
* protoize.c: Check for a previously existing definition before
|
||
defining *_OK macros.
|
||
|
||
* scan-decls.c (scan_decls): Remove unused variable `old_written'.
|
||
|
||
Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* vax.h (ADDR_VEC_ALIGN): Define.
|
||
|
||
Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* gcc.c (default_arg): Don't wander off the end of allocated
|
||
memory.
|
||
|
||
(From Geoffrey Keating <geoffk@ozemail.com.au>)
|
||
* rs6000.c (small_data_operand): Ensure that any address
|
||
referenced relative to the small data area is inside the SDA.
|
||
|
||
Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
|
||
|
||
Mon Mar 16 15:50:20 1998 Andrew MacLeod <amacleod@cygnus.com>
|
||
|
||
* except.h (in_same_eh_region): New prototype.
|
||
(free_insn_eh_region, init_insn_eh_region): New prototypes.
|
||
* except.c (insn_eh_region, maximum_uid): New static variables.
|
||
(set_insn_eh_region): New static function to set region numbers.
|
||
(free_insn_eh_region): New function to free EH region table.
|
||
(init_insn_eh_region): New function to initialize EH region table.
|
||
(in_same_eh_region): New function used to determine if two rtl
|
||
instructions are in the same exception region or not.
|
||
* final.c (final): Initialize the table indicating which instructions
|
||
belong in which exception region.
|
||
* genpeep.c (main): Add "except.h" to include file list in generated
|
||
file insn-peep.c.
|
||
* config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
|
||
peepholes involving calls and unconditional branches.
|
||
|
||
Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* README.gnat: New file.
|
||
|
||
Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
|
||
"recog.h" for offsettable_memref_p.
|
||
(legitimize_pic_address): Remove unused variable `offset'.
|
||
(notice_update_cc): Change return type to void. Add default label
|
||
to switch.
|
||
(standard_68881_constant_p): Remove unused variable mode.
|
||
(print_operand): Define local variable i only if SUPPORT_SUN_FPA.
|
||
(const_int_cost): Explicitly declare as returning int.
|
||
(output_dbcc_and_branch): Change return type to void.
|
||
|
||
* config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
|
||
config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
|
||
(...). Use GEN_INT instead of gen_rtx_CONST_INT.
|
||
|
||
Sun Mar 15 22:30:44 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
|
||
check for 'M' constraint.
|
||
|
||
Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* cccp.c (create_definition): If pedantic, call pedwarn for macro
|
||
varargs feature.
|
||
|
||
Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
||
|
||
* i386.c (ix86_logical_operator): New function.
|
||
(split_di): Ensure that when a MEM is split, the resulting MEMs have
|
||
SImode.
|
||
* i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
|
||
to implement them.
|
||
|
||
Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
Richard Earnshaw <rearnsha@arm.com>
|
||
Nick Clifton <nickc@cygnus.com>
|
||
|
||
* tm.texi (DEFAULT_RTX_COSTS): Document new macro.
|
||
|
||
* arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
|
||
|
||
* cse.c (rtx_cost): Provide a default case in an enumeration
|
||
switch, and call DEFAULT_RTX_COSTS if it's defined.
|
||
|
||
Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* basic-block.h (compute_preds_succs): Change return type in
|
||
prototype to void.
|
||
* flow.c (compute_preds_succs): Likewise in function definition.
|
||
|
||
* regmove.c (find_matches): Cast char used as array index to unsigned char
|
||
to suppress warning.
|
||
|
||
Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* i386.h (RTX_COSTS): Insert braces around nested if.
|
||
(ADDITIONAL_REGISTER_NAMES): Insert braces around structured
|
||
elements.
|
||
|
||
* gcc.c (default_compilers): Properly put brackets around array elements in
|
||
initializer.
|
||
|
||
* getopt.c (_getopt_internal): Add explicit braces around nested if;
|
||
reformatted.
|
||
|
||
* reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
|
||
(record_reg_life_pat): Add explicit parens around && and || in expression.
|
||
(stack_reg_life_analysis): Add parens around assignment used as expression.
|
||
(convert_regs): Likewise.
|
||
|
||
Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* bitmap.c (bitmap_element_allocate): Remove unused parameter;
|
||
change callers accordingly.
|
||
|
||
* cplus-dem.c (arm_special): Remove unused parameter work in prototype
|
||
and definition; change all callers accordingly.
|
||
|
||
* except.c (init_eh): Avoid assignment of unused return value of
|
||
build_pointer_type; cast it to void, instead, and remove unused
|
||
variable type.
|
||
|
||
* gcc.c (lang_specific_driver): Define prototype only #ifdef
|
||
LANG_SPECIFIC_DRIVER.
|
||
(temp_names): Define only #ifdef MKTEMP_EACH_FILE.
|
||
|
||
* genoutput.c (output_epilogue): Initialize next_name to 0.
|
||
|
||
* real.c (efrexp): #if 0 prototype and function definition.
|
||
(eremain): Likewise.
|
||
(uditoe): Likewise.
|
||
(ditoe): Likewise.
|
||
(etoudi): Likewise.
|
||
(etodi): Likewise.
|
||
(esqrt): Likewise.
|
||
|
||
* reload.c (push_secondary_reload): Define prototype only
|
||
#ifdef HAVE_SECONDARY_RELOADS.
|
||
|
||
* varasm.c (assemble_static_space): Define rounded only
|
||
#ifndef ASM_OUTPUT_ALIGNED_LOCAL.
|
||
|
||
Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* i386.md (andsi): Add default case in enumeration switch.
|
||
(iorsi3): Likewise.
|
||
(iorhi3): Likewise.
|
||
(xorsi3): Likewise.
|
||
|
||
Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* c-decl (finish_struct): Change type of min_align to unsigned.
|
||
|
||
* cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
|
||
remove unused variable len.
|
||
|
||
* dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
|
||
comment indicating this is proper behavior.
|
||
(reg_loc_descriptor): Remove redundant comparison of unsigned variable
|
||
reg >= 0.
|
||
(based_loc_descr): Likewise.
|
||
|
||
* enquire.c (bitpattern): Change type of variable i to unsigned.
|
||
|
||
* final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
|
||
|
||
* flow.c (life_analysis): Change type of variable i to size_t;
|
||
remove unused variable insn.
|
||
|
||
* gcc.c (translate_options): Change type of variables optlen, arglen and
|
||
complen to size_t.
|
||
(input_filename_length): Change type to size_t.
|
||
(do_spec_1): Change type of variable bufsize to size_t.
|
||
(main): Change type of variables i and j to size_t;
|
||
remove subblock local definition of variable i.
|
||
(lookup_compiler): Change type of second argument to size_t;
|
||
change type of variable i to size_t.
|
||
|
||
* genemit.c (output_init_mov_optab): Change type of variable i to size_t.
|
||
|
||
* genopinit.c (get_insn): Change type of variable pindex to size_t.
|
||
|
||
* genrecog.c (add_to_sequence): Change type of variable i to size_t.
|
||
|
||
* global.c (global_alloc): Change type of variable i to size_t.
|
||
|
||
* regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
|
||
|
||
* stmt.c (expand_end_bindings): Change type of variable i to size_t.
|
||
(expand_end_case): Change type of variable count to size_t.
|
||
|
||
* toplev.c (main): Change type of variable j to size_t.
|
||
(set_target_switch): Change type of variable j to size_t.
|
||
(print_switch_values): Change type of variable j to size_t;
|
||
remove unused variable flags.
|
||
|
||
* varasm.c (assemble_variable): Change type of variable align to size_t.
|
||
(const_hash_rtx): Change type of variable i to size_t.
|
||
|
||
1998-03-11 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
|
||
TREE_VEC if that's what it really is.
|
||
|
||
Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
|
||
as per ISO C spec.
|
||
|
||
Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
|
||
|
||
* gthr.h: Changed the comment about return values.
|
||
* gthr-solaris.h (__gthread_once): Do not use errno; return the
|
||
error number instead of -1.
|
||
(__gthread_key_create): Any nonzero return value is an error.
|
||
* libgcc2.c (eh_context_initialize): Check for nonzero return
|
||
value from __gthread_once.
|
||
Check that the value of get_eh_context was really changed.
|
||
|
||
Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (LOOP_ALIGN): Only align when optimizing.
|
||
* sh.c (find_barrier): Clear inc for CODE_LABELs.
|
||
When not optimizing, calculate alignment for BARRIERs directly.
|
||
|
||
Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (shorten_branches): Remove conditionalizing on
|
||
SHORTEN_WITH_ADJUST_INSN_LENGTH.
|
||
* sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
|
||
|
||
Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
|
||
an unconditional jump around deleted blocks.
|
||
|
||
Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* profile.c (branch_prob): If see computed goto, call fatal instead of
|
||
abort.
|
||
|
||
* config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
|
||
|
||
* configure.in (alpha-dec-osf): Add default case for osf* to switch.
|
||
Patch from Bruno Haible.
|
||
|
||
* function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
|
||
(assign_parms): Set aggregate if hide_last_arg and last_named.
|
||
|
||
Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (shorten_branches): Initialize insn_addresses.
|
||
|
||
Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.h (MUST_PASS_IN_STACK): Define.
|
||
|
||
Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* final.c (shorten_branches): Fix minor logic error in
|
||
ADDR_DIFF_VEC shortening support.
|
||
|
||
Sun Mar 8 02:17:42 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* haifa-sched.c (is_cfg_nonregular): Change return type to
|
||
an int. No longer compute "estimated" number of edges. Use
|
||
computed_jump_p instead of duplicating the code. Fixup/add
|
||
some comments.
|
||
(build_control_flow): Returns a value indicating an irregularity
|
||
in the cfg was detected. Count the number of edges in the cfg.
|
||
allocate various edge tables.
|
||
(find_rgns): No longer look for unreachable blocks.
|
||
(schedule_insns): Do not allocate memory for edge tables here.
|
||
Free memory for edge tables before returning. Do not perform
|
||
cross block scheduling if build_control_flow returns nonzero.
|
||
* flow.c (compute_preds_succs): More accurately determine when
|
||
a block drops in.
|
||
|
||
* basic-block.h (free_basic_block_vargs): Provide prototype.
|
||
|
||
* cccp.c (main): Fix dumb mistakes in last change.
|
||
|
||
Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* rtl.h (addr_diff_vec_flags): New typedef.
|
||
(union rtunion_def): New member rt_addr_diff_vec_flags.
|
||
(ADDR_DIFF_VEC_FLAGS): New macro.
|
||
|
||
* sh.c (output_branch): Fix offset overflow problems.
|
||
|
||
* final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
|
||
(final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
|
||
* rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
|
||
* stmt.c (expand_end_case): Supply new arguments to
|
||
gen_rtx_ADDR_DIFF_VEC.
|
||
* 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
|
||
* alpha.h, arc.h, clipper.h, convex.h : Likewise.
|
||
* dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
|
||
* i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
|
||
* mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
|
||
* rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
|
||
* vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
|
||
* i386/386bsd.h, i386/freebsd-elf.h : Likewise.
|
||
* i386/freebsd.h, i386/linux.h : Likewise.
|
||
* i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
|
||
* i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
|
||
* m68k/mot3300.h, m68k/sgs.h : Likewise.
|
||
* m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
|
||
* sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
|
||
(CASE_VECTOR_SHORTEN_MODE): Define.
|
||
(short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
|
||
(med_branch_p, braf_branch_p): Don't declare.
|
||
(mdep_reorg_phase, barrier_align): Declare.
|
||
(ADJUST_INSN_LENGTH): Remove alignment handling.
|
||
* sh.c (uid_align, uid_align_max): Deleted.
|
||
(max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
|
||
(short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
|
||
(cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
|
||
(output_far_jump): Don't use braf_branch_p.
|
||
(output_branchy_insn): Don't use branch_offset.
|
||
(find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
|
||
Remove paired barrier stuff.
|
||
Don't use cache_align_p.
|
||
Take alignment insns into account.
|
||
(fixup_addr_diff_vecs): Reduce to only fixing up the base label of
|
||
the addr_diff_vec.
|
||
(barrier_align, branch_dest): New function.
|
||
(machine_dependent_reorg, split_branches): Remove infrastructure
|
||
for branch shortening that is now provided in the backend.
|
||
* sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
|
||
(braf_branch_p, braf_cbranch_p): Likewise.
|
||
(attribute length): Use new attributes.
|
||
(casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
|
||
(addr_diff_vec_adjust): Delete.
|
||
(align_2): Now a define_expand.
|
||
(align_log): Now length 0.
|
||
|
||
Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* m32r.md (right): Correctly check for length == 2, not 1.
|
||
|
||
Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips/mips.h: Prototype `machine_dependent_reorg'.
|
||
(ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
|
||
|
||
Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
|
||
|
||
* final.c (shorten_branches): Restore accidentally removed code.
|
||
|
||
Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* configure.in: Remove duplicate uses of AC_PROG_CC and
|
||
AC_PROG_MAKE_SET.
|
||
|
||
Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (target_cpu_default2): Correct typo for alphapca56.
|
||
|
||
Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
|
||
Doug Evans (devans@cygnus.com)
|
||
|
||
* haifa-sched.c (build_jmp_edges): Delete dead function.
|
||
(build_control_flow): Use cfg routines from flow.c.
|
||
(schedule_insns): Remove debugging code accidentally checked
|
||
in earlier today.
|
||
|
||
* basic-block.h: Add external integer list structures, typdefs,
|
||
accessor macros and function declarations. Similarly for
|
||
basic block pred/succ support and simple bitmap stuff.
|
||
* flow.c: Add functions for integer list, basic block pred/succ
|
||
support and simple bitmap support.
|
||
(compute_dominators): New function to compute dominators and
|
||
post dominators.
|
||
(find_basic_blocks): Split into two functions.
|
||
(life_analysis): Likewise.
|
||
(flow_analysis): Removed. Now handled by calling find_basic_blocks,
|
||
the life_analysis from toplev.c.
|
||
* toplev.c (rest_of_compilation): Call find_basic_blocks, then
|
||
life_analysis instead of flow_analysis.
|
||
|
||
Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* jump.c (jump_optimize): Call mark_jump_label also for deleted
|
||
insns.
|
||
(mark_jump_label): Don't increment ref counts for deleted insns.
|
||
|
||
Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
|
||
|
||
* mips/mips.c: Include stdlib.h and unistd.h.
|
||
(mips_asm_file_end): Add braces around empty body in an if-statement.
|
||
(function_prologue): Wrap variable `fnname' in
|
||
!FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
|
||
(mips_select_rtx_section, mips_select_section): Declare as void.
|
||
|
||
* mips/mips.h: Add prototypes for extern functions in mips.c.
|
||
(FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
|
||
(ENCODE_SECTION_INFO): Add braces around empty body in an
|
||
if-statement.
|
||
|
||
* mips/mips.md (movdi): Add parentheses around && within ||.
|
||
(movsf, movdf): Likewise.
|
||
(branch_zero, branch_zero_di): Add default case in
|
||
enumeration switch.
|
||
|
||
Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
|
||
real constants, since they can't be changed.
|
||
(TARGET_AS_CAN_SUBTRACT_LABELS): New.
|
||
* alpha/alpha.md (builtin_setjmp_receiver): Use it.
|
||
* alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
|
||
* alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
|
||
* alpha/vms.h (TARGET_OPEN_VMS): New.
|
||
* alpha/win-nt.h (TARGET_WINDOWS_NT): New.
|
||
|
||
Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* reload.c (find_reloads): Always force (subreg (mem)) to be
|
||
reloaded if WORD_REGISTER_OPERATIONS.
|
||
|
||
Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* haifa-sched.c (free_list): Rename from free_pnd_lst.
|
||
(free_pending_lists): Rename free_pnd_lst uses.
|
||
(remove_dependence): Place expunged element on unused_insn_list.
|
||
(alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
|
||
gen_rtx_*_LIST and alloc_rtx to use them.
|
||
(compute_block_backward_dependences): Free the reg_last_* lists.
|
||
|
||
Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cccp.c (main): Avoid undefined behavior when setting pend_includes
|
||
and pend_files.
|
||
|
||
Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/linux.h: Don't define DEFAULT_VTABLE_THUNKS to 1 if
|
||
USE_GNULIBC_1 is defined.
|
||
* configure.in: Add a new case powerpc-*-linux-gnulibc1 which
|
||
includes the t-linux-gnulibc1 fragment.
|
||
|
||
Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
|
||
|
||
Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (final_scan_insn, case CODE_LABEL: Cleanup.
|
||
|
||
Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (shorten_branches): Tag the loop alignment onto the
|
||
first label after NOTE_INSN_LOOP_BEG even if there is an
|
||
intervening insn.
|
||
|
||
Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (insn_current_reference_address):
|
||
Use SEQ instead of BRANCH as argument to align_fuzz, to get a
|
||
proper alignment chain.
|
||
|
||
* final.c (max_labelno): New static variable.
|
||
(final_scan_insn): Check max_labelno before outputting an
|
||
alignment for a label.
|
||
(shorten_branches): Remove unused variable length_align.
|
||
|
||
Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* sparc.c (ultrasparc_adjust_cost): Add default case in
|
||
enumeration switch.
|
||
|
||
* sparc.h: Add prototypes for extern functions defined in
|
||
sparc.c.
|
||
|
||
Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c: Only generate <name>.dbr file when dumping RTL if
|
||
DEALY_SLOTS is defined.
|
||
|
||
Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* reorg.c (fill_eager_delay_slots): Add new argument delay_list
|
||
in call to fill_slots_from_thread.
|
||
|
||
Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
|
||
to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
|
||
|
||
Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* final.c (insn_last_address, insn_current_align, uid_align):
|
||
New variables.
|
||
(in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
|
||
(insn_current_reference_address): Likewise.
|
||
(shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
|
||
LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
|
||
(label_to_alignment): New function.
|
||
* genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
|
||
LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
|
||
insn_current_reference_address instead of insn_current_address.
|
||
(or_attr_value, write_length_unit_log): New functions.
|
||
(main): Call write_length_unit_log.
|
||
(write_const_num_delay_slots): Output extra '\n'.
|
||
* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
|
||
Replace with:
|
||
(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
|
||
* i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
|
||
* arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): Replace with:
|
||
(LOOP_ALIGN).
|
||
* i960.h, m88k.h (ASM_OUTPUT_ALIGN_CODE): Replace with:
|
||
(LABEL_ALIGN_AFTER_BARRIER).
|
||
* ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
|
||
* ns32k/tek6000.h: Likewise.
|
||
* i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
|
||
* i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
|
||
ASM_OUTPUT_ALIGN_CODE.
|
||
|
||
Mon Mar 2 01:05:50 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Mon Mar 2 00:52:18 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* reorg.c (fill_slots_from_thread): Don't steal delay list from target
|
||
if condition code of jump conflicts with opposite_needed.
|
||
|
||
* reorg.c (fill_slots_from_thread): Mark resources referenced in
|
||
opposite_needed thread. Return delay_list even when cannot get
|
||
any more delay insns from end of subroutine.
|
||
|
||
Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
|
||
|
||
* reorg.c (fill_slots_from_thread): New parameter, delay_list.
|
||
All callers changed.
|
||
|
||
Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
|
||
end_fde_sort): New functions for fast sorting of an FDE array.
|
||
(fde_insert): Simplified.
|
||
(add_fdes): Change argument list.
|
||
(frame_init): Use the new functions.
|
||
|
||
Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* ginclude/va-ppc.h (va_arg): Fix typo in long long support.
|
||
|
||
* i386.c (reg_mentioned_in_mem): Fix dangling else statement.
|
||
|
||
* fold-const.c (fold_range_test): Always return a value.
|
||
|
||
Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* config/i386/winnt.c (i386_pe_unique_section): Put read-only
|
||
data in the text section unless READONLY_DATA_SECTION is defined.
|
||
|
||
Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* c-parse.in (undeclared variable error): Tweak error message to
|
||
be clearer.
|
||
|
||
Sun Mar 1 10:22:36 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
1998-02-28 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* final.c (final_scan_insn): Undo overzealous removal of `set'.
|
||
|
||
Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
|
||
case, add parentheses to specify the proper order of precedence in
|
||
the if-statement.
|
||
|
||
* c-aux-info.c: Include string.h/strings.h.
|
||
|
||
* pa.c: Include stdlib.h.
|
||
(pa_combine_instructions): Prototype the function.
|
||
(pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
|
||
(reloc_needed): Add default case for enumeration switch.
|
||
(remove_useless_addtr_insns): Remove unused variable `all'.
|
||
(hppa_expand_prologue): Add explicit braces to avoid
|
||
ambiguous `else'.
|
||
(output_function_epilogue): Remove unused variable `i'.
|
||
(output_millicode_call): Remove unused variable `link'.
|
||
(shadd_constant_p, forward_branch_p): Make the function static.
|
||
(following_call): Explicitly declare to return int.
|
||
(pa_reorg): Declare as void.
|
||
(pa_combine_instructions): Declare as static void. Add
|
||
parentheses around && within ||.
|
||
|
||
* pa.h: Add prototypes for pa_reorg, symbolic_operand,
|
||
following_call, function_label_operand, lhs_lshift_cint_operand
|
||
and zdepi_cint_p.
|
||
|
||
* pa.md: Add parentheses around && within ||.
|
||
|
||
* cppalloc.c: Include stdlib.h.
|
||
|
||
* cpperror.c (cpp_print_containing_files): Remove unused variable
|
||
`i'. Fix format specifier in fprintf.
|
||
|
||
* cse.c (cse_around_loop): Add explicit braces to avoid
|
||
ambiguous `else'.
|
||
(delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
|
||
|
||
* expr.c (expand_expr): Add parentheses around && within ||.
|
||
|
||
* final.c (app_enable): Replace fprintf with fputs where there are
|
||
no format specifiers and no trailing argument after the string.
|
||
Eg, when printing ASM_APP_ON/ASM_APP_OFF.
|
||
(app_disable): Likewise.
|
||
(final_end_function): Likewise.
|
||
(final_scan_insn): Likewise. Remove unused variable `set'.
|
||
(profile_function): Wrap empty if-statement body in {} brackets.
|
||
|
||
* function.c: Include stdlib.h.
|
||
(pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
|
||
(reposition_prologue_and_epilogue_notes): Add parentheses
|
||
around assignment used as truth value.
|
||
|
||
* integrate.c (expand_inline_function): Wrap variable
|
||
`cc0_insn' in macro HAVE_cc0.
|
||
|
||
* jump.c (jump_optimize): Wrap variable `q' in macro
|
||
HAVE_cc0. Remove unused variable `prev1'.
|
||
|
||
* libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
|
||
within ||. Fix format specifier in fprintf.
|
||
(__bb_init_prg): Add parentheses around assignment used as
|
||
truth value.
|
||
|
||
* local-alloc.c: Include stdlib.h.
|
||
(requires_inout): Add parentheses around assignment used
|
||
as truth value.
|
||
|
||
* loop.c (analyze_loop_iterations): Wrap prototype and definition
|
||
in macro HAVE_decrement_and_branch_on_count.
|
||
(insert_bct, instrument_loop_bct): Likewise.
|
||
(move_movables): Add parentheses around assignment used as
|
||
truth value.
|
||
(consec_sets_invariant_p): Likewise.
|
||
(maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
|
||
|
||
* objc/objc-act.c: Include stdlib.h.
|
||
(lookup_method_in_protocol_list): Wrap empty else-statement body
|
||
in braces.
|
||
(lookup_protocol_in_reflist): Likewise.
|
||
(objc_add_static_instance): Remove unused variables `decl_expr'
|
||
and `decl_spec'.
|
||
(get_objc_string_decl): Remove unused variable `decl'.
|
||
(generate_static_references): Remove unused variables `idecl' and
|
||
`instance'.
|
||
(check_protocols): Wrap empty else-statement body in braces.
|
||
|
||
* protoize.c: Include stdlib.h.
|
||
(substr): Add parentheses around assignment used as truth value.
|
||
(abspath): Likewise.
|
||
(shortpath): Likewise.
|
||
|
||
* regmove.c (fixup_match_1): Add parentheses around assignment
|
||
used as truth value.
|
||
|
||
* reload.c (push_secondary_reload): Remove unused variable `i'.
|
||
(find_reloads): Add parentheses around assignment used as truth
|
||
value.
|
||
|
||
* reload1.c: Include stdlib.h.
|
||
|
||
* rtl.h: Correct typo in prototype of offsettable_memref_p.
|
||
|
||
* stmt.c (add_case_node): Add parentheses around assignment used
|
||
as truth value.
|
||
(case_tree2list): Likewise.
|
||
|
||
* tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
|
||
in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
|
||
`type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
|
||
(merge_attributes): Add explicit braces to avoid ambiguous
|
||
`else'.
|
||
|
||
* unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
|
||
macro HAVE_cc0.
|
||
|
||
* varasm.c: Include stdlib.h.
|
||
|
||
* system.h: Remove sys/stat.h.
|
||
* gcc.c: Add sys/stat.h.
|
||
|
||
* genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
|
||
* genattrtab.c: Likewise.
|
||
* genconfig.c: Likewise.
|
||
* genemit.c: Likewise.
|
||
* genextract.c: Likewise.
|
||
* genflags.c: Likewise.
|
||
* genopinit.c: Likewise.
|
||
* genoutput.c: Likewise.
|
||
* genpeep.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
* tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
|
||
|
||
Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* invoke.texi: Use @itemx for a secondary item in a @table.
|
||
|
||
* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
|
||
zero.
|
||
|
||
Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
|
||
|
||
Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* i386.c (struct machine_function): Add new fields for PIC stuff.
|
||
(save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
|
||
and pic_label_name.
|
||
(restore_386_machine_status): Corresponding changes.
|
||
(clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
|
||
|
||
Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* c-parse.y (undeclared variable error): Tweak error message
|
||
to be clearer.
|
||
|
||
Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* flags.h (g_switch_value, g_switch_set): Declare.
|
||
* alpha.c (override_options): Set g_switch_value=8 if not set.
|
||
* alpha/elf.h (CC1_SPEC): New.
|
||
(ASM_SPEC): New.
|
||
(LINK_SPEC): Pass along the -G value we were given.
|
||
(LOCAL_ASM_OP): Remove.
|
||
(ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
|
||
(MAX_OFILE_ALIGNMENT): New.
|
||
(BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
|
||
(EXTRA_SECTIONS): Add sbss and sdata.
|
||
(SECTION_FUNCTION_TEMPLATE): New.
|
||
(EXTRA_SECTION_FUNCTIONS): Use it.
|
||
(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
|
||
(SELECT_SECTION): Use sdata when small enough.
|
||
* alpha/linux.h (ASM_SPEC): Remove.
|
||
|
||
Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
* config.sub (sco5): Fix typo.
|
||
|
||
Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
|
||
set to empty.
|
||
* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
|
||
* config/alpha/t-linux: Remove file.
|
||
* config/sparc/t-linux: Remove file.
|
||
* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
|
||
* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
|
||
* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
|
||
for tmake_file.
|
||
(alpha*-*-linux-gnu*): Likewise.
|
||
(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
|
||
(sparc-*-linux-gnu*): Likewise.
|
||
|
||
Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
|
||
* collect2.c (ldd_file_name): Bracket declaration with same
|
||
manifests as use.
|
||
(full_real_ld_suffix): Deleted. Variable was calloced and
|
||
written into, but never read.
|
||
|
||
1998-02-23 Mike Stump <mrs@wrs.com>
|
||
|
||
* configure.in: Add support for i386-wrs-vxworks configuration.
|
||
* i386/vxi386.h: New file.
|
||
|
||
Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* tree.c (contains_placeholder_p): Ensure function always returns
|
||
a value.
|
||
* sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
|
||
(movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
|
||
|
||
Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
|
||
|
||
1998-02-22 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
|
||
Define this new symbol.
|
||
(DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
|
||
* toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
|
||
LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
|
||
|
||
Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* iris5.h (DWARF2_UNWIND_INFO): Define to 0.
|
||
* iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
|
||
|
||
Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* objc/Object.m (-error): Call objc_verror with our va_list.
|
||
|
||
Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* collect2.c (scan_prog_file): Completely cover uses of variable
|
||
`exports' with macro COLLECT_EXPORT_LIST.
|
||
|
||
Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* sched.c (schedule_block): Remove code to get arguments from hard
|
||
regs into pseudos early. Same as Aug 25, 1997 change to
|
||
haifa-sched.c.
|
||
|
||
1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* collect2.c (main): Still handle !do_collecting for non-AIX targets.
|
||
|
||
1998-02-16 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* toplev.c (rest_of_compilation): Do not defer the output of a
|
||
nested function.
|
||
|
||
Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
|
||
|
||
* ginclude/va-mips.h (va_arg): Remove trailing space after '\'
|
||
continuation character (line 243).
|
||
|
||
Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* genrecog.c (main): Remove duplicated sentence in emitted comment.
|
||
|
||
Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
|
||
David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* collect2.c (XCOFF_SCAN_LIBS): Remove.
|
||
(export_flag): New variable.
|
||
(export_file): #ifdef COLLECT_EXPORT_LIST.
|
||
(import_file, exports, imports, undefined): New variables.
|
||
(libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
|
||
(dump_list, dump_prefix_list, is_in_list): New functions.
|
||
(write_export_file): $ifdef COLLECT_EXPORT_LIST.
|
||
(write_import_file, resolve_lib_name): New functions.
|
||
(use_import_list, ignore_library): Same.
|
||
(collect_exit): maybe_unlink import_file and #ifdef.
|
||
(handler): Same.
|
||
(main): New variable importf, #ifdef exportf. Move parsing of
|
||
-shared before general argument parsing. Resolve AIX library
|
||
paths and import libgcc.a symbols. Treat .so shared libraries the
|
||
same as objects and .a libraries. Create alias for object_lst and
|
||
increment it instead of original pointer. Scan AIX libraries as
|
||
objects earlier instead of using scan_libraries. Perform AIX
|
||
tlink later to resolve templates instead of forking ld.
|
||
(GCC_OK_SYMBOL): Ensure symbol not in undef section.
|
||
(GCC_UNDEF_SYMBOL): New macro.
|
||
(scan_prog_file): Loop for members of AIX libraries. Handle
|
||
export/import of ctors/dtors.
|
||
(aix_std_libs): New variable.
|
||
(scan_libraries, XCOFF): Delete.
|
||
|
||
Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
|
||
|
||
1998-02-19 Mike Stump <mrs@wrs.com>
|
||
|
||
* Makefile.in: Use $tooldir for sys-include to match toplevel
|
||
configure.
|
||
|
||
Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
|
||
Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
|
||
|
||
* emit-rtl.c (hard-reg-set.h): Include.
|
||
(get_lowpart_common): Don't make new REG for hard reg in a
|
||
class that cannot change size.
|
||
* Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
|
||
|
||
* combine.c: Revert previous patch.
|
||
|
||
1998-02-19 Paul Eggert <eggert@twinsun.com>
|
||
|
||
* config/sparc/sol2-sld.h: New file.
|
||
* configure.in (sparc-*-solaris2*): Use it when using the
|
||
system linker.
|
||
|
||
Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (force_movables): Fix typo.
|
||
|
||
Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* m88k.h: Change file pattern to match reality.
|
||
|
||
Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* varasm.c (output_constant_pool): Fix dumb thinko in last
|
||
change.
|
||
|
||
* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
|
||
a function name to a section name.
|
||
|
||
1998-02-18 Doug Evans <devans@cygnus.com>
|
||
|
||
* tree.h (merge_machine_{type,decl}_attributes): Declare.
|
||
(split_specs_attrs, strip_attrs): Add prototypes.
|
||
* tree.c (merge_machine_{type,decl}_attributes): New functions.
|
||
* c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
|
||
Update olddecl's attributes too.
|
||
* c-common.c (strip_attrs): New function.
|
||
* c-typeck.c (common_type): Call merge_machine_type_attributes.
|
||
* varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
|
||
(make_decl_rtl): Likewise.
|
||
|
||
1998-02-18 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* c-decl.c (shadow_tag_warned): Call split_specs_attrs.
|
||
|
||
Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
Remove this change until we can fix it correctly.
|
||
* collect2.c: Bracket declaration of 'exportf' and
|
||
'full_real_ld_suffix'.
|
||
|
||
Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
|
||
|
||
* Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
|
||
|
||
Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
|
||
|
||
* c-common.c (c_expand_start_cond, c_expand_end_cond,
|
||
c_expand_start_else): Don't warn about non-ambiguous else even if
|
||
braces are missing.
|
||
|
||
Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
|
||
ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
|
||
instead.
|
||
|
||
Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
|
||
simplifying a subreg of a hard reg.
|
||
(expand_compound_operation): Likewise.
|
||
(force_to_mode): Likewise.
|
||
|
||
Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
|
||
(lshift_double): Add parentheses around + or - inside shift.
|
||
(rshift_double): Likewise.
|
||
(size_int_wide): Explicitly set type of `bit_p' to `int'.
|
||
|
||
* Makefile.in (fold-const.o): Depend on system.h.
|
||
|
||
* Makefile.in (gcc.o): Depend on system.h, in accordance with last
|
||
change to gcc.c.
|
||
|
||
* haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
|
||
(BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
|
||
(sched_note_set): Remove unused parameter `b', all callers changed.
|
||
(schedule_block): Likewise for `rgn'.
|
||
(split_hard_reg_notes): Likewise for `orig_insn'.
|
||
(check_live): Likewise for `trg'.
|
||
(update_live): Likewise.
|
||
(check_live_1): Explicitly declare variable `i' as int.
|
||
(update_live_1): Likewise.
|
||
(insn_issue_delay): Remove unused variable `link'.
|
||
(sched_analyze_2): Add default case in enumeration switch.
|
||
(schedule_insns): Remove unused variable `i'.
|
||
|
||
* Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
|
||
|
||
Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
|
||
a dangling else clause.
|
||
|
||
Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
|
||
pointer for the stack pointer in MIPS16 and 64BIT.
|
||
|
||
Tue Feb 17 21:17:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* rtl.h (force_line_numbers, restore_line_number_status): Declare.
|
||
* emit-rtl.c (force_line_numbers, restore_line_number_status):
|
||
New functions.
|
||
* stmt.c (struct nesting): Replace seenlabel with line_number_status.
|
||
(expand_start_case): Adjust to this change.
|
||
(check_seenlabel): New function.
|
||
(pushcase, pushcase_range, expand_endcase): Use it.
|
||
|
||
Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* i386.md (adddi3): Add =!r,0,0,X alternative.
|
||
|
||
Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
|
||
* x-aix31 (INSTALL): Delete.
|
||
|
||
Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
|
||
tsize changes to something other than zero.
|
||
|
||
Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* ginclude/va-mips.h: Replace casts of pointers to int with
|
||
casts of pointers to __PTRDIFF_TYPE__.
|
||
|
||
Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
|
||
|
||
* loop.c (strength_reduce, record_biv, record_giv): Use
|
||
HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
|
||
|
||
1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* tree.c (first_rtl_op): New fn.
|
||
(unsave_expr_now): Use it.
|
||
* print-tree.c (print_node): Likewise.
|
||
* tree.c (has_cleanups): New fn.
|
||
* fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
|
||
conservative about pushing the cleanup point down.
|
||
* tree.h: Declare them.
|
||
|
||
Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (flag_schedule_reverse_before_reload): Delete variable.
|
||
(flag_schedule_reverse_after_reload): Likewise.
|
||
(f_options): Remove reverse scheduling support.
|
||
* flags.h (flag_schedule_reverse_before_reload): Delete declaration.
|
||
(flag_schedule_reverse_after_reload): Likewise.
|
||
* haifa-sched.c (rank_for_schedule): Remove support for reverse
|
||
scheduling.
|
||
|
||
Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gcc.c: Get system includes, prototypes and macros via "system.h"
|
||
instead of doing it manually. Change all calls of the ctype
|
||
macros to custom versions defined in "system.h".
|
||
|
||
* system.h: Fix return type of bcmp prototype from `void' to `int'.
|
||
Make bcopy, bcmp and bzero prototypes explicitly `extern'.
|
||
Add a prototype for getenv.
|
||
|
||
Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
|
||
|
||
Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
|
||
|
||
* alias.c: Include <stdlib.h> and <string.h>.
|
||
(init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
|
||
|
||
Sat Feb 14 11:23:09 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
|
||
|
||
* arm.md (movsfcc): Also validate operands[3] when compiling hard
|
||
float.
|
||
(movdfcc): Only accept fpu_add_operand for operands[3].
|
||
|
||
* arm/t-semi (STMP_FIXPROTO): Define to nothing.
|
||
* arm/t-semiaof (STMP_FIXPROTO): Likewise.
|
||
|
||
Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* varasm.c (output_constant_pool): Bring back 'done' label inside
|
||
an appropriate #ifdef.
|
||
|
||
* bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
|
||
appropriate #ifdef.
|
||
(bitmap_copy, bitmap_operation): Likewise.
|
||
* combine.c (combinable_i3pat): Similarly for 'src'.
|
||
* function.c (fixup_var_refs_1): Similarly for 'outerdest'.
|
||
(locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
|
||
* regclass.c (copy_cost): Similarly for 'secondary_class'.
|
||
* reload.c (make_memloc): Similarly for 'i'.
|
||
(find_reloads_address_1): Similarly for 'link'.
|
||
* reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
|
||
(emit_reload_insns): Similarly for 'second_reloadreg'.
|
||
* unroll.c (iteration_info): Similarly for 'v'.
|
||
|
||
* caller-save.c (insert_save_restore): Remove unused variable 'i'.
|
||
* calls.c (expand_call): Similarly for 'i'.
|
||
(emit_library_call, emit_library_call_value): Similarly for 'mode'.
|
||
* fold-const.c (strip_compound_expr): Similarly for 'type'.
|
||
* function.c (fixup_var_refs_1): Similarly for 'width'.
|
||
(fixup_memory_subreg): Similarly for 'saved'.
|
||
(locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
|
||
(setjmp_protect): Similarly for 'sub'.
|
||
(thread_prologue_and_epilogue_insns): Similarly for 'insn'.
|
||
* loop.c (record_giv): Similarly for 'p'.
|
||
(combine_givs): Similarly for 'temp_iv'.
|
||
(indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
|
||
* recog.c (validate_replace_rtx_1): Similarly for 'width'.
|
||
* tree.c (get_set_constructor_bytes): Similarly for 'vals'.
|
||
* unroll.c (unroll_loop): Similarly for 'copy'.
|
||
(iteration_info): Similarly for 'b'.
|
||
* varasm.c (assemble_string): Similarly for 'i'.
|
||
* i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
|
||
|
||
1998-02-13 Martin von Löwis <loewis@informatik.hu-berlin.de>
|
||
|
||
* c-lang.c (lang_print_xnode): New function.
|
||
* objc/objc-act.c (lang_print_xnode): Likewise.
|
||
* print-tree.c (print_node): Call it
|
||
|
||
Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* dwarf2out.c (decl_scope_node): New type.
|
||
(decl_scope_table): Change type to use it.
|
||
(decl_scope_table_allocated, decl_scope_depth): Change type to int.
|
||
(push_decl_scope): Use new type. New locals containing_scope, i.
|
||
Add code to handle setting previous field.
|
||
(scope_die_for): Change type of local i to int. Add code to use
|
||
previous field.
|
||
(dwarf2out_init): Use new type.
|
||
|
||
1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* except.c (emit_throw): Lose throw_used.
|
||
|
||
Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
|
||
was deleted.
|
||
* haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
|
||
|
||
Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* genextract.c (main): Fix typo.
|
||
|
||
Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* c-lang.c (finish_file): Bracket declaration of static_ctors,
|
||
static_dtors.
|
||
|
||
* calls.c (expand_call): Bracket declaration of 'rtx_before_call',
|
||
'old_stack_arg_under_construction'
|
||
(emit_library_call): Bracket declaration of 'upper_bound',
|
||
'lower_bound', 'i', 'reg_parm_stack_space'
|
||
(emit_library_call_value): Likewise.
|
||
(store_one_arg):
|
||
|
||
* collect2.c: Include <unistd.h> when appropriate.
|
||
Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
|
||
|
||
* emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
|
||
|
||
* explow.c (plus_constant_for_output_wide): Remove unused variable
|
||
'code'.
|
||
(memory_address): Remove unused variable 'orig_x'.
|
||
|
||
* genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
|
||
(write_const_num_delay_slots): Remove unused variable 'i'.
|
||
|
||
* genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
|
||
(gen_insn): Remove unused variable 'obstack_ptr'.
|
||
|
||
* libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
|
||
'j', 'tmp', 'i'.
|
||
(__bb_exit_trace_func): Remove unused variable 'e'.
|
||
|
||
* optabs.c (expand_binop): Remove unused variables 'lhs', 'rhs',
|
||
'funexp'.
|
||
(expand_unop): Remove unused variable 'funexp'.
|
||
(expand_complex_abs): Remove unused variable 'funexp'.
|
||
(init_optabs): Bracket declaration of 'j'.
|
||
(init_complex_libfuncs): Deleted. Dead static function.
|
||
|
||
* profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
|
||
|
||
* reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
|
||
(reg_to_stack): 'initialized', 'before_function_beg'
|
||
explicitly type as ints instead of defaulting.
|
||
(emit_swap_insn): Remove unused variable 'i2'.
|
||
(compare_for_stack_reg): Remove unused variable 'src_note'.
|
||
|
||
* rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
|
||
|
||
* sched.c (actual_hazard): Bracket declaration of 'this_cost'.
|
||
|
||
* stmt.c (add_case_node): Add parens for assignment used as truth.
|
||
(all_cases_count): Remove unused variable 'count_high'.
|
||
(mark_seen_cases): Remove unused variable 'i'.
|
||
(check_for_full_enumeration_handling): Remove unused variable 't'.
|
||
Bracket declaration of 'all_values', 'l'.
|
||
|
||
* tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
|
||
|
||
* varasm.c (assemble_string): Remove unused variable 'i'.
|
||
(immed_double_const): Remove unused variable 'in_current_obstack'.
|
||
(immed_real_const_1): Likewise.
|
||
(output_constant_pool): Remove unreferenced label 'done'.
|
||
(output_constant): Remove unused variable 'x'.
|
||
|
||
* i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
|
||
a string.
|
||
|
||
* i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
|
||
as truth.
|
||
|
||
Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* combine.c (can_combine_p): Handle USEs in PARALLELs.
|
||
|
||
Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
|
||
|
||
* config/linux.h (LIB_SPEC): Add -lc for -shared if
|
||
USE_GNULIBC_1 is not defined.
|
||
* config/sparc/linux.h; Likewise.
|
||
|
||
* config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
|
||
|
||
* config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
|
||
USE_GNULIBC_1 is not defined.
|
||
|
||
Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/sysv4.h (ENDFILE_SPEC): Add missing %(endfile_linux)
|
||
for -mcall-linux.
|
||
|
||
Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* system.h: New file to get common systems includes and various
|
||
definitions and declarations based on autoconf macros.
|
||
|
||
Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cccp.c (new_include_prefix): Correctly handle -I./.
|
||
|
||
Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
|
||
|
||
Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* expr.c (expand_assignment): Correct typo exposed by -Wall.
|
||
offset should have been a truth value, not an assignment.
|
||
|
||
Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (delete_dead_from_cse): If a libcall produces a constant
|
||
result and that result can be substituted into SET_SRC of the
|
||
insn with the REG_RETVAL note, then perform the substitution
|
||
and delete the libcall.
|
||
|
||
Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips.md (trucndihi2,truncdiqi2): Change these to support
|
||
mips16.
|
||
|
||
Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips/mips.c (movdi_operand): Direct references to symbols
|
||
that arn't mips16 consts in mips16 mode arn't valid operands.
|
||
|
||
* mips/mips.c (mips_move_2words): Add gprel handling.
|
||
|
||
Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips.md (extendsidi2): Allow extension to/from a non-mips16
|
||
register.
|
||
|
||
Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
|
||
|
||
* i386.c: Conditionally include <stdlib.h>, <string.h>, and
|
||
<strings.h>.
|
||
|
||
Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (WARN_CFLAGS): New variable.
|
||
(bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
|
||
|
||
1998-02-11 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
|
||
falling through default case in switch.
|
||
(i386_aligned_p): Likewise.
|
||
|
||
Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
|
||
|
||
* mips/mips.h (mips_abi_string): Correct typo in comment.
|
||
|
||
Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips/mips.md (movdi): These PLUS's need to be Pmode.
|
||
|
||
Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
|
||
reorg.o, regmove.o): Depend on insn-codes.h, it gets included
|
||
indirectly via expr.h.
|
||
|
||
Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* stor-layout.c (layout_type): Do upper - lower in the native type,
|
||
so as to properly handle negative indices.
|
||
|
||
Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
|
||
(expand_eh_region_start_tree): Remove unused variable 'note'.
|
||
(exception_optimize): Remove unused variable 'regions'.
|
||
(expand_builtin_eh_stub): Remove unused variable 'temp'.
|
||
(copy_eh_entry): Deleted. Dead function.
|
||
|
||
* expr.c (move_block_to_reg): Bracket declaration of 'pat' and
|
||
'last' with same #if HAVE_load_multiple as use of it.
|
||
(move_block_from_reg): Likewise.
|
||
(emit_move_insn_1): Remove unused variable 'insns'.
|
||
(store_constructor): Bracket declaration of startb, endb with
|
||
#if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
|
||
'target', and 'xtarget'.
|
||
(expand_builtin_setjmp): Remove unused variables 'op0',
|
||
'next_arg_reg', 'old_inhibit_defer_pop'.
|
||
(expand_builtin): Remove unused variable 'offset'.
|
||
(do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
|
||
(emit_queue): Add parens for assignment used as conditional.
|
||
(expand_expr): Case TARGET_EXPR: Remove unused variable 'temp'.
|
||
|
||
Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
|
||
|
||
* i386.c: Added include for recog.h.
|
||
(override_options): Removed unused variable p. Initialized regno to
|
||
avoid warning.
|
||
(order_regs_for_local_alloc): Initialized regno to avoid warning.
|
||
(legitimize_address): Likewise for 'other'.
|
||
(i386_aligned_reg_p): Added default case with abort ().
|
||
(print_operand): Likewise.
|
||
(reg_mentioned_in_mem): Likewise.
|
||
(ix86_expand_binary_operator): Removed unused variables i & insn.
|
||
(ix86_expand_unary_operator): Removed unused variable insn.
|
||
(output_fp_cc0_set): Removed unused variable unordered_label.
|
||
|
||
Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
|
||
|
||
* i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
|
||
Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
|
||
and format string match.
|
||
|
||
Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* flow.c (life_analysis): Do not consider the stack pointer live at
|
||
the end of a function if the function calls alloca.
|
||
(mark_used_regs): Similarly.
|
||
|
||
1998-02-10 John F Carr <jfc@mit.edu>
|
||
|
||
* config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
|
||
1, fzero on alternative 8.
|
||
|
||
Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
|
||
|
||
Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
|
||
SUBREGs of CONST_INTs.
|
||
|
||
Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
|
||
|
||
* mips.c (print_operand, function_prologue): Make printf format
|
||
match argument type.
|
||
|
||
Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* alpha.c (alpha_return_addr): Remove unused variable `first'.
|
||
(alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
|
||
(output_epilog): Remove unused variable `frame_size_from_reg_save'.
|
||
|
||
Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||
|
||
* loop.c (strength_reduce): When placing increment for auto-inc
|
||
case, do comparison in loop order.
|
||
|
||
Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
|
||
|
||
* bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
|
||
not a HOST_WIDE_INT.
|
||
|
||
* calls.c (expand_call): Change test of expand_inline_function
|
||
return value to stop compiler warning.
|
||
|
||
* genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
|
||
|
||
Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
|
||
Jeff Law (law@cygnus.com)
|
||
|
||
* regmove.c: Fix various minor formatting problems.
|
||
(optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
|
||
is true. Make end of basic block tests consistent through regmove.c.
|
||
(optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
|
||
(fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
|
||
|
||
Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gansidecl.h: Check for a conflicting macro definition before
|
||
attempting to prototype bcopy, bcmp or bzero.
|
||
|
||
Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* expr.c (clear_pending_stack_adjust): Handle case where a function
|
||
calls alloca, but the user has specified -fomit-fframe-pointer.
|
||
|
||
* function.c (assign_parms): Fix typo in last change.
|
||
|
||
Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
|
||
|
||
* gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
|
||
<fcntl.h>.
|
||
(free_path_suffix): Remove unreferenced static function.
|
||
(process_command): Remove unused variable temp.
|
||
(default_arg): Remove unused variable i.
|
||
(do_spec_1): Add parens for assignment used as truth value.
|
||
(main): Likewise.
|
||
(validate_all_switches): Likewise.
|
||
(main): Remove unused variables i, first_time>
|
||
|
||
* c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
|
||
|
||
* calls.c (expand_call): Remove unused variables funtree,
|
||
n_regs, and tmpmode.
|
||
|
||
* dbxout.c, except.c: Include <string.h>/<strings.h>.
|
||
|
||
* explow.c (plus_constant_for_output_wide): Removed unused
|
||
variable all_constant.
|
||
|
||
* c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
|
||
genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
|
||
genrecog.c, global.c, integrate.c , stupid.c : Include
|
||
<stdlib.h>.
|
||
|
||
* genextract.c (walk_rtx): Remove unused variable link.
|
||
|
||
* genrecog.c (concat): Remove unreferenced static function.
|
||
|
||
* prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
|
||
|
||
* stmt.c: Include <stdlib.h>.
|
||
(expand_asm_operands): Remove unused variable val1.
|
||
(expand_return): Remove unused variable block.
|
||
(pushcase): Remove unused variables l and n.
|
||
(pushcaserange): Likewise.
|
||
|
||
* unroll.c (unroll_loop): Remove unused variable temp.
|
||
|
||
Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
|
||
|
||
* c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
|
||
|
||
Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
|
||
functions for whether they support the %p format specifier.
|
||
* acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
|
||
* configure.in (GCC_FUNC_PRINTF_PTR): Use it.
|
||
* configure, config.in: Rebuild.
|
||
|
||
Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* function.c (assign_parms): New variable named_arg, with value
|
||
depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
|
||
|
||
Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
|
||
|
||
* mips/t-r3900: New - same as t-ecoff but eliminate
|
||
multilibs: mips1 and mips3.
|
||
* configure.in (tx39*): Use new mips/t-r3900.
|
||
* configure: Rebuild.
|
||
* mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
|
||
|
||
1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
|
||
|
||
* dwarf2out.c: Add old_args_size.
|
||
(dwarf2out_args_size): Use it.
|
||
(dwarf2out_begin_prologue): Initialize it.
|
||
(dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
|
||
pushed args until we see a call.
|
||
* final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
|
||
before outputting them.
|
||
|
||
1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
|
||
|
||
* cplus-dem.c (demangle_template_template_parm): New function.
|
||
(demangle_template): Handle template template parameters.
|
||
|
||
1998-02-02 Mark Mitchell <mmitchell@usa.net>
|
||
|
||
* calls.c (expand_call): Don't confuse member functions named
|
||
realloc, setjmp, and so forth with the standard library
|
||
functions of the same names.
|
||
|
||
Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* stmt.c (expand_asm_operands): Correctly identify asm statements
|
||
no output operands.
|
||
|
||
Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* c-common.c (decl_attributes): Flag unrecognized attribute
|
||
functions as warnings instead of as errors.
|
||
|
||
1998-02-05 Marc Lehmann <pcg@goof.com>
|
||
|
||
* integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
|
||
when -Os is specified.
|
||
* toplev.c (main): Don't disable flag_inline_functions anymore when
|
||
-Os is in effect.
|
||
|
||
Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* regmove.c: Update.
|
||
* flags.h (flag_regmove): Declare.
|
||
* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
|
||
* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
|
||
Moved into regmove; changed caller.
|
||
* toplev.c (rest_of_compilation): Call regmove_optimize also for
|
||
expensive_optimizations.
|
||
|
||
Thu Feb 5 13:38:42 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
Undo this change (the problem was actually in reload):
|
||
Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (movqi_i+1): New peephole.
|
||
|
||
Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* jump.c (jump_optimize): Lose calls to modified_in_p they are
|
||
not needed anymore due to changes elsewhere in jump.c.
|
||
|
||
* jump.c (jump_optimize): Fix first arg to modified_in_p in
|
||
previous change.
|
||
|
||
Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* expr.c (expand_builtin_setjmp): Accept two new arguments for
|
||
the labels to branch to on first and subsequent executions. Don't
|
||
play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
|
||
and provide it with the jmp_buf. Use only one of
|
||
`builtin_setjmp_receiver' or `nonlocal_goto_receiver',
|
||
and provide the former with the target label.
|
||
(expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
|
||
(expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
|
||
(expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
|
||
insn to replace all of the normal nonlocal_goto code. Don't play
|
||
with __dummy. Correct arguments to nonlocal_goto.
|
||
* expr.h (expand_builtin_setjmp): Update prototype.
|
||
* except.c (start_dynamic_handler): When using builtin_setjmp,
|
||
generate more accurate flow information.
|
||
|
||
* alpha.md (nonlocal_goto_receiver_osf): Delete.
|
||
(nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
|
||
(builtin_longjmp, builtin_setjmp_receiver): New.
|
||
* sparc.md (update_return): Disambiguate unspec number.
|
||
(nonlocal_goto): Rearrange arguments to match caller in except.c.
|
||
(builtin_setjmp_setup): Rename from setjmp. Match and ignore the
|
||
jmp_buf operand.
|
||
* mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
|
||
(builtin_setjmp_setup*, builtin_longjmp): New.
|
||
|
||
Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
|
||
|
||
* mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
|
||
|
||
Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* vmsconfig.com: Remove bytecode references.
|
||
|
||
1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
|
||
-fno-sjlj-exceptions works for a target that defines
|
||
DWARF2_UNWIND_INFO as zero.
|
||
|
||
* regmove.c (fixup_match_1): Undo last change which removed some
|
||
"useless" code, and add a comment explaining this.
|
||
|
||
Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
|
||
|
||
* mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
|
||
to TARGET_LONG64.
|
||
|
||
Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
|
||
|
||
* makefile.vms: Remove bytecode references.
|
||
Create genrtl files.
|
||
|
||
Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
|
||
|
||
* jump.c (jump_optimize): Allow conditional loading of floating point
|
||
constants and constants from memory. Reinstalled modified_in_p tests.
|
||
|
||
Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* loop.c (get_condition): Handle sign-extended constants.
|
||
|
||
Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
|
||
|
||
* expr.c (emit_push_insn): Add code to use movstrti if present.
|
||
|
||
* expr.c (emit_push_insn): Use same max-move-amount for movstrhi
|
||
and movstrqi as in emit_block_move ().
|
||
|
||
Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
|
||
|
||
* config/m68k/x-next: Remove /NextDeveloper/Headers from
|
||
the directories to fixinclude - /usr/include is a link
|
||
to it and hence its contents are fixed by default.
|
||
|
||
Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION.
|
||
|
||
Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
|
||
|
||
* cccp.c (main): Predefine __VMS_VER on VMS.
|
||
|
||
Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* expr.c (get_inner_reference): Use sbitsizetype for type sizes.
|
||
* fold-const.c (size_int): Replace with
|
||
(size_int_wide).
|
||
(make_bit_field_ref): Use bitsize_int for bit position.
|
||
* stor-layout.c (sizetype): Delete.
|
||
(sizetype_tab, sbitsizetype, ubitsizetype): Declare.
|
||
(layout_record, layout_union, layout_type):
|
||
Use bitsize_int for bit size.
|
||
(set_sizetype): New function.
|
||
(make_signed_type, make_unsigned_type): Use it.
|
||
* c-decl.c (init_decl_processing): Likewise.
|
||
* tree.h (size_int): Don't delcare, #define.
|
||
(size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
|
||
(set_sizetype): Declare.
|
||
(bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
|
||
Define.
|
||
* c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
|
||
Convert result to sizetype.
|
||
(really_start_incremental_init, push_init_level):
|
||
Set type of constructor_bit_index to sbitsizetype.
|
||
(push_init_level): Use unsigned arithmetic to determine padding.
|
||
(output_init_element): Likewise.
|
||
|
||
Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c (simplify_shift_const): Fix typo in last change.
|
||
|
||
Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
|
||
|
||
* combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
|
||
is (truncate (lshiftrt)).
|
||
|
||
Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
|
||
Make sure result winds up in TGT.
|
||
(alpha_expand_unaligned_store): Use expand_binop properly. Allow
|
||
src to be other than DImode.
|
||
(alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
|
||
(alpha_expand_unaligned_store_words): Likewise.
|
||
(alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
|
||
that source and destination are separately optimized for alignment.
|
||
(alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
|
||
|
||
Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.md (adddi3_internal_2): Be consistent with adddi3 expander
|
||
with handling of -32768.
|
||
|
||
Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
|
||
shell variable argument instead of only hard coded functions.
|
||
(GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
|
||
|
||
* configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
|
||
call. Collapse multiple calls to GCC_NEED_DECLARATION into one
|
||
call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
|
||
declarations for bcopy, bcmp and bzero.
|
||
|
||
* acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
|
||
|
||
* gansidecl.h: If we have bcopy but don't declare it, then do so.
|
||
Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
|
||
bzero, index and rindex if they aren't already present.
|
||
|
||
Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* toplev.c (close_dump_file): Wrap function prototype for
|
||
argument "func" in PROTO.
|
||
(dump_rtl): Likewise.
|
||
|
||
Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
|
||
|
||
* sparc.c (sparc_override_options): Make v8plus and ultrasparc set
|
||
MASK_V8PLUS.
|
||
(output_function_epilogue): Omit epilogue if nothing drops through.
|
||
(output_move_double): Suppress int ldd usage on ultrasparc and v9.
|
||
(registers_ok_for_ldd_peep): Likewise.
|
||
(print_operand): Suppress b,a on ultrasparc. Let Y accept a constant.
|
||
(ultrasparc_adjust_cost): New function.
|
||
(sparc_issue_rate): New function.
|
||
* sparc.h (MASK_VIS, TARGET_VIS): New.
|
||
(MASK_V8PLUS, TARGET_V8PLUS): New.
|
||
(TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
|
||
(TARGET_SWITCHES): Add vis and v8plus.
|
||
(REG_CLASS_FROM_LETTER): Accept d and b for VIS.
|
||
(REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
|
||
(RTX_COSTS): Use TARGET_HARD_MUL.
|
||
(ADJUST_COST): Call ultrasparc_adjust_cost.
|
||
(ISSUE_RATE): New.
|
||
* sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
|
||
of load & fp appropriately.
|
||
(supersparc function units): Adjust for Haifa.
|
||
(ultrasparc function units): Likewise.
|
||
(get_pc_via_rdpc): All v9, not just arch64.
|
||
(movdi_v8plus, movdi_v8plus+1): New.
|
||
(adddi3_sp32+1): New.
|
||
(subdi3_sp32+1): New.
|
||
(movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
|
||
(addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
|
||
(and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
|
||
(xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
|
||
(one_cmpldi2_sp32, one_cmplsi2): Likewise.
|
||
(ldd peepholes): Suppress for v9.
|
||
(return_adddi): Kill redundant test. Arg1 may be arith_operand.
|
||
(return_subsi): Revmove.
|
||
|
||
Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
|
||
|
||
* mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
|
||
save/restore MEM rtl.
|
||
|
||
Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Check for declaration of abort.
|
||
* acconfig.h: Corresponding changes.
|
||
* toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
|
||
be declared.
|
||
|
||
Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
|
||
uses it.
|
||
|
||
Thu Jan 29 09:27:56 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* configure.in: Check for atoq and atoll.
|
||
* rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
|
||
proper routine for converting ascii into long long values.
|
||
|
||
Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
|
||
|
||
* cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
|
||
|
||
* vmsconfig.com: Remove bytecode references.
|
||
|
||
* alpha/vms.h (PREFIX): Define.
|
||
|
||
* alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
|
||
|
||
* am-alpha.h: Don't include alloca for OPEN_VMS.
|
||
|
||
* alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
|
||
|
||
* alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
|
||
(GCC_INCLUDE_DIR): Define.
|
||
|
||
* make-cc.com, make-cccp.com, make-cc1.com: Removed.
|
||
* makefile.vms: New file.
|
||
|
||
* alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
|
||
|
||
* alpha.c (output_prolog): Output '.name' directive
|
||
for minimal traceback information.
|
||
|
||
* alpha.c (output_prolog): Don't prepend entry point symbols
|
||
with '$' on OPEN_VMS.
|
||
|
||
Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtl.c (read_rtx): Use atol/atoq based upon disposition of
|
||
HOST_WIDE_INT.
|
||
|
||
* genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
|
||
as needed.
|
||
* genemit.c (gen_exp): Likewise.
|
||
* genpeep.c (match_rtx): Likewise.
|
||
* genrecog.c (write_tree_1): Likewise.
|
||
|
||
* c-lex.c (yyprint): Use proper format string based upon
|
||
disposition of HOST_BITS_PER_WIDE_INT.
|
||
(yylex): Put casts in right place for args to build_int_2.
|
||
|
||
Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* combine.c: Fix typos in Jan27 changes.
|
||
|
||
Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
|
||
|
||
* i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
|
||
(LINK_SPEC): Likewise.
|
||
(STARTFILE_SPEC): Likewise.
|
||
|
||
1998-01-28 Mike Stump <mrs@wrs.com>
|
||
|
||
* rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
|
||
reload completes.
|
||
* genattrtab.c (reload_completed): Define.
|
||
|
||
* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
|
||
comments.
|
||
|
||
Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
|
||
SUBREG_REG if the word count is unchanged, also in the input reload
|
||
case. Disable non-applicable sanity checks.
|
||
|
||
Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
|
||
|
||
Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
|
||
|
||
Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
|
||
is a TREE_VEC before trying to use it for baseclasses.
|
||
(Chill uses the same field for a different purpose.)
|
||
|
||
* toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
|
||
|
||
Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
|
||
|
||
* config.sub: More accurate determination of HP processor types.
|
||
|
||
Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
|
||
prototype for `handle_sysv_pragma', and make it static. Add
|
||
parentheses around assignment used as truth value.
|
||
|
||
* combine.c (combine_instructions): Protect variable `prev' with
|
||
macro HAVE_cc0.
|
||
(can_combine_p): Protect variable `link' with AUTO_INC_DEC.
|
||
(extract_left_shift): Add parentheses around operand of &.
|
||
(merge_outer_ops): Avoid an empty body in an else-statement.
|
||
(gen_rtx_combine): Remove unused variable `i'.
|
||
|
||
* sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
|
||
function monstartup `void'. Likewise for internal_mcount. Add
|
||
`static void' prototype for moncontrol. Reconcile sprintf format
|
||
vs. args.
|
||
|
||
* sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
|
||
Make return type of function_arg_slotno explicitly `int'.
|
||
(reg_unused_after): Add parentheses around assignment used as
|
||
truth value.
|
||
(save_regs): Add explicit braces to avoid ambiguous `else'.
|
||
(function_arg_slotno): Add parentheses around && within ||.
|
||
(function_arg_pass_by_reference): Likewise.
|
||
(sparc_flat_output_function_prologue): Reconcile fprintf format
|
||
vs. args.
|
||
|
||
* svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
|
||
assignment used as truth value.
|
||
|
||
* cplus-dem.c: Include <stdlib.h>.
|
||
(demangle_signature): Avoid an empty body in an else-statement.
|
||
(do_type): Remove unused variable `lvl'.
|
||
|
||
* cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
|
||
Include <string.h>/<strings.h>.
|
||
(cpp_lex): Remove unused variable `namelen'.
|
||
(cpp_lex): Explicitly declare `num_chars' as an int.
|
||
|
||
* cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
|
||
<unistd.h> instead. Explicitly declare is_system_include
|
||
returning int.
|
||
(make_assertion): Remove unused variable `kt'.
|
||
(cpp_expand_to_buffer): Hide variable `obuf'.
|
||
(output_line_command): Remove unused variables, `line_end',
|
||
`line_cmd_buf' and `len'.
|
||
(macarg): Remove unused variable `arg_start'.
|
||
(special_symbol): Remove unused variable `i'. Add parentheses
|
||
around assignment used as truth value.
|
||
(do_include): Remove unused variables `pcfname' and `retried',
|
||
hide `pcf' and `pcfbuflimit'.
|
||
(do_line): Remove unused variable `i'.
|
||
(finclude): Hide variable `missing_newline'.
|
||
(cpp_handle_options): Remove unused variable `j'.
|
||
(read_token_list): Remove unused variable `eofp'.
|
||
(cpp_error_with_line): Remove unused variable `i'.
|
||
(cpp_warning_with_line): Likewise.
|
||
(cpp_pedwarn_with_line): Explicitly declare `column' as int.
|
||
(cpp_error_from_errno): Remove unused variable `i'.
|
||
|
||
* cse.c (invalidate): Add parentheses around assignment used as
|
||
truth value.
|
||
(find_best_addr): Move declaration of variable `our_cost' inside
|
||
the conditional macro where its used.
|
||
(fold_rtx): Avoid an empty body in an if-statement.
|
||
(cse_insn): Wrap variables `this_insn_cc0_mode' and
|
||
`this_insn_cc0' in macro HAVE_cc0.
|
||
|
||
* dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
|
||
(ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
|
||
(output_uleb128): Likewise.
|
||
(output_sleb128): Likewise.
|
||
(output_cfi): Likewise.
|
||
(output_call_frame_info): Remove unused variables `j', `fde_size'
|
||
and `fde_pad'.
|
||
(comp_unit_has_inlines): Hide declaration as per rest of file.
|
||
(size_of_line_prolog): Correct typo in prototype.
|
||
(add_arange): Likewise.
|
||
(output_aranges): Likewise.
|
||
(add_name_and_src_coords_attributes): Likewise.
|
||
(gen_array_type_die): Likewise.
|
||
(gen_inlined_subroutine_die): Likewise.
|
||
(equate_decl_number_to_die): Remove unused variable `i'.
|
||
(print_die): Reconcile format vs. args in fprintf's.
|
||
(print_dwarf_line_table): Likewise.
|
||
(output_die): Likewise.
|
||
(output_line_info): Likewise.
|
||
(add_subscript_info): Avoid an empty body in an else-statement.
|
||
(gen_subprogram_die): Remove unused variable `fp_loc'.
|
||
|
||
* dwarfout.c: Explicitly declare `next_pubname_number' as int.
|
||
Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
|
||
macro. Protect `src_coords_attribute' prototype with
|
||
DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
|
||
prototype as in the rest of the file. Likewise for
|
||
`output_pointer_type_die' and `output_reference_type_die'. Remove
|
||
prototype for `type_of_for_scope'.
|
||
(output_unsigned_leb128): Reconcile format vs. args in fprintf.
|
||
(type_attribute): Add explicit braces to avoid ambiguous `else'.
|
||
|
||
* final.c: Include <stdlib.h> and <string.h>/<strings.h>.
|
||
(shorten_branches): Protect declaration of tmp_length with
|
||
SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
|
||
(profile_function): Protect declaration of `sval' and `cxt'
|
||
variables with appropriate macros.
|
||
(final_scan_insn): Likewise for `note' variable. Add explicit
|
||
braces to avoid empty body in an if-statement.
|
||
(output_asm_insn): Move variable `i' inside macro conditional
|
||
where it is used. Add parentheses around assignment used as truth
|
||
value.
|
||
(asm_fprintf): Likewise, likewise.
|
||
|
||
* fix-header.c (main): Remove unused variable `done'. Protect
|
||
declaration of `i' with FIXPROTO_IGNORE_LIST.
|
||
|
||
* pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
|
||
|
||
* print-rtl.c (print_inline_rtx): Explicitly declare the parameter
|
||
`ind'.
|
||
|
||
* profile.c: Include <string.h>/<strings.h>.
|
||
(instrument_arcs): Remove unused variables `note', `inverted',
|
||
`zero' and `neg_one'.
|
||
(branch_prob): Avoid empty body in an if-statement.
|
||
|
||
* regclass.c: Include <stdlib.h>.
|
||
(reg_alternate_class): Explicitly declare parameter `regno'.
|
||
|
||
* regmove.c (regmove_optimize): Remove unused variable `p'. Add
|
||
parentheses around assignment used as truth value.
|
||
(find_matches): Remove unused variables `output_operand' and
|
||
`matching_operand'.
|
||
(fixup_match_1): Remove statement with no effect: "if (0) ;".
|
||
|
||
* scan.c (sstring_append): Explicitly declare `count' as int.
|
||
(scan_string): Explicitly declare parameter `init' as int.
|
||
|
||
* sched.c: Include <stdlib.h>.
|
||
(BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
|
||
(rank_for_schedule): Add parentheses around assignment used as
|
||
truth value.
|
||
(schedule_block): Likewise.
|
||
(regno_use_in): Likewise.
|
||
(schedule_insns): Remove unused variable `i'.
|
||
|
||
* toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
|
||
(v_message_with_decl): Remove unused variable `n'.
|
||
(botch): Explicitly declare parameter `s' as char *.
|
||
(main): Add parentheses around assignment used as truth value.
|
||
|
||
* tree.c (make_node): Protect the variable `kind' with the
|
||
GATHER_STATISTICS macro.
|
||
(real_value_from_int_cst): Move variable `e' inside conditional
|
||
macro area where it is used.
|
||
(tree_last): Add parentheses around assignment used as truth value.
|
||
(build1): Protect the variable `kind' with the GATHER_STATISTICS
|
||
macro.
|
||
(print_obstack_statistics): Reconcile format vs. args in fprintf.
|
||
Protect variables `i', `total_nodes', and `total_bytes' with the
|
||
GATHER_STATISTICS macro.
|
||
|
||
Tue Jan 27 23:01:55 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
|
||
some comments regarding use of dead_or_set_p.
|
||
|
||
Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
|
||
|
||
* fixincludes: Tweak fix for struct exception in math.h
|
||
|
||
Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
|
||
|
||
* mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
|
||
Change mode of registers used to add/sub from
|
||
hard_frame_pointer_rtx from word_mode to Pmode.
|
||
|
||
Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
|
||
asm_output_aligned_bss() instead of asm_output_bss().
|
||
|
||
* toplev.c (rest_of_compilation): Replace references to
|
||
stack_reg_dump_file and dbr_sched_dump_file with references to
|
||
rtl_dump_file.
|
||
|
||
Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
||
|
||
* tlink.c (scan_linker_output): Call fclose() for opened files.
|
||
|
||
Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (output_epilog [!VMS]): Don't tag global functions if
|
||
compiling with -fpic -- we want to be able to override symbols
|
||
properly.
|
||
(alpha_expand_block_move): Fix thinko in last change.
|
||
|
||
* alpha.h (ASM_OUTPUT_MI_THUNK): New define.
|
||
* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
|
||
* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
|
||
|
||
Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (abssf, absdf): Revert last change.
|
||
|
||
Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
|
||
* mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
|
||
|
||
Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (gen_lowpart_common): Handle more case where converting
|
||
a CONST_INT into SFmode.
|
||
|
||
Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
|
||
|
||
* flags.h: New flag (optimize_size).
|
||
* toplev.c (main): Parse -Os option and set optimize_space
|
||
accordingly.
|
||
* gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
|
||
__OPTIMIZE_SIZE__ when compiling with -Os.
|
||
* config/dsp16xx/dsp16xx.h, config/i386/i386.h,
|
||
config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
|
||
config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
|
||
to macro.
|
||
* config/i386/i386.c (optimization_options): Accept new SIZE argument.
|
||
|
||
Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
|
||
|
||
* libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
|
||
stuff only if MCT_TEXT is #define'd.
|
||
|
||
Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
|
||
|
||
* configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
|
||
configurations.
|
||
|
||
Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
|
||
|
||
* toplev.c: Add -dM command line option to dump RTL after the
|
||
machine dependent reorganization pass, if there is one.
|
||
Reorganize RTL dump code, so that only one file handle is
|
||
needed.
|
||
|
||
Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
||
|
||
* except.c (check_exception_handler_labels): Disable warning when
|
||
flag_syntax_only.
|
||
|
||
Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
|
||
|
||
Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* c-decl.c (grokdeclarator): Get parameter tags from
|
||
last_function_parm_tags.
|
||
* dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
|
||
traversing the parameter types.
|
||
(output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
|
||
|
||
Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
|
||
the default case.
|
||
(get_shift_alg): Fix typo.
|
||
|
||
Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
|
||
|
||
Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* toplev.c (get_run_time): Make sure each case gets its variables.
|
||
|
||
Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in (build_xm_file): Add auto-config.h if host=build.
|
||
(host_xm_file_list): Don't add $(srcdir) to auto-config.h.
|
||
(build_xm_file_list): Likewise.
|
||
* configure: Rebuild.
|
||
|
||
Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
|
||
|
||
* recog.c (validate_replace_rtx_1): Only perform substitutions
|
||
of arguments to commutative and comparison operators once.
|
||
|
||
Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* sparc.c (output_cbranch): Add default case in
|
||
enumeration switch.
|
||
|
||
* reorg.c (insn_sets_resource_p): Correct typo in prototype.
|
||
(emit_delay_sequence): Eliminate unused parameter, all callers
|
||
changed.
|
||
(fill_simple_delay_slots): Likewise.
|
||
(fill_slots_from_thread): Likewise.
|
||
(fill_eager_delay_slots): Likewise.
|
||
(mark_referenced_resources): Add default case in enumeration switch.
|
||
(mark_set_resources): Likewise.
|
||
(rare_destination): Likewise.
|
||
(mostly_true_jump): Likewise.
|
||
(find_dead_or_set_registers): Likewise.
|
||
(redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
|
||
(update_reg_unused_notes): Remove unused variable `p'.
|
||
(mark_target_live_regs): Remove unused variables `next' and
|
||
`jump_count'.
|
||
(fill_simple_delay_slots): Remove unused variable `j'.
|
||
(fill_slots_from_thread): Add parentheses around assignment used
|
||
as truth value.
|
||
(dbr_schedule): Likewise.
|
||
|
||
* objc/Make-lang.in (objc.stage1): Depend on stage1-start.
|
||
(objc.stage2, objc.stage3, objc.stage4): Likewise.
|
||
|
||
Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
|
||
|
||
* cse.c (simplify_ternary_operation): Don't try to simplify
|
||
IF_THEN_ELSE expressions (created by combine) that don't use
|
||
relational operators.
|
||
|
||
Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
|
||
simplifications.
|
||
|
||
* crtstuff.c (init_dummy): Keep the epilogue in the init
|
||
section for non-ELF systems.
|
||
|
||
Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
|
||
* sh.md (movqi_i+1): New peephole.
|
||
|
||
Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* Makefile.in: Remove remaining bytecode stuff.
|
||
* emit-rtl.c, expr.c: Likewise.
|
||
|
||
Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
|
||
|
||
* toplev.c (lang_options): Add unknown-pragma options.
|
||
|
||
Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
|
||
|
||
* dwarfout.c (byte_size_attribute): Simplify and fix - don't need
|
||
special (and incomplete) handling for Chill arrays.
|
||
|
||
Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
|
||
|
||
* toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
|
||
to get clock rate.
|
||
|
||
Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
|
||
|
||
* mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
|
||
|
||
1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
|
||
|
||
* mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
|
||
.frame directive instead of FRAME_POINTER_REGNUM.
|
||
|
||
Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
|
||
|
||
* m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
|
||
(MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
|
||
* m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
|
||
(CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
|
||
(CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
|
||
* m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
|
||
(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
|
||
(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
|
||
mcpu32 or m5200.
|
||
* longlong.h: Replace __mc68332__ with __mcpu32__.
|
||
|
||
Thu Jan 22 19:55:40 1998 Jeff Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
|
||
to require the SUBREG mode to be smaller than the SUBREG_REG mode.
|
||
* reload1.c (eliminate_regs): Likewise.
|
||
|
||
Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regmove.c (find_matches): Initialize matches->earlyclobber too.
|
||
|
||
Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.md (abssf2, absdf2): Disable in IEEE mode.
|
||
(negsf2, negdf2): Use proper subtract in IEEE mode.
|
||
|
||
Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* Makefile.in: Remove more bytecode stuff.
|
||
* expr.c, stmt.c, config/msdos/top.sed: Likewise.
|
||
* vax/xm-vms.h, winnt/config-nt.sed: Likewise.
|
||
* f/install.texi, objc/Make-lang.in: Likewise.
|
||
|
||
* Makefile.in: Remove all bytecode support.
|
||
(OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
|
||
* emit-rtl.c: Remove all bytecode support.
|
||
* expr.c, expr.h function.c, integrate.c: Likewise.
|
||
* output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
|
||
* tree.h, varasm.c: Likewise.
|
||
* config/m68k/m68k.h: Likewise.
|
||
* bi-*, bc-*, bytecode*: Delete bytecode related files.
|
||
* modemap.def: Likewise.
|
||
|
||
Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
|
||
|
||
* mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
|
||
umodsi3,umoddi3): Handle mips16 div/mod by a constant.
|
||
|
||
Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* i386.md (push): Prohibit symbolic constants if flag_pic.
|
||
(movsi+1): Likewise for move to non-register.
|
||
|
||
Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
|
||
(print_operand): Handle 0xffffffff on 32 bit host.
|
||
|
||
* configure.in (thread_file): Rename uses before main loop to
|
||
target_thread_file. Initialize to empty in main loop. Set thread_file
|
||
to target_thread_file after main loop if not set.
|
||
* configure: Rebuild.
|
||
|
||
* genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
|
||
(add_values_to_cover): Revert last change (which had no ChangeLog
|
||
entry).
|
||
(simplify_with_current_value_aux): Handle CONST_INT.
|
||
|
||
Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* unprotoize.c: Define UNPROTOIZE first, to actually take effect.
|
||
|
||
Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in: Add cpp stringify test.
|
||
* acconfig.h (HAVE_CPP_STRINGIFY): New tag.
|
||
* gengenrtl.c: Use it.
|
||
* configure, config.in: Rebuild.
|
||
|
||
Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
|
||
|
||
Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in: Find declaration for sbrk.
|
||
* acconfig.h (NEED_DECLARATION_SBRK): New tag.
|
||
* config.in, configure: Rebuild.
|
||
* mips-tfile.c: Properly protect declaration of sbrk and free.
|
||
* toplev.c: Properly protect declaration of sbrk.
|
||
|
||
Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
|
||
|
||
Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
|
||
|
||
Sun Jan 18 00:57:35 1998 Mike Stump <mrs@wrs.com>
|
||
|
||
* configure.in (i960-wrs-vxworks): Default to latest vxworks release.
|
||
|
||
Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
|
||
|
||
* combine.c (force_to_mode, nonzero_bits): Correctly optimize
|
||
constant offset computations from objects with known alignment in
|
||
the presence of STACK_BIAS.
|
||
|
||
* varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
|
||
necessary.
|
||
(const_hash): Hash val is unsigned long.
|
||
(SYMHASH): Likewise.
|
||
|
||
* tree.c (TYPE_HASH): Type of hash val is unsigned long.
|
||
|
||
* print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
|
||
char pointer, not HOST_WIDE_INT.
|
||
(print_node): Likewise. Also hash is unsigned long not
|
||
HOST_WIDE_INT.
|
||
|
||
* cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
|
||
|
||
* explow.c (optimize_save_area_alloca): New function for targets
|
||
where SETJMP_VIA_SAVE_AREA is true.
|
||
(allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
|
||
compute the amount of stack space needed should we find later that
|
||
setjmp is never called by this function, stuff rtl for this inside
|
||
a REG_NOTE of the final SET of stack_pointer_rtx.
|
||
* toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
|
||
current_function_calls_alloca, call optimize_save_area_alloca.
|
||
|
||
Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
|
||
|
||
* i386.md: Remove redundant integer push patterns.
|
||
Don't bother checking for TARGET_PUSH_MEMORY when
|
||
pushing constants or registers.
|
||
|
||
Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
|
||
|
||
* pexecute.c (pexecute): New function for mingw32. Supports pipes.
|
||
(pwait): New function for mingw32.
|
||
|
||
* gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
|
||
pipe support is broken for now.
|
||
|
||
1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
|
||
|
||
* emit_rtl.c (init_emit_once): Ensure that potential aliasing
|
||
between frame_pointer_rtx, hard_frame_pointer_rtx, and
|
||
arg_pointer_rtx is respected in initialization.
|
||
(init_emit_once): Use gen_rtx_raw_REG() to create
|
||
return_address_pointer_rtx.
|
||
|
||
* reorg.c: #include "expr.h" for rtx prototypes.
|
||
* Makefile.in (reorg.o): Depend on expr.h
|
||
|
||
Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
|
||
|
||
* Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
|
||
local_prefix to sub-make invocations.
|
||
|
||
Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
|
||
|
||
* objc-parse.c: Recognize protocol qualifiers in class definitions.
|
||
|
||
Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtl.h: Fix typos.
|
||
|
||
* acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
|
||
* configure.in: Check for atol.
|
||
* rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
|
||
|
||
* rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
|
||
|
||
* loop.c (find_and_verify_loops): When attempting to move insns from
|
||
inside the loop outside the loop, create a BARRIER if no suitable
|
||
one was found.
|
||
|
||
* jump.c (jump_optimize): Remove Dec 17, 1997 chance in
|
||
favor of an equivalent change from gcc-2.8.
|
||
|
||
* i386/x-sco5 (CC): Remove trailing whitespace.
|
||
|
||
Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gengenrtl.c (type_from_format): De-ANSIfy function signature.
|
||
(accessor_from_format): Likewise.
|
||
(xmalloc): New function for use when linking with alloca.o.
|
||
|
||
Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* frame.c (find_fde): Correct FDE's upper bound.
|
||
|
||
Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
|
||
|
||
Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* calls.c (expand_call): Move #ifdef code out of macro argument
|
||
lists.
|
||
(emit_library_call, emit_library_call_value): Likewise.
|
||
|
||
Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
|
||
|
||
Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* version.c: Bump for snapshot.
|
||
|
||
Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
|
||
change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
|
||
* caller-save.c, calls.c, combine.c, cse.c: Likewise.
|
||
* dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
|
||
* final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
|
||
* halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
|
||
* profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
|
||
* reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
|
||
* unroll.c, varasm.c: Likewise.
|
||
* config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
|
||
|
||
Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
|
||
|
||
* mips.h: Fix some type-o's from a previous change.
|
||
|
||
Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* loop.c (check_dbra_loop): Make sure initial value is a
|
||
CONST_INT before trying to normalize it.
|
||
|
||
Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
|
||
|
||
* sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
|
||
|
||
Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
|
||
|
||
* cppexp.c: Include gansidecl.h
|
||
|
||
Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* svr4.h (LINK_SPEC): Never specify -h.
|
||
* ptx4.h (LINK_SPEC): Likewise.
|
||
* rs6000/sysv4.h (LINK_SPEC): Likewise.
|
||
* sparc/sol2.h (LINK_SPEC): Likewise.
|
||
|
||
Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
|
||
|
||
* c-typeck.c (comptypes): Exit early on NULL input.
|
||
|
||
* haifa-sched.c (schedule_insns): Correctly remove inter-block
|
||
dependencies after reload.
|
||
|
||
Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
|
||
|
||
* rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
|
||
|
||
Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
|
||
|
||
* alpha/vms.h (DIR_SEPARATOR): Define.
|
||
|
||
Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
||
|
||
* Makefile.in (stamp-proto): Remove.
|
||
(protoize.o, unprotoize.o): Straightforward compile.
|
||
* unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
|
||
|
||
Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
|
||
off the trailing @[NUM] added by ENCODE_SECTION_INFO.
|
||
|
||
Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
|
||
* i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
|
||
* sparc/netbsd.h, vax/netbsd.h: Likewise.
|
||
|
||
Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
|
||
|
||
* i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
|
||
|
||
Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* configure.in (target_cpu_default, target_cpu_default2): Use double
|
||
quotes around them when testing their value.
|
||
* configure: Rebuilt.
|
||
|
||
Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
|
||
|
||
* gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
|
||
to allocate rtx.
|
||
(gendef): Call obstack_alloc_rtx.
|
||
|
||
Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
|
||
|
||
* configure.in (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
|
||
for now.
|
||
|
||
Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
|
||
|
||
* i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
|
||
of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
|
||
(STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
|
||
|
||
Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* mips.md (return_internal): Change mode from SImode to VOIDmode.
|
||
|
||
Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
|
||
|
||
* i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
|
||
"-static".
|
||
|
||
Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
|
||
|
||
* i386.md (movsicc_1, movhicc_1): For alternate 3 set the opcode
|
||
suffix from operand 3.
|
||
|
||
Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regmove.c: New implementation of regmove pass.
|
||
* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
|
||
decls, make them have external linkage. Return a value from
|
||
optimize_reg_copy_1.
|
||
* reload.h (count_occurrences): Add decl.
|
||
* reload1.c (count_occurrences): Delete decl, make it have external
|
||
linkage.
|
||
* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
|
||
|
||
Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
|
||
if it is not defined.
|
||
|
||
Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
|
||
* emit-rtl.c (gen_rtx): Move special code to ...
|
||
(gen_rtx_CONST_INT): New function.
|
||
(gen_rtx_REG): New function.
|
||
(*): Update all calls to gen_rtx.
|
||
* genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
|
||
* rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
|
||
(GEN_INT): Call gen_rtx_CONST_INT.
|
||
* gengenrtl.c: New file.
|
||
|
||
Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
|
||
|
||
* alias.c (*_dependence): Call base_alias_check before canon_rtx.
|
||
(base_alias_check): If no base found for address call canon_rtx and
|
||
try again.
|
||
|
||
Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* mips.c (mips_expand_prologue): Handle large frame with no outgoing
|
||
arguments for mips16.
|
||
(mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
|
||
Don't lose if tsize is zero after handling large stack for mips16.
|
||
* mips.md (return): For trivial return, return address is in $31.
|
||
|
||
Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
|
||
|
||
* mips/mips16.S: Various changes to make it work with -msingle-float
|
||
and -EL.
|
||
|
||
Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
|
||
Ian Lance Taylor <ian@cygnus.com>
|
||
Jeff Law <law@cygnus.com>
|
||
|
||
* mips.c, mips.h, mips.md: First cut at merging in mips16
|
||
support. Major modifications throughout all three files.
|
||
|
||
Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
|
||
|
||
* configure.in: Make gthr-default.h a forwarding header instead of
|
||
a symlink.
|
||
|
||
Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* gcov-io.h: Include sys/types.h to ensure we get size_t.
|
||
|
||
* pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
|
||
|
||
Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
|
||
Jeffrey A Law (law@cygnus.com)
|
||
|
||
* crtstuff.c (__frame_dummy): New function for irix6.
|
||
(__do_global_ctors): Call __frame_dummy for irix6.
|
||
* iris6.h (LINK_SPEC): Hide __frame_dummy too.
|
||
|
||
Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
|
||
|
||
* alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
|
||
|
||
Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* c-decl.c (init_decl_processing): Provide proper fallback symbol
|
||
for __builtin_memset.
|
||
* expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
|
||
not INTEGER_CST. Assert arg 3 is a constant.
|
||
|
||
* alpha.c (mode_width_operand): Accept 64-bit modes.
|
||
(mode_mask_operand): Likewise.
|
||
(print_operand): Likewise for 'M' and 'U' codes.
|
||
(alpha_expand_unaligned_load): New function.
|
||
(alpha_expand_unaligned_store): Likewise.
|
||
(alpha_expand_unaligned_load_words): Likewise.
|
||
(alpha_expand_unaligned_store_words): Likewise.
|
||
(alpha_expand_block_move): Likewise.
|
||
(alpha_expand_block_clear): Likewise.
|
||
* alpha.h (MOVE_RATIO): New define.
|
||
* alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
|
||
(insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
|
||
|
||
* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
|
||
(CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
|
||
|
||
Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
|
||
|
||
* configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
|
||
* configure: Update.
|
||
|
||
Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* emit-rtl.c (operand_subword): Correctly handle extracting a word
|
||
from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
|
||
|
||
* mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
|
||
for first argument.
|
||
|
||
|
||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|