Geoff Keating [Fri, 2 Oct 1998 00:26:21 +0000 (00:26 +0000)]
gcse.c: New definition NEVER_SET for reg_first_set...
* 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.
arm.c (add_constant): New parameter address_only, change caller.
* arm.c (add_constant): New parameter address_only, change caller.
Set it non-zero 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.
Dave Love [Wed, 30 Sep 1998 02:59:33 +0000 (02:59 +0000)]
open.c: Back out part of last Netlib update affecting scratch files which clashed with...
1998-09-28 Dave Love <d.love@dl.ac.uk>
* libI77/open.c: Back out part of last Netlib update affecting
scratch files which clashed with the g77 variations and broke
implicit endfile on rewind.
David S. Miller [Sat, 29 Aug 1998 21:14:50 +0000 (21:14 +0000)]
sparc.md (movdf_insn, movtf_insn): Fix type and length attributes to match May 3rd changes made here.
* config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and
length attributes to match May 3rd changes made here.
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make
call-used %l7 when generating pic code.
Jeffrey A Law [Sat, 29 Aug 1998 13:53:27 +0000 (13:53 +0000)]
m68k.md (beq0_di): Generate correct (and more efficient) code when...
* m68k.md (beq0_di): Generate correct (and more efficient) code when
the clobbered operand overlaps with an input.
(bne0_di): Similarly.
Fixes bug from m68k-netbsd folks.
Jeffrey A Law [Thu, 27 Aug 1998 22:48:14 +0000 (22:48 +0000)]
reload1.c (forget_old_reloads_1): Keep track of the largest mode found while stripping SUBREGS and invalidate...
* reload1.c (forget_old_reloads_1): Keep track of the largest mode
found while stripping SUBREGS and invalidate reloads for all the hard
regs specified by that largest mode. egcs-1.1 only hack. The
mainline tree will get a better fix.
Jeff Law [Tue, 25 Aug 1998 18:48:21 +0000 (12:48 -0600)]
reorg.c (fill_simple_delay_slots): Do not abort if we encounter an insn on the unfilled_slots_list that has no...
* 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.
Fixes PA abort.
* 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.
* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
Various rs6000/ppc fixes from the mainline tree.
David Edelsohn [Wed, 19 Aug 1998 23:44:53 +0000 (17:44 -0600)]
rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
�
* 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.
David Edelsohn [Wed, 19 Aug 1998 23:44:50 +0000 (17:44 -0600)]
rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
* 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.
Jeffrey A Law [Mon, 17 Aug 1998 20:24:59 +0000 (20:24 +0000)]
* 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.
Jeff Law [Mon, 17 Aug 1998 20:09:31 +0000 (14:09 -0600)]
rs6000.c (secondary_reload_class): For TARGET_ELF...
�
* 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.
Jeff Law [Mon, 17 Aug 1998 20:09:28 +0000 (14:09 -0600)]
rs6000.c (secondary_reload_class): For TARGET_ELF...
* 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.
Jeffrey A Law [Sat, 15 Aug 1998 00:32:21 +0000 (00:32 +0000)]
loop.c (add_label_notes): Do not ignore references to labels before dispatch tables.
* 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.
Fixes abort building XEmacs on x86.