* 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.
x86 should bootstrap with -O9 -fomit-frame-pointer again.
From-SVN: r23552
* 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.
From-SVN: r23551
* 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.
From-SVN: r23550
* cp-tree.h (lang_decl_flags): Add defined_in_class. Decrease
size of dummy.
(DECL_DEFINED_IN_CLASS_P): New macro.
(TEMPLATE_PARMS_FOR_INLINE): Document.
(check_static_variable_definition): New function.
* decl.c (cp_finish_decl): Set DECL_DEFINED_IN_CLASS_P, if
appropriate.
(check_static_variable_definition): Split out from ...
(grokdeclarator): Here.
* pt.c (check_default_tmpl_args): New function, split out from ...
(push_template_decl_real): Here.
(instantiate_template): Fix comment.
From-SVN: r23549
Begin cleaning up jump.c
* 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.
From-SVN: r23539
Thu Nov 5 07:57:45 EST 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.
From-SVN: r23538
* 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.
From-SVN: r23529
x
* rtl.h (flow2_completed): Declare.
* flow.c (flow2_completed): Definition.
* toplev.c (rest_of_compilation): Set and clear flow2_completed
as necessary.
From-SVN: r23528
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.
From-SVN: r23525
* 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.
From-SVN: r23521
* 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.
From-SVN: r23510
* pexecute.c: Check HAVE_CONFIG_H, not IN_GCC, when determining
whether to include config.h. Possibly include unistd.h in the
!IN_GCC case. Define VFORK_STRING as a printable function call
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.
(pexecute): Set `errmsg_fmt' to VFORK_STRING instead of checking
locally what string to use.
From-SVN: r23499
* 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.
From-SVN: r23498