* config/sparc/sparc.c (output_scc_insn): Enclose || con-
ditions 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 CON-
ST_INTs.
Mon Jul 13 23:57:21 1998 Kamil Iskra <iskra@stu-
dent.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 includ-
ing 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, os-
frose.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.infor-
matik.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
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 pass-
ing 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 switch-
es.
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 condi-
tional 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. (de-
mangle_template): Remove is_java_array. (do_type): Re-
move DMGL_JAVA stuff. (long_options): Remove "java".
(main): Remove 'j' option.
Mon Jul 13 10:19:00 1998 Jeffrey A Law (law@cygnus.com)
* 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.cobalt-
micro.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 <ja-
son@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, forget-
ting_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. (inter-
nal_cplus_demangle): Handle volatile-qualified member
functions. (mop_up): Delete the previous_argu-
ment 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. (deman-
gle_qualified): Save qualified types for later back-ref-
erences. Handle constructors and destructors for template
types correctly. (do_type): Tidy. Use
SCOPE_STRING. Pass extra argument to demangle_template.
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.cobalt-
micro.com>
* jump.c (jump_optimize): If after_regscan and our trans-
formations 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.infor-
matik.uni-dortmund.de>
* config/m68k/m68k.c (const_uint32_operand): Recognize
CONSTANT_P_RTX. (const_sint32_operand): Like-
wise.
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-
and ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN ap-
propriately. * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN):
New tag. * i386/gas.h (ASM_OUTPUT_ALIGN): If the assem-
bler 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_OP-
ERANDS.
* i386/cygwin32.h (STDIO_PROTO): Fix typo. *
m32r.h (STDIO_PROTO): Fix typo.
* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses cre-
ated 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. Re-
al bug was elsewhere.
* cse.c (count_reg_usage): Count registers used in ad-
dresses 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): De-
fine. (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_men-
Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* reload1.c (choose_reload_regs): Don't set reload_over-
ride_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 RE-
AL_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.
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-direkt-
net.de)
* libgcc2.c (L_exit): Provide a fake for atexit on sys-
tems which define ON_EXIT but not HAVE_ATEXIT.
Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauter-
bach.com>
* m68k.md (zero_extend QI to HI): Correctly handle TAR-
GET_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 in-
stead 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 <ja-
son@yorick.cygnus.com>
* c-parse.in (struct_head, union_head, enum_head): New
nonterminals. (structsp): Use them. Update files gener-
ated from c-parse.in. * extend.texi (Type Attributes):
Document it.
* c-decl.c: Add warn_multichar. (c_decode_op-
tion): 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>
DR_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@stu-
dent.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.de-
mon.co.uk>
* i386.c (is_fp_test): Fix thinko.
* jump.c (jump_optimize): Check for CONST_INT before us-
ing INTVAL.
Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
* print-rtl.c (print_rtx): Display the real-value equiva-
lent 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 func-
tions. (ASM_DECLARE_FUNCTION_NAME): Define.
(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): De-
fine. (ASM_FILE_END): Define. * i386/winnt.c
(i386_pe_declare_function_type): New function. (struct
extern_list, extern_head): Define. (i386_pe_record_ex-
ternal_function): New function. (i386_pe_asm_file_end):
New function.
* cpplib.c (cpp_options_init): Initialize cplusplus_com-
ments 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))
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 (ex-
pand_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 AD-
DRESS_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 proto-
type 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 lat-
ter.
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
output_block_move, delay_operand): Remove, has not been
enabled or referenced for years. * sparc.md
(movstrsi, block_move_insn): Likewise. * sparc.h (PREDI-
CATE_CODES): Define. * linux-aout.h (MA-
CHINE_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 de-
fault version.
Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
* expr.h (STACK_SIZE_MODE): New macro. * ex-
plow.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_FUNC-
TION_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
__builtin_return_address(0) and -fomit-frame-pointer.
Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
Bring over from FSF. Tue Aug 5 16:10:45 1997
Jason Merrill <jason@yorick.cygnus.com>
* mips.c (function_arg): Handle passing a struct
containing a double in a DFmode register without the PAR-
ALLEL.
Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
* pexecute.c: Use spawn if __CYGWIN32__.
* pexecute.c: Include "config.h" first, as per autoconf
manual (from Paul Eggert <eggert@twinsun.com>).
Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@in-
fo.ucl.ac.be>
* m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
optimization for f/expr.o and f/stb.o.
Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
* alpha.md (beq): For registers and ints 0-255, use cm-
peq+bne, since that pair will dual-issue on the 21164 and
plus+beq won't. (bne): Likewise for cmpeq+beq.
Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
* except.c (find_exception_handler_labels): Correct argu-
ment to free.
Tue Sep 30 11:00:00 1997 Brendan Kehoe <bren-
dan@lisa.cygnus.com>
* except.c (find_exception_handler_labels): Free LABELS
when we're done.
Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
Mon Sep 29 10:51:53 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* flow.c (find_basic_blocks): Mark calls as potentially
jumping to the EH labels.
Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
* configure.in: Substitute for "install" too. *
configure: Rebuilt.
Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@ne-
gril.msrce.howard.edu>
* Makefile.in (bootstrap-lean, compare-lean): New tar-
gets.
Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
* alias.c (base_alias_check): Two symbols can conflict if
they are accessed via AND. (memrefs_conflict_p):
Likewise.
* alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
after flushing argument registers to the stack.
* Makefile.in (mostlyclean): Remove .regmove files.
Sun Sep 28 18:59:58 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
* frame.c: Remove last change. * dwarf2.h: Re-
move last change. * tree.h: Add declarations of DWARF2
unwind info support functions.
Sat Sep 27 11:02:38 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* c-decl.c (init_decl_processing): Add
__builtin_dwarf_reg_size. * tree.h (built_in_function):
Likewise. * expr.c (expand_builtin): Likewise.
* except.h: Likewise. * dwarf2out.c (ex-
pand_builtin_dwarf_reg_size): New fn. * libgcc2.c
(copy_reg): New fn. (__throw): Use it.
Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
* c-typeck.c (build_binary_op): Warn about comparing
signed vs unsigned if -W is specified and -Wno-sign-com-
pare is not. * c-decl.c (warn_sign_compare): Initialize
to -1. (c_decode_option): -Wall no longer implies
-Wsign-compare.
Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.infor-
matik.uni-dortmund.de>
* frame.c: Include gansidecl.h for PROTO. *
dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
defined. Don't declare dwarf2out_cfi_label here.
* dwarf2.h: Add declarations of DWARF2 unwind info sup-
port functions. * m68k.c: Include dwarf2.h.
(output_function_prologue): Add dwarf2 support.
* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM):
New macros. (INCOMING_FRAME_SP_OFFSET): Likewise.
* integrate.c (expand_inline_function): Make sure there
is at least one insn that can be used as an insertion
point.
Wed Sep 24 21:34:06 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
lign-jumps=, -malign-functions=.
(sparc_align_{loops,jumps,funcs}_string): Declare.
(sparc_align_{loops,jumps,funcs}): Declare. (DE-
FAULT_SPARC_ALIGN_FUNCS): New macro. (FUNCTION_BOUND-
ARY): Use sparc_align_funcs. (STACK_BIAS): Define.
(SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first,
then perform test. (SPARC_SETHI_P): New macro.
(CONST_OK_FOR_LETTER_P): Use it. (ASM_OUT-
PUT_ALIGN_CODE): Define. (ASM_OUTPUT_LOOP_ALIGN): De-
fine. * sparc/sparc.c
(sparc_align_{loops,jumps,funcs}_string): New globals.
(sparc_align_{loops,jumps,funcs}): New globals.
(sparc_override_options): Handle -malign-loops=, -malign-
jumps=, -malign-functions=. (move_operand): Use
SPARC_SETHI_P. (arith_double_operand): Cast to unsigned
HOST_WIDE_INT first, then perform test.
(arith11_double_operand): Likewise.
(arith10_double_operand): Likewise. (final-
ize_pic): Finish sparc64 support. (emit_move_sequence):
Use SPARC_SETHI_P. Simplify low part of 64 bit constants
if able. (output_fp_move_quad): Don't use fmovq unless
TARGET_HARD_QUAD. (sparc_builtin_saveregs, sparc64
case): Don't save fp regs if ! TARGET_FPU. *
sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
(get_pc_sp32): Use for sparc64 as well.
(lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
(sethi_di_sp64_const): Likewise.
(movtf_cc_sp64): Check TARGET_HARD_QUAD.
(cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in
cast. (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3,
lshrdi3): Likewise.
Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
* sparc/linux-aout.h (COMMENT_BEGIN): Delete. *
sparc/linux.h (COMMENT_BEGIN): Likewise. * sparc/lin-
ux64.h (COMMENT_BEGIN): Likewise.
Tue Sep 23 14:48:18 1997 David S. Miller <dav-
em@tanya.rutgers.edu>
Add sparc64 linux support. * configure.in
(sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h to
xm_file list on 32-bit sparc-linux. * sparc/xm-sp64.h:
New file. * sparc/linux64.h: New file. *
sparc/xm-linux.h: Include some standard headers if not inhib-
it_libc. Don't include xm-sparc.h. * config/xm-
linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define. * glimits.h
(LONG_MAX): Handle sparc64.
Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
* sparc.c (dwarf2out_cfi_label): Add declaration.
(save_regs, output_function_prologue): Remove cast for
it. (sparc_flat_{save_restore,output_function_prologue):
Likewise. ({save,restore}_regs): No longer inline.
Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ul-
tra.nyu.edu>
* fold-const.c (make_range): Correctly handle cases of
converting from unsigned to signed type.
Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.infor-
matik.rwth-aachen.de>
* fold-const.c (merge_ranges): Make sure that if one
range is subset of another, it will always be the second
range. Correct (+,-) case to account for this.
Tue Sep 23 08:32:51 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* final.c (final_end_function): Also do dwarf2 thing if
DWARF2_DEBUGGING_INFO. (final_start_function):
Likewise.
Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rut-
gers.edu>
* expmed.c (expand_divmod): If compute_mode is not the
same as mode, handle the case where convert_modes() caus-
es op1 to no longer be a CONST_INT.
* reorg.c (dbr_schedule): At end of this pass, add
REG_BR_PRED note holding get_jump_flags() calculation to
all JUMP_INSNs. * rtl.h (enum reg_note): New note types
REG_BR_PRED and REG_SAVE_AREA. * rtl.c (reg_note_name):
Add new note types.
Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
* rtlanal.c (computed_jump_p): Fix typo in last change.
Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* loop.c (indirect_jump_in_function_p): Return 0
by default.
Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
* rs6000/xm-rs6000.h: Fix thinko in last change.
* rs6000/xm-sysv4.h: Likewise.
* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
INCOMING_FRAME_SP_OFFSET): New definitions.
Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rut-
gers.edu>
* combine.c (try_combine): Use NULL_RTX instead of '0'
where appropriate in calls to gen_rtx(). * cse.c
(cse_main): Likewise. * emit-rtl.c (gen_label_rtx):
Likewise. * expr.c (init_expr_once): Likewise.
* haifa-sched.c (flush_pending_lists, sched_analyze_insn,
sched_analyze, init_rgn_data_dependences, com-
pute_block_backward_dependences): Likewise. * sched.c
(schedule_insns): Likewise. * varasm.c (immed_dou-
ble_const): Likewise.
* sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
* i386/sco5.h: Make ELF default file format and add
-mcoff/-melf.. (MULTILIB_DEFAULTS): Define.
(ASM_SPEC, CPP_SPEC): Handle -mcoff. (START-
FILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
(LIBGCC_SPEC): Likewise. (MASK_COFF, TAR-
GET_COFF, TARGET_ELF): Define. (SUBTARGET_SWITCHES): Add
-mcoff and -melf. * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add
-fPIC. (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
(EXTRA_PARTS, TAROUTOPTS): Delete. (libgcc1-elf,
libgcc2-elf, libgcc-elf targets): Delete. (MULTILIB_OP-
TIONS): Define. (MULTILIB_DIRNAMES, MULTILIB_EXCEP-
TIONS): Likewise. (MULTILIB_MATCHE, MULTILIB_EX-
TRA_OPTS): Likewise.
Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
* loop.c (loop_number): Delete function. Change all ref-
erences to use uid_loop_num array. * loop.h
(loop_number): Delete declaration. * unroll.c (un-
roll_loop): Change "loop_number" references to use
uid_loop_num instead.
* loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
conditional. (loop_unroll_iter): Remove unused
variable and all references. (loop_optimize): Always al-
locate and clear space for loop_unroll_factor. (in-
rtlanal.c (jmp_uses_reg_or_mem): New function. (comput-
ed_jump_p): Likewise. * rtl.h (computed_jump_p): De-
clare. * genattrtab.c (pc_rtx): Define and initialize.
* loop.c (loop_optimize): Always determine if the current
function has a computed jump. (indi-
rect_jump_in_function_p): Use computed_jump_p to determine
if a particular JUMP_INSN is a computed jump.
* loop.c (fix_bct_param): Delete unused function.
(check_bct_param): Likewise.
Sat Sep 20 16:22:06 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* frame.c (__deregister_frame): Check properly for ini-
tialized object.
Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* jump.c (thread_jumps): Check can_reverse_comparison_p
before threading a reversed-condition jump.
* sched.c (update_flow_info): Don't pass SCRATCH to
dead_or_set_p. * haifa-sched.c (update_flow_info): Like-
wise.
Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
* Makefile.in (BOOT_CFLAGS): Use -O2.
* configure.in (strtoul, bsearch): Have autoconf check
for these functions. * configure, config.in: Re-
built.
* m68k/xm-mot3300.h (alloca): Properly declare if
__STDC__. * mips/mips.h (alloca): Likewise. *
rs6000/xm-rs6000.h (alloca): Likewise. * rs6000/xm-
sysv4.h: Likewise.
Thu Sep 18 14:22:22 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* final.c (final_scan_insn): Hand BARRIERs off to the
dwarf2 code. * dwarf2out.c (dwarf2out_frame_debug): Pass
the whole insn along. (dwarf2out_stack_adjust): A BARRI-
ER resets the args space to 0.
* except.c (end_eh_unwinder): Subtract 1 from return ad-
* configure.in, configure: Make sure to create the stage*
and include symbolic links in each subdirectory.
Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
* pa.md (reload_peepholes): Don't allow addresses with
side effects for the memory operand.
Wed Sep 17 18:19:53 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* libgcc2.c (find_exception_handler): Subtract one from
our PC when looking for a handler, to avoid hitting the
beginning of the next region.
* except.c (expand_builtin_set_return_addr_reg): Use
force_operand.
Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
* mips/abi64.h (LONG_MAX_SPEC): Define. * mips.h
(LONG_MAX_SPEC): Define. (CPP_SPEC): Include
long_max_spec. (EXTRA_SPECS): Include long_max_spec.
Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
* v850.c (construct_save_jarl): Fix thinko in last
change.
Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
Tue Sep 16 14:22:36 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* libgcc2.c (find_exception_handler): Not found is -1.
* integrate.c (expand_inline_function): Move ex-
pand_start_bindings after expanding the arguments.
Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
* expr.c (expand_expr): Remove previous incorrect change.
If target and slot has no DECL_RTL, then call mark_ad-
dressable again for the slot after we give it RTL.
Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
* expr.c (expand_expr, case TARGET_EXPR): Call mark_ad-
dressable again for the slot after we give it RTL.
Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
* aclocal.m4: Add replacement for AC_PROG_INSTALL.
* configure.in: Use EGCS_PROG_INSTALL.
Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
* dwarf2out.c (gen_subprogram_die): Handle redefinition
of an extern inline function.
Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
* dwarf2out.c (reg_loc_descriptor): Fix prototype.
(concat_loc_descriptor): New function. (loc_de-
scriptor): Call it. (add_AT_location_description): Also
elide the descriptor if both halves of a CONCAT are pseu-
dos. (add_location_or_const_value_attribute): Recognize
CONCAT too.
Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
* alpha.md (movdi): Handle CONST_DOUBLE for TAR-
GET_BUILD_CONSTANTS.
* alpha/alpha.c (output_prolog): New variable sa_reg.
Use it for out-or-range reg_offset. (output_epi-
log): Likewise.
Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
* cse.c (simplify_relational_operation): If MODE speci-
fies a mode wider than HOST_WIDE_INT, then the high word
of a CONST_INT is derived from the sign bit of the low
word.
Mon Sep 15 11:43:38 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
Support dwarf2 unwinding on PUSH_ROUNDING targets like
the x86.
* dwarf2.h: Add DW_CFA_GNU_args_size. * frame.c
(execute_cfa_insn): Likewise. * dwarf2out.c
(dwarf_cfi_name, output_cfi): Likewise.
(dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
(dwarf2out_frame_debug): If this isn't a prologue or epi-
logue insn, hand it off to dwarf2out_stack_adjust.
(dwarf2out_begin_prologue): Initialize args_size.
* frame.h (struct frame_state): Add args_size. *
libgcc2.c (__throw): Use args_size. * final.c (fi-
nal_scan_insn): If we push args, hand off all insns to
dwarf2out_frame_debug. * defaults.h (DWARF2_UNWIND_IN-
defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
opcodes.
* sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here
after all. * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): De-
fine here. * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define
to 0. * sparc/sun4gas.h: New file. * config-
ure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
* collect2.c (write_c_file_stat, write_c_file_glob): De-
clare __register_frame_table and __deregister_frame.
1997-09-15 Brendan Kehoe <brendan@cygnus.com>
* except.c (find_exception_handler_labels): Use xmalloc
instead of alloca, since MAX_LABELNO - MIN_LABELNO can be
more than 1 million in some cases.
Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
* Makefile.in: Various changes to build info files
in the object tree rather than the source tree.
Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
* fixinc.math: New file to fix math.h on some systems.
* configure.in (freebsd, netbsd): Use fixinc.math on
these systems. * configure: Rebuilt.
Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
* regmove.c (regmove_optimize): If we end up moving the
original insn due to lifetime overlaps, make sure to move
REG_NOTES too.
Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direkt-
net.de>
* Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found
by configure.
Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (add_branch_dependences): Make each insn
in a SCHED_GROUP_P block explicitly depend on the previ-
ous insn.
Fri Sep 12 13:49:58 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* except.h: Prototype dwarf2 hooks. * expr.c:
Adjust.
toheader.
* cpplib.c (quote_string): Cast first arg of sprintf call
from "unsigned char *" to "char *". (out-
put_line_command): Likewise. (macroexpand): Likewise.
(do_line): Cast atoi arg from "unsigned char *" to "char
*".
Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
* Makefile.in (compare): Exit with nonzero status if
there are comparison failures. Note which files failed
the comparison test in .bad_compare.
Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__
-D__pic__.
Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
* Makefile.in (LN, LN_S): New macros, use where appropri-
ate. * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New
tests. * configure.in: Use GCC_PROG_LN_S and
GCC_PROG_LN. * configure: Regenerated.
Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
* loop.c (strength_reduce): Fix typo.
Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
* m88k/m88k.c (struct option): Rename to struct options.
* m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and
comments. * libgcc2.c (__enable_execute_stack): Check
for __sysV88__ not __DOLPHIN__ or sysV88.
Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
* emit-rtl.c (gen_lowpart_common): For a SUBREG, add in
word when create new subreg.
Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
* config.sub: Accept 'amigados' for backward compatibili-
ty.
Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
unwind info. Currently works on SPARC and MIPS, and al-
most on x86.
* libgcc2.c (get_reg, put_reg, get_return_addr, put_re-
turn_addr, next_stack_level, in_reg_window): Helper fns.
(__throw): Implement for DWARF2_UNWIND_INFO.
* expr.c (expand_builtin): Handle builtins used by
__throw. * tree.h (enum built_in_function): Add builtins
used by __throw. * c-decl.c (init_decl_processing): De-
clare builtins used by __throw. * dwarf2out.c (ex-
pand_builtin_dwarf_fp_regnum): Used by __throw. * ex-
cept.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
(expand_builtin_extract_return_addr): Likewise.
(expand_builtin_frob_return_addr): Likewise.
(expand_builtin_set_return_addr_reg): Likewise.
(expand_builtin_eh_stub): Likewise. (ex-
pand_builtin_set_eh_regs): Likewise. (eh_regs): Choose
two call-clobbered registers for passing back values.
* frame.c, frame.h: New files for parsing dwarf 2 frame
info. * Makefile.in (LIB2ADD): New variable. Add $(sr-
cdir)/frame.c. (libgcc2.a): Use it instead of
$(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS) (stmp-multilib):
Likewise. ($(T)crtbegin.o, $(T)crtend.o): Add -fno-ex-
ceptions.
* except.c: #include "defaults.h". (excep-
tions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
(emit_throw): Don't defeat assemble_external if
DWARF2_UNWIND_INFO. (register_exception_table_p): New
fn. (start_eh_unwinder): Don't do anything if DWARF2_UN-
WIND_INFO. (end_eh_unwinder): Likewise.
* crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SEC-
TION_ASM_OP, call __register_frame and __deregister_frame
as needed. * varasm.c (eh_frame_section): New fn if
EH_FRAME_SECTION_ASM_OP. * dwarf2out.c (EH_FRAME_SEC-
TION): Now a function-like macro. Check EH_FRAME_SEC-
TION_ASM_OP. * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP):
Define. * mips/iris6.h (EH_FRAME_SECTION_ASM_OP): De-
fine. (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden sym-
bols.
* dwarf2out.c (output_call_frame_info): If no support for
EXCEPTION_SECTION, mark the start of the frame info with
a collectible tag. * collect2.c (frame_tables):
New list. (is_ctor_dtor): Recognize frame entries.
(scan_prog_file): Likewise. (main): Pass -fno-
exceptions to sub-compile. Also do collection if there
are any frame entries. (write_c_file_stat): Call __reg-
ister_frame_table and __deregister_frame as needed.
different EH implementations to the top.
(find_exception_handler): Split out. Start from 0. Com-
pare against end with >=. (__find_first_excep-
tion_table_match): Use it. * except.c (output_excep-
tion_table): Don't do anything if there's no table.
Don't output a first entry of zeroes. (eh_outer_con-
text): Adjust properly. (add_eh_table_entry): Use xreal-
loc. * toplev.c (compile_file): Just call output_excep-
tion_table.
Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
* i386.c (ix86_prologue): Add dwarf2 support for !do_rtl
case.
Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
* except.c (eh_outer_context): Do masking using ex-
pand_and.
Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
Add port done awhile ago for the ARC cpu. *
arc/arc.h: New file. * arc/arc.c: New file. *
arc/arc.md: New file. * arc/initfini.c: New file.
* arc/lib1funcs.asm: New file. * arc/t-arc: New
file. * arc/xm-arc.h: New file. * ginclude/va-
arc.h: New file. * ginclude/stdarg.h: Include va-arc.h
ifdef __arc__. * ginclude/varargs.h: Likewise.
* Makefile.in (USER_H): Add va-arc.h. * config-
ure.in (arc-*-elf*): Recognize. * longlong.h: Add ARC
support.
Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
* expr.c (clear_storage): Use CONST0_RTX instead of con-
st0_rtx. when clearing non-BLKmode data.
Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direkt-
net.de>
* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Define.
* libgcc2.c (__enable_execute_stack): Provide for sysV88
too.
* xm-m88k.h (USG): Only define if it hasn't already been
defined.
* Makefile.in (risky-stage1): Delete gratuitous white-
space.
* Makefile.in (clean): Delete libgcc1-test.
Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (print_value): Fix last change.
Tue Sep 9 01:30:37 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* mips.h (DWARF_FRAME_REGNUM): Use the same numbering re-
gardless of write_symbols.
Mon Sep 8 16:32:43 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* mips.c (function_prologue): Set up the CFA when ABI_32.
* sparc.c (save_regs): Check dwarf2out_do_frame instead
of DWARF2_DEBUG for dwarf2 unwind info. (out-
put_function_prologue, sparc_flat_output_function_prologue):
Same.
* final.c (final_end_function): Check dwarf2out_do_frame
instead of DWARF2_DEBUG for dwarf2 unwind info.
(final_scan_insn): Likewise. (final_start_func-
tion): Likewise. Initialize dwarf2 frame debug here.
(final): Not here.
* expr.c (expand_builtin_return_addr): Only SET-
UP_FRAME_ADDRESSES if count > 0.
* varasm.c (exception_section): Check EXCEPTION_SECTION
first.
Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
* v850.h (ASM_SPEC): Pass on target processor.
(CPP_PREDEFINES): Only define if not already specified.
(TARGET_VERSION): Only define if not already specified.
(MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify tar-
get processor. (EXTRA_SWITCHES): Extra entries
in the switches array. (TARGET_DEFAULT): Set default
target processor.
Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
* m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In
MOTOROLA cases, add %# and %/, and add : to make them in-
to extended asms.
Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hep-
unix.physics.yale.edu>
Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hep-
vms.physics.yale.edu)
* Makefile.in (sdbout.o): Depend on insn-config.h.
Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
* m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, sub-
tract MASK_68881. For 68303, 68332, cpu32, subtract
MASK_68040_ONLY.
Sun Sep 7 18:30:46 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* dwarf2out.c (dwarf2out_frame_debug): Assume that in a
PARALLEL prologue insn, only the first elt is signifi-
cant. (output_call_frame_info): For exception handling,
always use 4-byte fields as specified by the dwarf2 spec.
Don't skip trivial FDEs.
Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
* expmed.c (expand_divmod): Make op1_is_pow2 depend on
unsignedp for negative constants. Promote EXACT_DIV_EXPR
to TRUNC_DIV_EXPR when op1_is_pow2.
Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
* final.c (shorten_branches): During first pass, assume
worst possible alignment for ADDR_VEC and ADDR_VEC_DIFF
insns.
* Makefile.in (distclean): Remove various things left
around by running the testsuite.
Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direkt-
net.de>
* configure.in (out_file): Emit definition to config.sta-
tus in order to have a defined value for configure.lang.
* configure: Re-built.
Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vander-
Heijden@student.utwente.nl)
* configure.in: Make symlink to as-new rather than
as.new. Similarly for ld-new. * configure: Re-
built.
fo.ucl.ac.be>
* integrate.c (save_for_inline_copying): Use 0, not
NULL_PTR, as initial value for real_label_map.
(copy_for_inline): Likewise.
Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* sched.c (update_flow_info): When looking if to set
found_split_dest or found_orig_dest, look at all parts of
a PARALLEL. * haifa-sched.c (update_flow_info): Like-
wise.
Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
* v850: New directory for v850 port. *
v850/lib1funcs.asm: New file. * t-v850, v850.c, v850.h,
v850.md, xm-v850.h: New files. * ginclude/va-v850.h: New
file. * ginclude/varargs.h, ginclude/stdarg.h: Include
va-mn10200.h. * configure.in (mn10200-*-*): New target.
* configure: Rebuilt. * config.sub: Handle
v850-elf. * Makefile.in (USER_H): Add va-mn10200.h.
* invoke.texi: Document v850 stuff.
Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
* sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that
TYPE_DOMAIN has integer TYPE_{MAX,MIN}_VALUE before using
them.
* m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RE-
STORE): Add __HPUX_ASM__ versions.
Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
* install.sh: Delete duplicate install script.
Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
* reg-stack.c (subst_stack_regs): Pop the stack register
for a computed goto which sets the same stack register.
* reg-stack.c (compare_for_stack_reg): Swap only if the
source and destination are both on the regstack.
(subst_stack_regs_pat): Put the destination at the top of
the regstack.
Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
* mips.md (nonlocal_goto_receiver): Define.
* profile.c (output_arc_profiler): Check next_insert_af-
* print-rtl.c (print_rtl_single): Print a single rtl val-
ue to a file.
* flow.c (print_rtl_with_bb): Print which insns start and
end basic blocks. For the start of a basic block, also
print the live information.
Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
* toplev.c (main): Change #elif to #else/#ifdef.
* tlink.c: Include ctype.h. * ginclude/va-
mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
* bitmap.c: Conditionally include stdlib.h.
(free): Provide a declaration if NEED_DECLARATION_FREE.
Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
* i960/i960.h: Added default for SUBTARGET_SWITCHES
macro.
Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
* profile.c (output_arc_profiler): Verify next_insert_af-
ter is an INSN before and after skipping a stack pop.
Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* final.c (shorten_branches): Don't count the lengths of
deleted instructions.
Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for snapshot.
Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
* bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to it-
erate over two bitmaps ANDed together. (bit-
map_print): Declare.
* bitmap.c (function_obstack): Don't declare any more.
(bitmap_obstack): Obstack for allocating links from.
(bitmap_obstack_init): New static to say whether to ini-
tialize bitmap_obstack. (bitmap_element_allo-
cate): Use bitmap_obstack to allocate from. (bitmap_re-
lease_memory): Free all memory allocated from bitmap_ob-
stack.
m68k/rtems.h, mips/rtems64.h, pa/rtems.h,
rs6000/rtems.h, sh/rtems.h, sparc/rtems.h (subtar-
get_switches): Removed SUBTARGET_SWITCHES definitions.
Use -qrtems instead of -mrtems.
Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
* xm-sco5.h (sys_siglist): Define.
(SYS_SIGLIST_DECLARED): Likewise.
Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
* expr.c (convert_move): Handle truncation from TQFmode
to QFmode.
Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
* except.c (eh_outer_context): Expand masking operation
using expand_binop.
Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
* alpha.md (floatdisf2-1): New pattern.
Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
* xm-svr4.h (SYS_SIGLIST_DECLARED): Define. *
xm-news.h (SYS_SIGLIST_DECLARED): Likewise. * xm-sysv4.h
(SYS_SIGLIST_DECLARED): Likewise. * gcc.texi: Note that
if you define sys_siglist that you should also define
SYS_SIGLIST_DECLARED.
* mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instruc-
tions are relative to the next instruction, not the cur-
rent instruction.
Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
* local-alloc.c (contains_replace_regs): New function.
(update_equiv_regs): When adding a REG_EQUIV note for a
set of a MEM, verify that there is no existing REG_EQUIV
note, and add a call to contains_place_regs.
Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__
-D__pic__. (STARTFILE_SPEC): Always use crtbegin.o%s.
(ENDFILE_SPEC): Always use crtend.o%s.
Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
* alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS
* pa.c (restore_unscaled_index_insn_codes): New function.
(record_unscaled_index_insn_codes): Likewise.
(output_function_prologue): Call restore_unscaled_in-
dex_insn_codes. (output_function_epilogue): Free memory
for unscaled_index_insn_codes. (pa_reorg): Call
record_unscaled_index_insn_codes.
* haifa-sched.c (move_insn): Handle notes correctly for
insns with SCHED_GROUP_P set.
Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* alpha/xm-linux.h (USE_BFD): Undef before define.
Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
* cse.c (cse_insn): Don't record BLKmode values.
Mon Sep 1 11:25:47 1997 Stephen Williams
(steve@icarus.icarus.com)
* i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
* cccp.c (sys_errlist): Remove special 4.4bsd declara-
tion. * collect2.c (sys_errlist): Likewise. *
cpplib.c (sys_errlist): Likewise. * gcc.c (sys_errlist):
Likewise. * protoize (sys_errlist): Likewise. *
configure.in: Check for strerror. * xm-freebsd.h
(HAVE_STRERROR): Remove definition. * xm-gnu.h
(HAVE_STRERROR): Likewise. * xm-linux.h (HAVE_STRERROR):
Likewise. * xm-netbsd.h (HAVE_STRERROR): Likewise.
* xm-bsd386.h (HAVE_STRERROR): Likewise. * xm-
cygwin32.h (HAVE_STRERROR): Likewise. * xm-dos.h
(HAVE_STRERROR): Likewise. * xm-mingw32.h (HAVE_STR-
ERROR): Likewise. * xm-pa.h (HAVE_STRERROR): Likewise.
* xm-papro.h (HAVE_STRERROR): Likewise. * xm-
sysv4.h (HAVE_STRERROR): Likewise. * configure, con-
fig.in: Rebuilt.
* Makefile.in: Add several missing "else true" clauses.
* collect2.c: Change DONT_DECLARE_SYS_SIGLIST to
SYS_SIGLIST_DECLARED. * mips-tfile.c: Likewise.
* gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
* xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete defini-
tion. * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-
sol2.h: Likewise. * configure.in: Check for sys_siglist
declaration. * configure, config.in: Rebuilt.
Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
code PLUS.
Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.md: Make DF fused-add operations pay attention
to -mno-fused-add.
Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
* i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
* pa.md (reload_peepholes): Make sure operand is a REG
before examining REGNO. Allow general registers too.
Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
* varasm.c (mark_constants): Don't look inside CONST_DOU-
BLEs.
Fri Aug 29 09:33:20 1997 Philipp Thomas
(kthomas@lxi165.gwdg.de)
* dwarf2out.c (build_abbrev_table): Use xrealloc, not
xmalloc to reallocate abbrev_die_table.
Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
* m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dort-
mund.de>
* Makefile.in (config.status): Depend on version.c.
* expr.h (insn_gen_function): Reenable prototype.
* expr.c (move_by_pieces_1, clear_by_pieces_1): Fix pro-
totype of first parameter.
Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
* i386.c (ix86_expand_epilogue): Emit blockage instruc-
tion when pic.
Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for latest snapshot.
* bc-optab.c: Conditionally include stdlib.h.
(free): Provide a declaration if NEED_DECLARATION_FREE.
Add -fmove-all-movables and -freduce-all-givs. * in-
voke.texi: Document new options, including alias stuff that
wasn't included last time.
Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
* t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of
LIBGCC2_CFLAGS. * t-mn10200: Likewise. * t-vxs-
parc: Likewise. * t-vxworks68: Likewise. * t-
vxworks960: Likewise. * t-vx29k: Likewise.
Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
* alpha/xm-alpha.h (alloca): Define alloca to builtin_al-
loca for GNUC if not already defined, and USE_C_ALLOCA
not defined.
Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
* config.guess: Replace with script that uses ../con-
fig.guess.
* config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. De-
fined as 1 if USE_GNULIBC_1 is not defined.
Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
* alpha/elf.h (LINK_SPEC): Conditionalize on
USE_GNULIBC_1. * config.guess: Recognize alpha-linux-
gnulibc1. * configure.in (alpha-*-linux-gnulibc1): New
target. (alpha-*-linux-gnu*): Don't build crtbegin/end.
Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
* m68k.md (iorsi3_internal): Readd ! TARGET_5200 check
lost in last change.
Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
* loop.c (combine_movables): Earlier insns don't match
later ones.
Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* config/linux.h (CC1_SPEC): Define it only if not de-
fined.
* config/m68k/linux.h (CC1_SPEC): Undefine it before in-
clude <linux.h>
* config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as
1 if USE_GNULIBC_1 is not defined.
* t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EX-
TRA_HEADERS. * x-netbsd: Likewise. * x-dgux
(USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
(INSTALL_HEADERS): Delete. * x-dguxbcs: Like-
wise. * x-hp3bsd44: Likewise. * x-pa: Likewise.
Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.infor-
matik.rwth-aachen.de>
* i386.md (pop): pop increments the stack pointer.
(prologue_set_stack_ptr): New pattern. * i386.c
(ix86_expand_prologue): Use prologue_set_stack_ptr in-
stead of subsi3.
Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
* reload.c (find_reloads, case '0'): Reject matching a
non-offsettable address where an offsettable address is
required.
Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaon-
ga.chch.cri.nz>
* loop.c (check_final_value): Don't miss a biv increment
in a parallel.
Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL):
Check TYPE_DECL_IS_STUB instead of DECL_NAME.
Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
* objc/Make-lang.in ($(OBJC_O)): Also depend on
$(GCC_PASSES).
Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
(find_post_sched_live): Likewise.
* haifa-sched.c (schedule_block): Remove old code to get
arguments from hard regs into pseudos early.
Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for new snapshot.
PR.
Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
* expr.h (insn_gen_function): Temporarily remove proto-
type.
Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
* Makefile.in (install-info): Don't cd into srcdir. Add
srcdir to filenames. Use sed to extract base filename
for install.
Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
* unroll.c (find_splittable_givs): Only share if two givs
have the same add and multiply values.
Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
* m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
* m68k/m68kemb.h (LIB_SPEC): Add missing comment end be-
fore it.
Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
* pa.c (pa_reorg): Always put begin_brtab and end_brtab
insns around branch tables. * pa.md (be-
gin_brtab, end_brtab): Only emit the .begin_brtab and
.end_brtab directives if TARGET_GAS.
Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
* alias.c (true_dependence): Pass x_addr not x to varies.
* acconfig.h (NEED_DECLARATION_CALLOC): Add. *
configure.in: Add GCC_NEED_DECLARATION call for calloc.
* rs6000/xm-rs6000.h (malloc, realloc, calloc, free):
Delete declarations. * config.in, configure: Re-
generate.
Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
* alias.c (find_base_value): Improve handling of PLUS,
MINUS, and LO_SUM. (record_set): Handle LO_SUM
like PLUS. (init_alias_analysis): When following chains
of base addresses, do not stop on reaching a hard regis-
ter.
Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Bump for new snapshot.
* alias.c (init_alias_analysis): When simplifying the
reg_base_value array, simplify entries for hard registers
too.
Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
* dwarf2.h (enum dwarf_call_frame_info): Remove trailing
comma from list.
Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
* stmt.c (start_cleanup_deferral, end_cleanup_deferral):
Test block_stack before dereferencing it.
Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
* rs6000.h (ISSUE_RATE): Define instead of MACHINE_is-
sue_rate.
Tue Aug 19 17:10:56 1997 Jason Merrill <ja-
son@yorick.cygnus.com>
* cplus-dem.c: Add 'extern' to prepends_underscore.
Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_is-
sue_rate. (get_issue_rate): Delete. * pa.h (IS-
SUE_RATE): Define.
* configure.in: Turn on haifa by default for the PA.
* configure: Rebuilt. * pa.c (override_options):
Accept -mschedule=7200 option. (pa_adjust_cost): No
longer need to scale costs for newer processors.
* pa.h (enum processor_type): Add PROCESSOR_7200.
* pa.md: Revamp scheduling parameters to work better with
haifa. Add scheduling parameters for the 7200.
* haifa-sched.c (move_insn): Reemit notes for
SCHED_GROUP_P insns too. (schedule_block): When
adjusting basic_block_{head,end}, account for movement of
SCHED_GROUP_P insns too.
* haifa-sched.c (debug_dependencies): Fix thinko.
* Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
(site.exp, check, check-g++, check-gcc): New targets.
* haifa-sched.c: Make lots of variables static.
Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
* Makefile.in (stmp-multilib-sub): Fix typo in last
change.
Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direkt-
net.de>
* Makefile.in (sub-makes): Pass the current value of LAN-
GUAGES down to sub-makes to avoid building more passes
than the user might have requested on the command line.
Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
* configure.in: Expurgate `broken_install' (install is
autoconfed).
* configure.lang: Substitute autoconfed ${INSTALL} (not
currently relevant).
Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
* loop.c (is_power_of_2, is_conditional_branch): Delete
unused functions and declarations. (ana-
lyze_loop_iterations): Use condjump_p. (insert_bct):
Likewise. Use exact_log2.
Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (find_post_sched_live): Call FREE_REG_SET
as needed. (schedule_region): Likewise. (sched-
ule_insns): Likewise.
* PROJECTS: Update with Haifa stuff.
Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
* version.c: Change the version string to look like:
egcs-2.90.00 970814 (gcc2-970802 experimental).
* loop.c (is_conditional_branch): Make definition match
declaration.
* gcc.c: Take out experimental snapshot warning message.
Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
* haifa-sched.c (debug_dependencies): Use GET_NOTE_IN-
SN_NAME to print out the names of the notes. Print out
the name of the insn that is not a note, and not an
{,CALL_,JUMP_}INSN.
* version.c: Bump version to "gcc-3.0.0 970802 experimen-
tal".
* gcc.info*: Rebuilt.
* COPYING.g77, README.g77: New files. * real.c
(ereal_unto_float, ereal_unto_double): New functions. *
real.h (ereal_unto_float, ereal_unto_double): Declare them.
(REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TAR-
GET_SINGLE): Define.
Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
* Integrate Haifa instruction scheduler. * Make-
file.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
to sched with $(SCHED_CFLAGS. * configure.in:
Handle --enable-haifa. * configure: Rebuilt. *
flags.h: Add new flags for haifa instruction scheduler.
* genattrtab.c (expand_units): For haifa, don't subtract
one when computing blockage. * toplev.h
(flag_schedule_interblock): Haifa scheduler flag.
(flag_schedule_speculative): Likewise.
(flag_schedule_speculative_load): Likewise.
(flag_schedule_speculative_load_dangerous): Likewise.
(flag_schedule_reverse_before_reload): Likewise.
(flag_schedule_reverse_after_reload): Likewise.
(flag_branch_on_count_reg): Likewise. (f_op-
tions): Add Haifa switches. (main): Turn off some Haifa
options if appropriate macro is defined. Process Haifa
switches. * unroll.c (iteration_info): No longer static,
since Haifa scheduler uses it. (unroll_loop):
Inform HAIFA scheduler about loop unrolling factor. *
unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
* loop.h (loop_unroll_factor, loop_number): Add HAIFA de-
cls. * loop.h (loop_initial_value,loop_unroll_iter): New
globals. * loop.c (loop_optimize): If HAIFA is defined,
allocate additional storage for the Haifa scheduler.
(mark_loop_jump): If HAIFA defined, set LABEL_OUT-
SIDE_LOOP_P and LABEL_NEXTREF. (strength_re-
duce): If HAIFA and HAVE_decrement_and_branch_on_count
are defined, call analyze_loop_iterations and insert_bct
to use countdown loops. (record_giv): Refine
test for jumps out of loops if HAIFA is defined.
(analyze_loop_iterations): New function to identify if we
can use a countdown loop. (insert_bct): Insert
countdown loop. (instrument_loop_bct): Low level code to
insert countdown loop. (loop_number): Calculate UID of
loop. (indirect_jump_in_function_p): Return true if an
indirect jump is in the function. (is_pow-
er_of_2): Return true if value is a power of 2. (is_con-
ditional_branch): Return true if insn is a conditional
jump. (fix_bct_param): Process -fbct-{min,max}-N
-fregmove. (regmove_dump_file, regmove_time): Define.
(fatal_insn): Close the regmove dump file. (com-
pile_file): Initialize regmove_time; open/close the regmove dump
file as needed. Print regmove time as needed.
(rest_of_compilation): Run regmove pass if requested,
dump RTL after regmove if requested. (main): If
-O2 or more, turn on regmove. Handle dump switches. *
regmove.c: New file.
Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
* Integrate tlink patch from jason@cygnus.com *
gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
(process_command): Increment n_switches for them. Don't
discard their args. Validate them. (main): Es-
cape " marks when creating COLLECT_GCC_OPTIONS. From Ro-
han Lenard. (process_command): Set include_prefixes from
COMPILER_PATH. (main): Set COLLECT_GCC_OPTIONS sooner.
* confiugre.in: Link ../ld/ld.new to collect-ld rather
than real-ld. * tlink.c, hash.c, hash.h: New files.
* Makefile.in (USE_COLLECT2): Always use collect2.
(collect2): Depend on and link in hash.o and tlink.o.
(tlink.o, hash.o): Add dependencies.
Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
* Integrate alias analysis changes from jfc@mit.edu
* Makefile.in (OBJS): Add alias.o. (alias.o):
Add dependencies. * alias.c: New file. *
sched.c: Remove alias analysis code. It lives in alias.c now.
(sched_analyze_2): Add new arguments to true_dependence.
(schedule_insns): Always call init_alias_analysis.
* calls.c (expand_call): Note calls to malloc, calloc,
and realloc; mark return value from such functions as a
pointer and keep track of them for alias analysis. If a
return value from a function is a pointer, mark it as
such. * combine.c (distribute_notes): Handle
REG_NOALIAS. * cse.c (struct write_data): Delete. No
longer needed. (invalidate): Don't call set_nonvary-
ing_address_components anymore. Use true_dependence to
decide if an entry should be removed from the hash table.
(invalidate_memory): Remove WRITES argument, simplify ap-
propriately. Fix all callers. (note_mem_writ-
ten): Similarly for WRITE_PTR argument. (invali-
date_from_clobbers): Similarly for W argument. (invali-
date_for_call): Remove memory elements from the hash table.
(refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
(cse_rtx_varies_p): New function. Derived from old
cse_rtx_addr_varies_p. (cse_insn): Remove
WRITES_MEMORY and INIT variables and all references.
Don't call note_mem_written anymore. Stack pushes inval-
idate the stack pointer if PUSH_ROUNDING is defined. No
(prescan_loop): Only non-constant calls set unknown_ad-
dress_altered. (invariant_p): Add new arguments to
true_dependence. (record_giv): Initialize unrolled and
shared fields. (emit_iv_add_mult): Call record_base_val-
ue as needed. * loop.h (struct induction): Add unrolled
and shared fields. * unroll.c (unroll_loop): Call
record_base_value as needed. (copy_loop_body): Likewise.
(final_biv_value): Likewise. (final_giv_value):
Likewise. (find_splittable_regs): Likewise. Only create
one new pseudo if we have multiple address GIVs that were
combined with the same dst_reg GIV. Note when a new reg-
ister is created due to unrolling. * rtl.c
(reg_note_name): Add REG_NOALIAS. * rtl.h (enum
reg_note): Similarly. (rtx_varies_p, may_trap_p,
side_effects_p): Declare. (volatile_refs_p, volatile_in-
sn_p, remove_note): Likewise. (note_stores,
refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
(true_dependence, read_dependence, anti_dependence):
Likewise. (output_dependence, init_alias_analysis,
end_alias_analysis): Likewise. (mark_user_reg,
mark_reg_pointer): Likewise.
* Integrate reload bugfix from Wilon which enables the PA
port to bootstrap again. * reload1.c (reload):
Sum needs for both OPADDR_ADDR and OPERAND_ADDRESS when
computing how many registers an insn needs.
(reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS
reloads do conflict. (reload_reg_free_before_p):
Treat OPERAND_ADDRESS reloads just like OPADDR_ADDR
reload. (reload_reg_reaches_end_p): For RELOAD_FOR_OPAD-
DR_ADDR insns, registers in reload_reg_use_in_op_addr do
not reach the end. do not reach the end.
(reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
RELOAD_FOR_OPERAND_ADDRESS.
Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
* egcs project officially starts.
Local Variables: add-log-time-format: current-time-string End:
Man(1) output converted with
man2html