Jeffrey A Law [Mon, 15 Feb 1999 22:10:25 +0000 (22:10 +0000)]
jump.c: Include insn-attr.h.
* jump.c: Include insn-attr.h.
(delete_computation): If reload has completed and insn scheduling
after reload is enabled, then do not depend on REG_DEAD notes.
* Makefile.in (jump.o): Depend on insn-attr.h.
Jeffrey A Law [Sun, 14 Feb 1999 23:43:25 +0000 (23:43 +0000)]
alias.c (init_alias_analysis): Avoid self-referential value when setting reg_known_value from REG_EQUAL notes.
Tue Feb 9 21:14:03 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* alias.c (init_alias_analysis): Avoid self-referential value
when setting reg_known_value from REG_EQUAL notes.
Jeffrey A Law [Sat, 13 Feb 1999 13:19:45 +0000 (13:19 +0000)]
loop.c (check_dbra_loop): A store using an address giv for which we have no life information is not...
1999-02-05 Michael Meissner <meissner@cygnus.com>
J"orn Rennecke <amylaar@cygnus.co.uk>
* loop.c (check_dbra_loop): A store using an address giv for which
we have no life information is not reversible.
* loop.c (first_loop_store_insn): New file-scope variable.
(prescan_loop): Set it.
(check_dbra_loop): Check if a store depends on a register
that is set after the store.
Jeffrey A Law [Sat, 13 Feb 1999 11:17:29 +0000 (11:17 +0000)]
expr.c (emit_block_move): Do not call memcpy as a libcall instead build up a CALL_EXPR and call it like...
Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com)
* 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.
Jeffrey A Law [Sat, 13 Feb 1999 11:01:04 +0000 (11:01 +0000)]
configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder problems.
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.
Jeffrey A Law [Thu, 11 Feb 1999 00:57:47 +0000 (00:57 +0000)]
expr.c (store_expr): Don't generate load-store pair if TEMP is identical (according to ==) with TARGET.
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.
Bring over from the mainline tree. Fixes bugs with volatile memory references
being read/written too many times.
Jeffrey A Law [Sat, 30 Jan 1999 04:31:10 +0000 (04:31 +0000)]
explow.c (allocate_dynamic_stack_space): Use register_operand instead of arith_operand, which does not exist.
Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com>
* explow.c (allocate_dynamic_stack_space): Use register_operand
instead of arith_operand, which does not exist.
Bring over from the mainline tree.
rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept transformations that we have performed earlier.
* rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
transformations that we have performed earlier.
* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
Jeffrey A Law [Sun, 17 Jan 1999 18:23:21 +0000 (18:23 +0000)]
regmove.c (optimize_reg_copy_1): Undo Aug 18 change.
* regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update
REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
where a register is live.
Bernd Schmidt [Tue, 12 Jan 1999 00:28:21 +0000 (17:28 -0700)]
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
I will remember to check in ChangeLog files.
Bernd Schmidt [Wed, 6 Jan 1999 23:43:14 +0000 (16:43 -0700)]
combine.c (num_sign_bit_copies): In NEG...
* combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
when a test can't be performed due to limited width of
HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
Fix UDIV case for cases where the first operand has the highest bit
set.
And fix a couple copyrights.
expr.c (store_expr): If the lhs is a memory location pointed to be a postincremented (or...
�
* expr.c (store_expr): If the lhs is a memory location pointed
to be a postincremented (or postdecremented) pointer, always
force the rhs to be evaluated into a pseudo.
Jeffrey A Law [Wed, 30 Dec 1998 23:39:55 +0000 (23:39 +0000)]
cse.c (invalidate_skipped_block): Call invalidate_from_clobbers for each insn in the skipped block.
* cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
for each insn in the skipped block.
* i386.md (doubleword shifts): Avoid namespace pollution.
Mike Stump [Mon, 23 Nov 1998 20:37:20 +0000 (15:37 -0500)]
libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
* 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 dynmanic cleanup chain is used on the
top element of the stack and each thread MUST have its own.
(new_eh_context): Likewise.
(__sjthrow): Likewise.
Andrew MacLeod [Mon, 23 Nov 1998 08:52:34 +0000 (08:52 +0000)]
cplus-dem.c (demangle_prefix): Use the last "__" in the mangled name when looking for the signature.
Mon Nov 23 09:49:49 1998 Andrew MacLeod <amacleod@cygnus.com>
*cplus-dem.c (demangle_prefix): Use the last "__"
in the mangled name when looking for the signature. This allows
template names to begin with "__".
Jeffrey A Law [Sun, 1 Nov 1998 10:13:01 +0000 (10:13 +0000)]
linux.h (CPP_PREDEFINES): Bring back -Di386 for the last time.
* i386/linux.h (CPP_PREDEFINES): Bring back -Di386 for the last time.
* From Christian Gafton:
* i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
* sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
* sparc/linux64.h (CPP_PREDEFIENS): Add -D__sparc__.
Jeffrey A Law [Fri, 30 Oct 1998 23:41:35 +0000 (23:41 +0000)]
jump.c (jump_optimize): Initialize mappings from INSN_UID to EH region if...
* 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.
David Edelsohn [Wed, 28 Oct 1998 19:18:09 +0000 (19:18 +0000)]
collect2.c (aix64_flag): New variable.
* 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.
* README.RS6000: Update.
Jason Merrill [Tue, 27 Oct 1998 00:05:30 +0000 (00:05 +0000)]
expr.c (pending_chain): Move up.
* 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.
Jason Merrill [Sun, 25 Oct 1998 17:35:47 +0000 (12:35 -0500)]
parse.y (condition): Convert VAR_DECL from reference to indirect reference.
* parse.y (condition): Convert VAR_DECL from reference to indirect
reference.
* decl2.c (validate_nonmember_using_decl): Fix using-directives of
std if std is ignored.
* method.c (build_decl_overload_real): Clear
numeric_output_need_bar after __.
* decl.c (cp_finish_decl): Make statics in extern inlines and
templates common, if possible and the target doesn't support weak
symbols.
* decl2.c (merge_functions): Remove duplicates.
* typeck.c (build_conditional_expr): Only fold if ifexp is an
INTEGER_CST.
Jason Merrill [Sun, 25 Oct 1998 16:52:48 +0000 (16:52 +0000)]
tinfo2.cc (fast_compare): Remove.
* tinfo2.cc (fast_compare): Remove.
(before): Just use strcmp.
* tinfo.cc (operator==): Just use strcmp.
* inc/typeinfo: Add #pragma interface.
(operator!=): Just call operator==.
* tinfo.cc: Add #pragma implementation.
(operator==): Move from inc/typeinfo and tinfo2.cc.