Resolve conflicts from gcc 2.95.3 import.
This commit is contained in:
parent
f54fbfcb75
commit
dbfa9a0b9b
664
gnu/dist/toolchain/gcc/ChangeLog
vendored
664
gnu/dist/toolchain/gcc/ChangeLog
vendored
@ -54,6 +54,670 @@
|
|||||||
* config/sparc/sparc.c (sparc_override_options): Allow block
|
* config/sparc/sparc.c (sparc_override_options): Allow block
|
||||||
profiling with -m32.
|
profiling with -m32.
|
||||||
|
|
||||||
|
Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
|
||||||
|
|
||||||
|
* gcc-2.95.3 Released.
|
||||||
|
|
||||||
|
2001-03-12 Kazu Hirata <kazu@hxi.com>
|
||||||
|
|
||||||
|
* config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
|
||||||
|
into two parts.
|
||||||
|
|
||||||
|
2001-03-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
* final.c (alter_subreg): Use plus_constant_for_output to match
|
||||||
|
what offsettable_address_p does.
|
||||||
|
|
||||||
|
2001-02-19 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
Back out sjlj eh fixes.
|
||||||
|
* varasm.c (force_const_mem): Revert previous change.
|
||||||
|
* except.c (receive_exception_label, start_dynamic_handler):
|
||||||
|
Likewise.
|
||||||
|
* expr.c (expand_builtin_setjmp, expand_builtin_setjmp_setup,
|
||||||
|
expand_builtin_setjmp_receiver, expand_builtin): Likewise.
|
||||||
|
* expr.h (expand_builtin_setjmp, expand_builtin_setjmp_receiver):
|
||||||
|
Likewise.
|
||||||
|
|
||||||
|
2001-01-25 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
* varasm.c (force_const_mem): When putting a LABEL_REF into the
|
||||||
|
constant pool, also put it on forced_labels list so that it won't
|
||||||
|
be deleted.
|
||||||
|
|
||||||
|
2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
|
||||||
|
* emit-rtl.c (reset_used_decls): New function.
|
||||||
|
(unshare_all_rtl_again): Call it.
|
||||||
|
|
||||||
|
2000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||||||
|
* emit-rtl.c (unshare_all_decls): New function.
|
||||||
|
(unshare_all_rtl): Call it.
|
||||||
|
|
||||||
|
2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
|
||||||
|
* emit-rtl.c (unshare_all_rtl): Store the copied rtx.
|
||||||
|
|
||||||
|
2000-04-15 Richard Earnshaw (rearnsah@arm.com)
|
||||||
|
* emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
|
||||||
|
call unshare_all_rtl.
|
||||||
|
|
||||||
|
2000-01-27 Geoffrey Keating <geoffk@cygnus.com>
|
||||||
|
* emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
|
||||||
|
Use unshare_all_rtl_1.
|
||||||
|
(unshare_all_rtl_again): New function.
|
||||||
|
(unshare_all_rtl_1): New function split out of unshare_all_rtl.
|
||||||
|
* function.c (purge_addressof_1): Use unshare_all_rtl_again
|
||||||
|
rather than resetting the 'used' flags ourself.
|
||||||
|
* toplev.c (rest_of_compilation): Add current_function_decl
|
||||||
|
to the unshare_all_rtl call.
|
||||||
|
* tree.h: Prototype unshare_all_rtl.
|
||||||
|
* rtl.h: Prototype unshare_all_rtl_again here.
|
||||||
|
|
||||||
|
2001-01-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
* expr.c (expand_builtin_setjmp_receiver): Emit a scheduling barrier
|
||||||
|
as last insn.
|
||||||
|
|
||||||
|
2001-01-11 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
2001-01-09 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
Remove support for using UWIN as a host machine.
|
||||||
|
* configure.in: Issue an error message.
|
||||||
|
* configure: Regenerated.
|
||||||
|
* config.gcc: Remove xm_* UWIN configury.
|
||||||
|
* config/i386/xm-uwin.h: Remove.
|
||||||
|
|
||||||
|
* config/mips/vxworks.h: Don't terminate comment before its end.
|
||||||
|
|
||||||
|
* invoke.texi: Update -fvtable-thunks documentation.
|
||||||
|
|
||||||
|
* loop.c (scan_loop): Disable copy propagation if we find a REG_LABEL
|
||||||
|
note.
|
||||||
|
|
||||||
|
Revert this patch:
|
||||||
|
2000-12-18 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
* rs6000.c (and64_operand): Use logical_u_operand.
|
||||||
|
|
||||||
|
Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com>
|
||||||
|
* tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
|
||||||
|
always have side-effects.
|
||||||
|
|
||||||
|
Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
|
||||||
|
always have side-effects.
|
||||||
|
|
||||||
|
2001-01-01 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
* loop.c (instrument_loop_bct): Set JUMP_LABEL on new jump.
|
||||||
|
|
||||||
|
2000-12-27 Geoffrey Keating <geoffk@redhat.com>
|
||||||
|
* config/rs6000/rs6000.md (define_attr "length"): Correct
|
||||||
|
calculation.
|
||||||
|
|
||||||
|
2001-01-01 Philipp Thomas <pthomas@suse.de>
|
||||||
|
|
||||||
|
* configure.in: Make the help for --enable-nls make it
|
||||||
|
clear that this is an experimental feature.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* ABOUT-GCC-NLS: Explain why NLS support is buggy.
|
||||||
|
|
||||||
|
2000-12-29 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
* combine.c (cant_combine_insn_p): Only restrict hard register
|
||||||
|
combinations for SMALL_REGISTER_CLASSES machines.
|
||||||
|
|
||||||
|
* config/sparc/sparc.c (pic_address_needs_scratch): LABEL_REFs are
|
||||||
|
not valid pic operands.
|
||||||
|
|
||||||
|
2000-12-26 Kazu Hirata <kazu@hxi.com>
|
||||||
|
* config/h8300/h8300.c (get_shift_alg): Fix a typo in the
|
||||||
|
assembly code for 12-bit ASHIFTRT in HImode.
|
||||||
|
|
||||||
|
2000-07-17 Kazu Hirata <kazu@hxi.com>
|
||||||
|
* h8300.md: Fix the format of mac.
|
||||||
|
(movsi_h8300hs): Output a tab after stmac instead of a space.
|
||||||
|
|
||||||
|
2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
|
||||||
|
* config/h8300/h8300.md: Remove the memory alternative and correct
|
||||||
|
the insn lengths in the templates for sign extention and zero
|
||||||
|
extention.
|
||||||
|
|
||||||
|
2000-12-23 Philip Blundell <philb@gnu.org>
|
||||||
|
* config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `arm' or
|
||||||
|
`arm_elf'; do define `__arm__'.
|
||||||
|
|
||||||
|
2000-08-22 Richard Henderson <rth@cygnus.com>
|
||||||
|
* alias.c (init_alias_analysis): Do not register
|
||||||
|
struct_value_incoming_rtx or static_chain_rtx as pointing
|
||||||
|
to stack memory.
|
||||||
|
|
||||||
|
Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com)
|
||||||
|
* builtins.c (expand_builtin_setjmp_setup): Set
|
||||||
|
current_function_has_nonlocal_label.
|
||||||
|
|
||||||
|
2000-12-03 Richard Henderson <rth@redhat.com>
|
||||||
|
* builtins.c (expand_builtin_setjmp_setup): New.
|
||||||
|
(expand_builtin_setjmp_receiver): New.
|
||||||
|
(expand_builtin_setjmp): Split out _setup and _receiver functions.
|
||||||
|
Move argument parsing in from ...
|
||||||
|
(expand_builtin): ... here.
|
||||||
|
* except.c (receive_exception_label): Branch around receiver
|
||||||
|
unless new-style exceptions. Call expand_builtin_setjmp_receiver.
|
||||||
|
(start_dynamic_handler): Call expand_builtin_setjmp_setup.
|
||||||
|
* expr.h: Update builtin setjmp decls.
|
||||||
|
|
||||||
|
2000-12-22 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* calls.c (emit_call_1): Fall back to call_pop/call_value_pop if no
|
||||||
|
non-popping calls are available.
|
||||||
|
|
||||||
|
* flow.c (propagate_block): Use flow_delete_insn instead of
|
||||||
|
NOTEifying a dead ADDR_VEC.
|
||||||
|
|
||||||
|
Fri Sep 10 11:43:07 1999 Philip Blundell <pb@futuretv.com>
|
||||||
|
* configure.in, config/arm/linux-oldld.h,
|
||||||
|
config/arm/linux-elf26.h, config/arm/linux-elf.h: Backport latest
|
||||||
|
ARM GNU/Linux config from mainline.
|
||||||
|
* configure: Regenerate.
|
||||||
|
|
||||||
|
2000-02-08 Geoff Keating <geoffk@cygnus.com>
|
||||||
|
* dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
|
||||||
|
* dwarf2out.c (dwarf_cfi_name): Print name of new constant.
|
||||||
|
(reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
|
||||||
|
(output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
|
||||||
|
* frame.c (execute_cfa_insn): Handle
|
||||||
|
DW_CFA_GNU_negative_offset_extended.
|
||||||
|
|
||||||
|
2000-03-06 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
* function.c (free_temps_for_rtl_expr): Don't free slots
|
||||||
|
that have been pushed into a higher level.
|
||||||
|
|
||||||
|
1999-12-16 David S. Miller <davem@redhat.com>
|
||||||
|
* expr.c (emit_move_insn_1): Only emit clobbers if one of
|
||||||
|
the outputs is a SUBREG.
|
||||||
|
|
||||||
|
Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com>
|
||||||
|
* expr.c (emit_move_insn_1): If we are copying a complex that fits
|
||||||
|
in one word or less (complex char, complex short, or on 64 bit
|
||||||
|
systems complex float) to/from a hard register, copy it through
|
||||||
|
memory instead of dying in gen_{real,imag}part. If we have a
|
||||||
|
short complex type, prevent inlining since it allocates stack
|
||||||
|
memory.
|
||||||
|
|
||||||
|
Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz>
|
||||||
|
* combine.c (cant_combine_insn_p): Get around SUBREGs when determining
|
||||||
|
hardreg<->reg moves.
|
||||||
|
|
||||||
|
2000-12-01 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* combine.c (cant_combine_insn_p): Only disallow insns involving
|
||||||
|
hard regs if they are reg-reg moves.
|
||||||
|
|
||||||
|
2000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* combine.c (cant_combine_insn_p): New function.
|
||||||
|
(try_combine): Use it.
|
||||||
|
|
||||||
|
2000-12-20 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
* reload1.c (free_for_value_p): Fix error in last change.
|
||||||
|
|
||||||
|
2000-03-22 Richard Henderson <rth@cygnus.com>
|
||||||
|
* stmt.c (expand_asm_operands): Don't promote the temporary.
|
||||||
|
|
||||||
|
Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
* rtl.h (insns_safe_to_move_p): New function.
|
||||||
|
* loop.c (find_and_verify_loops): Use it.
|
||||||
|
* rtlanal.c (insns_safe_to_move_p): Define it.
|
||||||
|
|
||||||
|
Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com>
|
||||||
|
* reload.c (find_equiv_reg): Test all hard registers for membership
|
||||||
|
in the requested class.
|
||||||
|
|
||||||
|
Sun Apr 23 16:24:35 2000 Denis Chertykov <denisc@overta.ru>
|
||||||
|
* reload.c (find_equiv_reg): Checks all valueno regs
|
||||||
|
as a reload_reg_p regs.
|
||||||
|
|
||||||
|
Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru>
|
||||||
|
* reload.c (find_equiv_reg): Checks all valueno and regno regs
|
||||||
|
as a call-clobbered regs.
|
||||||
|
|
||||||
|
2000-12-18 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
2000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* optabs.c (emit_libcall_block): If target is a user variable,
|
||||||
|
copy to a temporary first.
|
||||||
|
|
||||||
|
2000-04-28 Kazu Hirata <kazu@hxi.com>
|
||||||
|
* h8300.c (function_epilogue): Clean up flags when the last insn
|
||||||
|
in a function is a barrier.
|
||||||
|
|
||||||
|
Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
* emit-rtl.c (copy_rtx_if_shared): A MEM which references
|
||||||
|
virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
|
||||||
|
be shared.
|
||||||
|
|
||||||
|
2000-03-24 Geoff Keating <geoffk@cygnus.com>
|
||||||
|
* flow.c (propagate_block): When we delete an ADDR_VEC,
|
||||||
|
also delete the BARRIER following it if there is one.
|
||||||
|
|
||||||
|
Wed Oct 27 14:10:27 1999 Geoffrey Keating <geoffk@cygnus.com>
|
||||||
|
* flow.c (propagate_block): When the last reference to a label
|
||||||
|
before an ADDR_VEC is deleted because the reference is a dead
|
||||||
|
store, delete the ADDR_VEC.
|
||||||
|
|
||||||
|
2000-03-19 Richard Henderson <rth@cygnus.com>
|
||||||
|
* flow.c (delete_block): Delete the addr_vec along with the block.
|
||||||
|
(flow_delete_insn): Decrement LABEL_NUSES when deleting insns that
|
||||||
|
reference labels.
|
||||||
|
|
||||||
|
2000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload1.c (free_for_value_p): New function, frontend to
|
||||||
|
reload_reg_free_for_value_p. All callers of the latter now call
|
||||||
|
this function with an additional mode argument.
|
||||||
|
|
||||||
|
2000-11-10 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
(regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All
|
||||||
|
callers changed.
|
||||||
|
* reload1.c (choose_reload_regs): Registers set in the insn can't be
|
||||||
|
used for RELOAD_OTHER reloads.
|
||||||
|
|
||||||
|
2000-10-28 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload1.c (choose_reload_regs): Never set reload_override_in for an
|
||||||
|
optional reload.
|
||||||
|
|
||||||
|
2000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
|
||||||
|
to handle multiword modes correctly. All callers and the declaration
|
||||||
|
changed.
|
||||||
|
|
||||||
|
2000-12-18 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
|
||||||
|
* rs6000.c (and64_operand): Use logical_u_operand.
|
||||||
|
(first_reg_to_save): Don't save fixed or call-used registers
|
||||||
|
except PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
|
||||||
|
* rs6000.md (anddi3): Prefer rldic? over andis instruction.
|
||||||
|
|
||||||
|
2000-12-18 Zack Weinberg <zackw@Stanford.EDU>:
|
||||||
|
|
||||||
|
* Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
|
||||||
|
xcpp to cpp throughout.
|
||||||
|
(native): Remove unnecessary dependency on cpp.
|
||||||
|
* gcc.c (C specs): Call cpp0 to do preprocessing, not cpp.
|
||||||
|
* ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h,
|
||||||
|
objc/lang-specs.h: Call cpp0 to do preprocessing, not cpp.
|
||||||
|
|
||||||
|
2000-12-18 Christian Groessler <cpg@aladdin.de>
|
||||||
|
|
||||||
|
* toplev.c (check_lang_option): Use NUM_ELEM only on arrays, not on
|
||||||
|
pointers.
|
||||||
|
|
||||||
|
2000-12-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||||
|
|
||||||
|
* linux.h (DEFAULT_VTABLE_THUNKS): Switch back to version 1.
|
||||||
|
* alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Likewise.
|
||||||
|
* arm/linux-elf (DEFAULT_VTABLE_THUNKS): Likewise.
|
||||||
|
* i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Likewise.
|
||||||
|
* rs6000/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
|
||||||
|
* sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
|
||||||
|
|
||||||
|
2000-12-05 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
2000-07-03 Nick Clifton <nickc@cygnus.com>
|
||||||
|
* config/arm/arm.md: Fix post increment and pre increment
|
||||||
|
peepholes so that they do not generate UNPREDICATBLE opcodes.
|
||||||
|
(ie ones where the increment clobbers the source/destination).
|
||||||
|
|
||||||
|
Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
* arm.c (arm_override_options): Correct initialization of
|
||||||
|
arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
|
||||||
|
arm_is_strong, and arm_is_6_or_7.
|
||||||
|
|
||||||
|
Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||||
|
* arm.h (Hint): Delete macro.
|
||||||
|
Substitute HOST_WIDE_INT for Hint in some prototypes.
|
||||||
|
* arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
|
||||||
|
|
||||||
|
2000-11-30 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* version.c: Bump.
|
||||||
|
|
||||||
|
Based on a patch from Geoff Keating <geoffk@redhat.com>:
|
||||||
|
* loop.c (basic_induction_var): If a REG is set from something
|
||||||
|
that is not a biv, then the REG is not a biv. Even if it is
|
||||||
|
earlier set from something that is a biv.
|
||||||
|
|
||||||
|
2000-09-01 Jim Wilson <wilson@cygnus.com>
|
||||||
|
* loop.c (check_final_value): Check for biv use before checking for
|
||||||
|
giv use. Check for both biv and giv uses. Always set last_giv_use
|
||||||
|
if there is a giv use.
|
||||||
|
|
||||||
|
2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||||
|
* loop.c (check_final_value): A GIV is not replaceable if used
|
||||||
|
before set.
|
||||||
|
|
||||||
|
Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* loop.c (find_and_verify_loops): When looking for a BARRIER, don't
|
||||||
|
use one before a jump table.
|
||||||
|
|
||||||
|
Fri Jul 9 10:48:28 1999 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* loop.c (check_dbra_loop): When reversing a loop, delete all
|
||||||
|
REG_EQUAL notes referencing the reversed biv except those which are
|
||||||
|
for a giv based on it.
|
||||||
|
|
||||||
|
2000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload1.c (conflicts_with_override): New function.
|
||||||
|
(emit_input_reload_insns): Use it to tighten test for validity
|
||||||
|
of substituting into output of previous insn.
|
||||||
|
|
||||||
|
Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@redhat.co.uk>
|
||||||
|
* reload.h (earlyclobber_operand_p): Declare.
|
||||||
|
* reload.c (earlyclobber_operand_p): Don't declare. No longer static.
|
||||||
|
* reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
|
||||||
|
an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
|
||||||
|
case where the RELOAD_OTHER reload is new. Use
|
||||||
|
earlyclobber_operand_p.
|
||||||
|
|
||||||
|
2000-01-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload1.c (reload_reg_unavailable): New static variable.
|
||||||
|
(reload_reg_free_p): Test it.
|
||||||
|
(reload_reg_free_for_value_p): Test it instead of reload_reg_used.
|
||||||
|
(choose_reload_regs_init): Compute it.
|
||||||
|
|
||||||
|
Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||||
|
* reload.c (push_reload): When seeing if can reuse a register,
|
||||||
|
check extra registers against widest of INMODE and OUTMODE.
|
||||||
|
|
||||||
|
1999-11-29 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload.c (push_reload): When looking for a register to put into
|
||||||
|
reg_rtx, make sure all hard regs in a multi-reg register are in the
|
||||||
|
right class and nonfixed.
|
||||||
|
|
||||||
|
1999-11-29 Joern Rennecke <amylaar@redhat.co.uk>
|
||||||
|
* reload1.c (reloads_conflict): Reverse test comparing operand
|
||||||
|
numbers when testing for conflict between output/outaddr reloads.
|
||||||
|
|
||||||
|
2000-07-12 Richard Henderson <rth@redhat.com>
|
||||||
|
* reload.c (push_secondary_reload): Make sure to add the new
|
||||||
|
reload at the end, after acquiring secondary memory.
|
||||||
|
|
||||||
|
2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload.c (find_reloads_address_1): Generate reloads for auto_inc
|
||||||
|
pseudos that refer to the original pseudos, not only to their
|
||||||
|
equivalent memory locations.
|
||||||
|
|
||||||
|
2000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
* reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
|
||||||
|
its entry in spill_reg_store.
|
||||||
|
|
||||||
|
Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||||
|
* reload1.c (reload_reg_free_for_value_p): Show
|
||||||
|
RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
|
||||||
|
reloads.
|
||||||
|
|
||||||
|
2000-02-26 Geoff Keating <geoffk@cygnus.com>
|
||||||
|
* reload1.c (do_output_reload): Check reg_reloaded_valid before
|
||||||
|
looking at reg_reloaded_contents.
|
||||||
|
|
||||||
|
Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||||||
|
* emit-rtl.c (try_split): Avoid infinite loop if the split
|
||||||
|
results in a sequence that contains the original insn.
|
||||||
|
|
||||||
|
1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||||
|
* combine.c (combine_simplify_rtx): Don't make shared rtl.
|
||||||
|
(simplify_logical): Likewise.
|
||||||
|
|
||||||
|
Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
|
||||||
|
* fold-const.c (make_range): Handle degenerated intervals.
|
||||||
|
Fixes c-torture/execute/991221-1.c
|
||||||
|
|
||||||
|
2000-07-15 Michael Meissner <meissner@redhat.com>
|
||||||
|
* fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
|
||||||
|
== CONST + INCREMENT, don't overwrite the tree node for FOO++,
|
||||||
|
create a new node instead.
|
||||||
|
|
||||||
|
2000-01-01 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||||
|
* expmed.c (emit_store_flag): Prevent losing a pending stack
|
||||||
|
adjust the same way we prevent losing queued increments.
|
||||||
|
|
||||||
|
2000-10-27 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* expr.c (expand_expr, case INDIRECT_REF): If the address is a
|
||||||
|
PLUS, that does not prove the object is in a structure.
|
||||||
|
|
||||||
|
2000-08-25 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
|
||||||
|
* collect2.c (use_import_list): Always return 0 (disable).
|
||||||
|
|
||||||
|
2000-07-07 Manfred Hollstein <manfredh@redhat.com>
|
||||||
|
|
||||||
|
* i386.md (exception_receiver): Add missing parameter in
|
||||||
|
call to load_pic_register.
|
||||||
|
|
||||||
|
Fri May 26 10:30:02 2000 Richard Earnshaw (rearnsha@arm.com)
|
||||||
|
|
||||||
|
* arm.md (negdi2): Add clobber of condition code register.
|
||||||
|
|
||||||
|
Wed May 24 00:25:45 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||||||
|
|
||||||
|
2000-05-22 Richard Henderson <rth@cygnus.com>
|
||||||
|
* function.c (thread_prologue_and_epilogue_insns): Make sure
|
||||||
|
existing line number notes appear after the prologue.
|
||||||
|
|
||||||
|
2000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||||
|
|
||||||
|
* sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux according
|
||||||
|
to given options.
|
||||||
|
|
||||||
|
2000-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||||
|
|
||||||
|
* rs6000/rs6000.md (nonlocal_goto_receiver): Add length attribute.
|
||||||
|
|
||||||
|
Wed Apr 12 00:42:19 2000 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
2000-02-19 Richard Henderson <rth@cygnus.com>
|
||||||
|
* c-typeck.c (add_pending_init): Don't abort for multiple
|
||||||
|
fields at the same offset.
|
||||||
|
(pending_init_member): Test the correct member.
|
||||||
|
|
||||||
|
Wed Apr 12 00:44:31 2000 Jeffrey A Law (law@cygnus.com)
|
||||||
|
* config/i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
|
||||||
|
|
||||||
|
Tue Nov 9 17:14:40 1999 H.J. Lu <hjl@gnu.org>
|
||||||
|
* invoke.texi (-fvtable-thunks): Document that Linux/GNU uses
|
||||||
|
version 2 as default.
|
||||||
|
|
||||||
|
Tue Nov 9 10:16:55 1999 H.J. Lu <hjl@gnu.org>
|
||||||
|
* alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
|
||||||
|
* arm/linux-elf.h: Likewise.
|
||||||
|
* rs6000/linux.h: Likewise.
|
||||||
|
* sparc/linux.h: Likewise.
|
||||||
|
|
||||||
|
Mon Nov 8 14:41:34 1999 H.J. Lu <hjl@gnu.org>
|
||||||
|
* config/linux.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
|
||||||
|
|
||||||
|
Sun May 2 08:49:27 1999 Martin von Löwis <loewis@informatik.hu-berlin.de>
|
||||||
|
* invoke.texi (-fvtable-thunks): Document numeric argument.
|
||||||
|
|
||||||
|
2000-04-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||||||
|
|
||||||
|
* config/elfos.h (SELECT_SECTION): Decide whether to use a data or
|
||||||
|
const section to output a CONSTRUCTOR based on the same conditions
|
||||||
|
used for VAR_DECLs.
|
||||||
|
|
||||||
|
Mon Apr 3 02:31:32 2000 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||||||
|
* unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
|
||||||
|
on iteration_var.
|
||||||
|
|
||||||
|
Wed Mar 22 13:11:54 2000 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
|
||||||
|
* rs6000.c (reg_or_u_cint_operand): New function.
|
||||||
|
(logical_operand): Handle 64-bit hosts.
|
||||||
|
(logical_u_operand): New function.
|
||||||
|
(non_logical_cint_operand): Handle 64-bit hosts.
|
||||||
|
(non_logical_u_cint_operand): New function.
|
||||||
|
(expand_block_move): Allow 8 DImode loads for PowerPC64.
|
||||||
|
* rs6000.h (PREDICATE_CODES): Define new functions.
|
||||||
|
* rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
|
||||||
|
(movdi_64): Bracket code intended for 64-bit hosts. Create
|
||||||
|
CONST_DOUBLE for 32-bit values.
|
||||||
|
|
||||||
|
* glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.
|
||||||
|
|
||||||
|
Wed Mar 22 13:11:54 2000 Gabriel Paubert <paubert@iram.es>
|
||||||
|
|
||||||
|
* rs6000.md: Correct instructions length attributes and
|
||||||
|
constraints on unsigned compare instructions.
|
||||||
|
(*ne0): Disable for PowerPC64.
|
||||||
|
|
||||||
|
Tue Mar 7 21:41:17 2000 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
* cccp.c (handle_directive): Initialize backslash_newlines_p.
|
||||||
|
|
||||||
|
Wed Jan 19 20:39:17 2000 Jim Wilson <wilson@cygnus.com>
|
||||||
|
* fixinc/inclhack.tpl: Test for directory before trying to cd into it.
|
||||||
|
* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
|
||||||
|
|
||||||
|
Tue Oct 12 09:45:19 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
|
||||||
|
* config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
|
||||||
|
__CTOR_LIST__ in opposite order, which is the correct order for sorted
|
||||||
|
constructors.
|
||||||
|
(__do_global_dtors): similarly for __DTOR_LIST__.
|
||||||
|
|
||||||
|
2000-01-05 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||||
|
* reload1.c (choose_reload_regs): When disabling a reload, also
|
||||||
|
set reload_spill_index to -1.
|
||||||
|
|
||||||
|
Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com>
|
||||||
|
* reload1.c (reload_reg_free_for_value_p): Don't use a register
|
||||||
|
that is in reload_reg_used.
|
||||||
|
|
||||||
|
2000-01-18 Clinton Popetz <cpopetz@cygnus.com>
|
||||||
|
* loop.c (check_dbra_loop): When checking a loop for
|
||||||
|
reversability, check the source of any stores to ensure they
|
||||||
|
don't depend on an initial value.
|
||||||
|
|
||||||
|
Sat Jan 8 12:12:46 2000 Nick Clifton <nickc@cygnus.com>
|
||||||
|
* config/v850/v850.c (expand_epilogue): Interrupt functions no
|
||||||
|
longer allocate extra stack for function calls.
|
||||||
|
|
||||||
|
Fri Feb 18 13:32:32 2000 Martin von Loewis <loewis@informatik.hu-berlin.de>
|
||||||
|
|
||||||
|
* gcc.texi (Bug Reporting): Refer to bugs.html.
|
||||||
|
(Bug Lists): Likewise.
|
||||||
|
* system.h (GCCBUGURL): New preprocessor define.
|
||||||
|
(abort): Use it.
|
||||||
|
* gcc.c (main): Likewise.
|
||||||
|
|
||||||
|
Thu Feb 3 10:53:45 2000 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
|
Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com>
|
||||||
|
* c-decl.c (duplicate_decls): Copy DECL_MODE too.
|
||||||
|
|
||||||
|
Thu Jan 20 10:02:07 2000 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
|
2000-01-03 Anthony Green <green@cygnus.com>
|
||||||
|
* config/i386/i386.md (builtin_setjmp_receiver): New pattern.
|
||||||
|
Restore the pic register if required.
|
||||||
|
|
||||||
|
Fri Jan 7 14:40:05 2000 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
|
Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||||
|
* stmt.c (expand_value_return): Correctly convert VAL when promoting
|
||||||
|
function return.
|
||||||
|
|
||||||
|
Tue Jan 4 02:22:27 2000 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
|
||||||
|
* config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
|
||||||
|
if the pic register is used.
|
||||||
|
|
||||||
|
Sat Sep 25 13:11:07 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
* cse.c: Update comments.
|
||||||
|
(cse_insn): When converting a conditional/computed jump into
|
||||||
|
an unconditional jump, always make sure a BARRIER immediately
|
||||||
|
follows the converted jump. Do not delete unreachable code.
|
||||||
|
(cse_basic_block): Do not delete unreachable code.
|
||||||
|
* toplev.c (rest_of_compilation): Move call to
|
||||||
|
delete_trivially_dead_insns after the conditional call to
|
||||||
|
jump_optimize.
|
||||||
|
|
||||||
|
|
||||||
|
Wed Dec 29 22:47:43 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
1999-12-12 Stephen L Moshier <moshier@mediaone.net>
|
||||||
|
* loop.c (load_mems): Don't hoist written floating point mem
|
||||||
|
if -ffloat-store.
|
||||||
|
|
||||||
|
* cppinit.c (is_idchar): Only use special initialization for
|
||||||
|
gcc-2.8 and later versions of the compiler.
|
||||||
|
|
||||||
|
Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com>
|
||||||
|
* sparc.md (call): Don't bound structure return size to 0xfff.
|
||||||
|
|
||||||
|
Mon Dec 27 07:32:59 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
Fri Sep 3 10:16:37 HST 1999 Glen Nakamura <glen.nakamura@usa.net>
|
||||||
|
* cccp.c (rescan): Fixed obp pointer handling around call to
|
||||||
|
check_expand subroutine.
|
||||||
|
|
||||||
|
Thu Sep 16 00:46:35 1999 Geoff Keating <geoffk@cygnus.com>
|
||||||
|
* loop.c (basic_induction_var): A non-integer variable which is
|
||||||
|
being set by a paradoxical subreg is probably not a biv.
|
||||||
|
|
||||||
|
1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
|
||||||
|
* loop.c (check_dbra_loop): Check bl->biv->add_val is a
|
||||||
|
CONST_INT before using its INTVAL.
|
||||||
|
|
||||||
|
Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||||||
|
* configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
|
||||||
|
have been an hyphen, fixed.
|
||||||
|
* configure: Rebuilt.
|
||||||
|
|
||||||
|
Thu Dec 23 11:59:56 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
1999-12-23 Martin v. Löwis <loewis@informatik.hu-berlin.de>
|
||||||
|
* fold-const.c (operand_equal_p): Use memcmp to compare string
|
||||||
|
constants.
|
||||||
|
Suggested by D. J. Bernstein
|
||||||
|
|
||||||
|
Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
* h8300.md (HImode preinc peephole): Fix typo.
|
||||||
|
|
||||||
|
1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||||
|
* loop.c (check_dbra_loop): Can't reverse a biv that has
|
||||||
|
maybe_multiple set.
|
||||||
|
|
||||||
|
1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de>
|
||||||
|
|
||||||
|
* invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
Sun Oct 31 22:32:17 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
|
||||||
|
|
||||||
|
* config/i386/sol2gas.h: I had installed the wrong version of Sept
|
||||||
|
22's patch in the release branch. Fixed.
|
||||||
|
* configure.in: Likewise.
|
||||||
|
* configure: Rebuilt.
|
||||||
|
Reported by Jason Beardsley <jbeardsley@origin.ea.com>
|
||||||
|
|
||||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||||
|
|
||||||
* gcc-2.95.2 Released.
|
* gcc-2.95.2 Released.
|
||||||
|
4
gnu/dist/toolchain/gcc/c-decl.c
vendored
4
gnu/dist/toolchain/gcc/c-decl.c
vendored
@ -1,5 +1,6 @@
|
|||||||
/* Process declarations and variables for C compiler.
|
/* Process declarations and variables for C compiler.
|
||||||
Copyright (C) 1988, 92-98, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
|
|
||||||
@ -1955,6 +1956,7 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
|
|||||||
{
|
{
|
||||||
/* Since the type is OLDDECL's, make OLDDECL's size go with. */
|
/* Since the type is OLDDECL's, make OLDDECL's size go with. */
|
||||||
DECL_SIZE (newdecl) = DECL_SIZE (olddecl);
|
DECL_SIZE (newdecl) = DECL_SIZE (olddecl);
|
||||||
|
DECL_MODE (newdecl) = DECL_MODE (olddecl);
|
||||||
if (TREE_CODE (olddecl) != FUNCTION_DECL)
|
if (TREE_CODE (olddecl) != FUNCTION_DECL)
|
||||||
if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl))
|
if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl))
|
||||||
DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl);
|
DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl);
|
||||||
|
12
gnu/dist/toolchain/gcc/calls.c
vendored
12
gnu/dist/toolchain/gcc/calls.c
vendored
@ -1,5 +1,6 @@
|
|||||||
/* Convert function calls to rtl insns, for GNU C compiler.
|
/* Convert function calls to rtl insns, for GNU C compiler.
|
||||||
Copyright (C) 1989, 92-97, 1998, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
|
|
||||||
@ -408,13 +409,12 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
|
|||||||
/* If the target has "call" or "call_value" insns, then prefer them
|
/* If the target has "call" or "call_value" insns, then prefer them
|
||||||
if no arguments are actually popped. If the target does not have
|
if no arguments are actually popped. If the target does not have
|
||||||
"call" or "call_value" insns, then we must use the popping versions
|
"call" or "call_value" insns, then we must use the popping versions
|
||||||
eve n if the call has no arguments to pop. */
|
even if the call has no arguments to pop. */
|
||||||
|
if (HAVE_call_pop && HAVE_call_value_pop
|
||||||
#if defined (HAVE_call) && defined (HAVE_call_value)
|
#if defined (HAVE_call) && defined (HAVE_call_value)
|
||||||
if (HAVE_call && HAVE_call_value && HAVE_call_pop && HAVE_call_value_pop
|
&& (n_popped > 0 || ! HAVE_call || ! HAVE_call_value)
|
||||||
&& n_popped > 0)
|
|
||||||
#else
|
|
||||||
if (HAVE_call_pop && HAVE_call_value_pop)
|
|
||||||
#endif
|
#endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
rtx n_pop = GEN_INT (n_popped);
|
rtx n_pop = GEN_INT (n_popped);
|
||||||
rtx pat;
|
rtx pat;
|
||||||
|
15
gnu/dist/toolchain/gcc/collect2.c
vendored
15
gnu/dist/toolchain/gcc/collect2.c
vendored
@ -1,6 +1,7 @@
|
|||||||
/* Collect static initialization info into data structures that can be
|
/* Collect static initialization info into data structures that can be
|
||||||
traversed by C++ initialization and finalization routines.
|
traversed by C++ initialization and finalization routines.
|
||||||
Copyright (C) 1992, 93-98, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||||
|
Free Software Foundation, Inc.
|
||||||
Contributed by Chris Smith (csmith@convex.com).
|
Contributed by Chris Smith (csmith@convex.com).
|
||||||
Heavily modified by Michael Meissner (meissner@cygnus.com),
|
Heavily modified by Michael Meissner (meissner@cygnus.com),
|
||||||
Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.com).
|
Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.com).
|
||||||
@ -3044,21 +3045,11 @@ scan_prog_file (prog_name, which_pass)
|
|||||||
|
|
||||||
#ifdef COLLECT_EXPORT_LIST
|
#ifdef COLLECT_EXPORT_LIST
|
||||||
|
|
||||||
/* This new function is used to decide whether we should
|
/* Never generate import list (gcc-2.95 branch). */
|
||||||
generate import list for an object or to use it directly. */
|
|
||||||
static int
|
static int
|
||||||
use_import_list (prog_name)
|
use_import_list (prog_name)
|
||||||
char *prog_name;
|
char *prog_name;
|
||||||
{
|
{
|
||||||
char *p;
|
|
||||||
|
|
||||||
/* If we do not build a shared object then import list should not be used. */
|
|
||||||
if (! shared_obj) return 0;
|
|
||||||
|
|
||||||
/* Currently we check only for libgcc, but this can be changed in future. */
|
|
||||||
p = strstr (prog_name, "libgcc.a");
|
|
||||||
if (p != 0 && (strlen (p) == sizeof ("libgcc.a") - 1))
|
|
||||||
return 1;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
5
gnu/dist/toolchain/gcc/config/elfos.h
vendored
5
gnu/dist/toolchain/gcc/config/elfos.h
vendored
@ -1,6 +1,6 @@
|
|||||||
/* elfos.h -- operating system specific defines to be used when
|
/* elfos.h -- operating system specific defines to be used when
|
||||||
targeting GCC for some generic ELF system
|
targeting GCC for some generic ELF system
|
||||||
Copyright (C) 1991, 1994, 1995, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1991, 1994, 1995, 1999, 2000 Free Software Foundation, Inc.
|
||||||
Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com).
|
Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com).
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
@ -431,7 +431,8 @@ do { \
|
|||||||
else \
|
else \
|
||||||
data_section (); \
|
data_section (); \
|
||||||
} \
|
} \
|
||||||
else if (TREE_CODE (DECL) == VAR_DECL) \
|
else if (TREE_CODE (DECL) == VAR_DECL \
|
||||||
|
|| TREE_CODE (DECL) == CONSTRUCTOR) \
|
||||||
{ \
|
{ \
|
||||||
if ((flag_pic && RELOC) \
|
if ((flag_pic && RELOC) \
|
||||||
|| !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
|
|| !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
|
||||||
|
6
gnu/dist/toolchain/gcc/config/sparc/sparc.c
vendored
6
gnu/dist/toolchain/gcc/config/sparc/sparc.c
vendored
@ -1,5 +1,6 @@
|
|||||||
/* Subroutines for insn-output.c for Sun SPARC.
|
/* Subroutines for insn-output.c for Sun SPARC.
|
||||||
Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||||
|
1999, 2000 Free Software Foundation, Inc.
|
||||||
Contributed by Michael Tiemann (tiemann@cygnus.com)
|
Contributed by Michael Tiemann (tiemann@cygnus.com)
|
||||||
64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
|
64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
|
||||||
at Cygnus Support.
|
at Cygnus Support.
|
||||||
@ -2434,6 +2435,9 @@ int
|
|||||||
pic_address_needs_scratch (x)
|
pic_address_needs_scratch (x)
|
||||||
rtx x;
|
rtx x;
|
||||||
{
|
{
|
||||||
|
if (GET_CODE (x) == LABEL_REF)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* An address which is a symbolic plus a non SMALL_INT needs a temp reg. */
|
/* An address which is a symbolic plus a non SMALL_INT needs a temp reg. */
|
||||||
if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS
|
if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS
|
||||||
&& GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
|
&& GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
|
||||||
|
7
gnu/dist/toolchain/gcc/config/sparc/sparc.md
vendored
7
gnu/dist/toolchain/gcc/config/sparc/sparc.md
vendored
@ -1,5 +1,6 @@
|
|||||||
;;- Machine description for SPARC chip for GNU C compiler
|
;;- Machine description for SPARC chip for GNU C compiler
|
||||||
;; Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
|
;; Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||||
|
;; 1999 Free Software Foundation, Inc.
|
||||||
;; Contributed by Michael Tiemann (tiemann@cygnus.com)
|
;; Contributed by Michael Tiemann (tiemann@cygnus.com)
|
||||||
;; 64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
|
;; 64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
|
||||||
;; at Cygnus Support.
|
;; at Cygnus Support.
|
||||||
@ -7480,7 +7481,7 @@
|
|||||||
gen_rtvec (3,
|
gen_rtvec (3,
|
||||||
gen_rtx_SET (VOIDmode, pc_rtx,
|
gen_rtx_SET (VOIDmode, pc_rtx,
|
||||||
XEXP (operands[0], 0)),
|
XEXP (operands[0], 0)),
|
||||||
GEN_INT (INTVAL (operands[3]) & 0xfff),
|
operands[3],
|
||||||
gen_rtx_CLOBBER (VOIDmode,
|
gen_rtx_CLOBBER (VOIDmode,
|
||||||
gen_rtx_REG (Pmode, 15)))));
|
gen_rtx_REG (Pmode, 15)))));
|
||||||
else
|
else
|
||||||
@ -7512,7 +7513,7 @@
|
|||||||
emit_call_insn
|
emit_call_insn
|
||||||
(gen_rtx_PARALLEL (VOIDmode,
|
(gen_rtx_PARALLEL (VOIDmode,
|
||||||
gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
|
gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
|
||||||
GEN_INT (INTVAL (operands[3]) & 0xfff),
|
operands[3],
|
||||||
gen_rtx_CLOBBER (VOIDmode,
|
gen_rtx_CLOBBER (VOIDmode,
|
||||||
gen_rtx_REG (Pmode, 15)))));
|
gen_rtx_REG (Pmode, 15)))));
|
||||||
else
|
else
|
||||||
|
397
gnu/dist/toolchain/gcc/configure
vendored
397
gnu/dist/toolchain/gcc/configure
vendored
File diff suppressed because it is too large
Load Diff
49
gnu/dist/toolchain/gcc/configure.in
vendored
49
gnu/dist/toolchain/gcc/configure.in
vendored
@ -1,7 +1,7 @@
|
|||||||
# configure.in for GNU CC
|
# configure.in for GNU CC
|
||||||
# Process this file with autoconf to generate a configuration script.
|
# Process this file with autoconf to generate a configuration script.
|
||||||
|
|
||||||
# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
# Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
#This file is part of GNU CC.
|
#This file is part of GNU CC.
|
||||||
|
|
||||||
@ -396,10 +396,9 @@ GCC_FUNC_PRINTF_PTR
|
|||||||
|
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
*-*-uwin*)
|
*-*-uwin*)
|
||||||
# Under some versions of uwin, vfork is notoriously buggy and the test
|
AC_MSG_ERROR([
|
||||||
# can hang configure; on other versions, vfork exists just as a stub.
|
*** UWIN may not be used as a host platform because
|
||||||
# FIXME: This should be removed once vfork in uwin's runtime is fixed.
|
*** linking with posix.dll is not allowed by the GNU GPL])
|
||||||
ac_cv_func_vfork_works=no
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
AC_FUNC_VFORK
|
AC_FUNC_VFORK
|
||||||
@ -756,15 +755,31 @@ changequote([,])dnl
|
|||||||
tmake_file=arm/t-linux
|
tmake_file=arm/t-linux
|
||||||
gnu_ld=yes
|
gnu_ld=yes
|
||||||
;;
|
;;
|
||||||
|
arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
|
||||||
|
xm_file=arm/xm-linux.h
|
||||||
|
xmake_file=x-linux
|
||||||
|
tm_file="arm/linux-oldld.h arm/linux-elf.h"
|
||||||
|
case $machine in
|
||||||
|
armv2*-*-*)
|
||||||
|
tm_file="arm/linux-elf26.h $tm_file"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
tmake_file="t-linux arm/t-linux"
|
||||||
|
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
||||||
|
gnu_ld=yes
|
||||||
|
case x${enable_threads} in
|
||||||
|
x | xyes | xpthreads | xposix)
|
||||||
|
thread_file='posix'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
|
arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
|
||||||
xm_file=arm/xm-linux.h
|
xm_file=arm/xm-linux.h
|
||||||
xmake_file=x-linux
|
xmake_file=x-linux
|
||||||
|
tm_file="arm/linux-elf.h"
|
||||||
case $machine in
|
case $machine in
|
||||||
armv2*-*-*)
|
armv2*-*-*)
|
||||||
tm_file=arm/linux-elf26.h
|
tm_file="arm/linux-elf26.h $tm_file"
|
||||||
;;
|
|
||||||
*)
|
|
||||||
tm_file=arm/linux-elf.h
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
tmake_file="t-linux arm/t-linux"
|
tmake_file="t-linux arm/t-linux"
|
||||||
@ -1407,11 +1422,10 @@ changequote(,)dnl
|
|||||||
changequote([,])dnl
|
changequote([,])dnl
|
||||||
xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
|
xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
|
||||||
xm_defines="USG POSIX SMALL_ARG_MAX"
|
xm_defines="USG POSIX SMALL_ARG_MAX"
|
||||||
|
tm_file=i386/sol2.h
|
||||||
if test x$gas = xyes; then
|
if test x$gas = xyes; then
|
||||||
# Only needed if gas does not support -s
|
# Only needed if gas does not support -s
|
||||||
tm_file=i386/sol2gas.h
|
tm_file="i386/sol2gas.h ${tm_file}"
|
||||||
else
|
|
||||||
tm_file=i386/sol2.h
|
|
||||||
fi
|
fi
|
||||||
tmake_file=i386/t-sol2
|
tmake_file=i386/t-sol2
|
||||||
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
||||||
@ -1557,8 +1571,6 @@ changequote(,)dnl
|
|||||||
i[34567]86-*-uwin*)
|
i[34567]86-*-uwin*)
|
||||||
changequote([,])dnl
|
changequote([,])dnl
|
||||||
tm_file=i386/uwin.h
|
tm_file=i386/uwin.h
|
||||||
xm_file="${xm_file} i386/xm-uwin.h"
|
|
||||||
xm_defines="USG NO_STAB_H NO_SYS_SIGLIST"
|
|
||||||
tmake_file="i386/t-cygwin i386/t-uwin"
|
tmake_file="i386/t-cygwin i386/t-uwin"
|
||||||
extra_objs=winnt.o
|
extra_objs=winnt.o
|
||||||
xmake_file=i386/x-cygwin
|
xmake_file=i386/x-cygwin
|
||||||
@ -1697,7 +1709,7 @@ changequote([,])dnl
|
|||||||
extra_headers=math-68881.h
|
extra_headers=math-68881.h
|
||||||
;;
|
;;
|
||||||
m68000-hp-hpux*) # HP 9000 series 300
|
m68000-hp-hpux*) # HP 9000 series 300
|
||||||
xm_file="xm_alloca.h ${xm_file}"
|
xm_file="xm-alloca.h ${xm_file}"
|
||||||
xm_defines="USG NO_SYS_SIGLIST"
|
xm_defines="USG NO_SYS_SIGLIST"
|
||||||
if test x$gas = xyes
|
if test x$gas = xyes
|
||||||
then
|
then
|
||||||
@ -1898,7 +1910,7 @@ changequote([,])dnl
|
|||||||
extra_headers=math-68881.h
|
extra_headers=math-68881.h
|
||||||
;;
|
;;
|
||||||
m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
|
m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
|
||||||
xm_file="xm_alloca.h ${xm_file}"
|
xm_file="xm-alloca.h ${xm_file}"
|
||||||
xm_defines="USG NO_SYS_SIGLIST"
|
xm_defines="USG NO_SYS_SIGLIST"
|
||||||
if test x$gas = xyes
|
if test x$gas = xyes
|
||||||
then
|
then
|
||||||
@ -1914,7 +1926,7 @@ changequote([,])dnl
|
|||||||
float_format=m68k
|
float_format=m68k
|
||||||
;;
|
;;
|
||||||
m68k-hp-hpux*) # HP 9000 series 300
|
m68k-hp-hpux*) # HP 9000 series 300
|
||||||
xm_file="xm_alloca.h ${xm_file}"
|
xm_file="xm-alloca.h ${xm_file}"
|
||||||
xm_defines="USG NO_SYS_SIGLIST"
|
xm_defines="USG NO_SYS_SIGLIST"
|
||||||
if test x$gas = xyes
|
if test x$gas = xyes
|
||||||
then
|
then
|
||||||
@ -3758,7 +3770,8 @@ ALL_LINGUAS="en_UK"
|
|||||||
|
|
||||||
# NLS support is still experimental, so disable it by default for now.
|
# NLS support is still experimental, so disable it by default for now.
|
||||||
AC_ARG_ENABLE(nls,
|
AC_ARG_ENABLE(nls,
|
||||||
[ --enable-nls use Native Language Support (disabled by default)],
|
[ --enable-nls use Native Language Support (disabled by default).
|
||||||
|
EXPERIMENTAL, see ABOUT-GCC-NLS.],
|
||||||
, enable_nls=no)
|
, enable_nls=no)
|
||||||
|
|
||||||
AM_GNU_GETTEXT
|
AM_GNU_GETTEXT
|
||||||
|
144
gnu/dist/toolchain/gcc/emit-rtl.c
vendored
144
gnu/dist/toolchain/gcc/emit-rtl.c
vendored
@ -1,5 +1,6 @@
|
|||||||
/* Emit RTL for the GNU C-Compiler expander.
|
/* Emit RTL for the GNU C-Compiler expander.
|
||||||
Copyright (C) 1987, 88, 92-97, 1998, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
|
2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
|
|
||||||
@ -248,6 +249,9 @@ extern int emit_lineno;
|
|||||||
static rtx make_jump_insn_raw PROTO((rtx));
|
static rtx make_jump_insn_raw PROTO((rtx));
|
||||||
static rtx make_call_insn_raw PROTO((rtx));
|
static rtx make_call_insn_raw PROTO((rtx));
|
||||||
static rtx find_line_note PROTO((rtx));
|
static rtx find_line_note PROTO((rtx));
|
||||||
|
static void unshare_all_rtl_1 PROTO((rtx));
|
||||||
|
static void unshare_all_decls PROTO((tree));
|
||||||
|
static void reset_used_decls PROTO((tree));
|
||||||
|
|
||||||
rtx
|
rtx
|
||||||
gen_rtx_CONST_INT (mode, arg)
|
gen_rtx_CONST_INT (mode, arg)
|
||||||
@ -1776,23 +1780,29 @@ restore_emit_status (p)
|
|||||||
free_insn = 0;
|
free_insn = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Go through all the RTL insn bodies and copy any invalid shared structure.
|
/* Go through all the RTL insn bodies and copy any invalid shared
|
||||||
It does not work to do this twice, because the mark bits set here
|
structure. This routine should only be called once. */
|
||||||
are not cleared afterwards. */
|
|
||||||
|
|
||||||
void
|
void
|
||||||
unshare_all_rtl (insn)
|
unshare_all_rtl (fndecl, insn)
|
||||||
register rtx insn;
|
tree fndecl;
|
||||||
|
rtx insn;
|
||||||
{
|
{
|
||||||
for (; insn; insn = NEXT_INSN (insn))
|
tree decl;
|
||||||
if (GET_CODE (insn) == INSN || GET_CODE (insn) == JUMP_INSN
|
|
||||||
|| GET_CODE (insn) == CALL_INSN)
|
|
||||||
{
|
|
||||||
PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
|
|
||||||
REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
|
|
||||||
LOG_LINKS (insn) = copy_rtx_if_shared (LOG_LINKS (insn));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/* Make sure that virtual stack slots are not shared. */
|
||||||
|
reset_used_decls (DECL_INITIAL (current_function_decl));
|
||||||
|
|
||||||
|
/* Make sure that virtual parameters are not shared. */
|
||||||
|
for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl))
|
||||||
|
DECL_RTL (decl) = copy_rtx_if_shared (DECL_RTL (decl));
|
||||||
|
|
||||||
|
/* Make sure that virtual stack slots are not shared. */
|
||||||
|
unshare_all_decls (DECL_INITIAL (fndecl));
|
||||||
|
|
||||||
|
/* Unshare just about everything else. */
|
||||||
|
unshare_all_rtl_1 (insn);
|
||||||
|
|
||||||
/* Make sure the addresses of stack slots found outside the insn chain
|
/* Make sure the addresses of stack slots found outside the insn chain
|
||||||
(such as, in DECL_RTL of a variable) are not shared
|
(such as, in DECL_RTL of a variable) are not shared
|
||||||
with the insn chain.
|
with the insn chain.
|
||||||
@ -1800,8 +1810,76 @@ unshare_all_rtl (insn)
|
|||||||
This special care is necessary when the stack slot MEM does not
|
This special care is necessary when the stack slot MEM does not
|
||||||
actually appear in the insn chain. If it does appear, its address
|
actually appear in the insn chain. If it does appear, its address
|
||||||
is unshared from all else at that point. */
|
is unshared from all else at that point. */
|
||||||
|
stack_slot_list = copy_rtx_if_shared (stack_slot_list);
|
||||||
|
}
|
||||||
|
|
||||||
copy_rtx_if_shared (stack_slot_list);
|
/* Go through all the RTL insn bodies and copy any invalid shared
|
||||||
|
structure, again. This is a fairly expensive thing to do so it
|
||||||
|
should be done sparingly. */
|
||||||
|
|
||||||
|
void
|
||||||
|
unshare_all_rtl_again (insn)
|
||||||
|
rtx insn;
|
||||||
|
{
|
||||||
|
rtx p;
|
||||||
|
for (p = insn; p; p = NEXT_INSN (p))
|
||||||
|
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
||||||
|
{
|
||||||
|
reset_used_flags (PATTERN (p));
|
||||||
|
reset_used_flags (REG_NOTES (p));
|
||||||
|
reset_used_flags (LOG_LINKS (p));
|
||||||
|
}
|
||||||
|
unshare_all_rtl_1 (insn);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Go through all the RTL insn bodies and copy any invalid shared structure.
|
||||||
|
Assumes the mark bits are cleared at entry. */
|
||||||
|
|
||||||
|
static void
|
||||||
|
unshare_all_rtl_1 (insn)
|
||||||
|
rtx insn;
|
||||||
|
{
|
||||||
|
for (; insn; insn = NEXT_INSN (insn))
|
||||||
|
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
||||||
|
{
|
||||||
|
PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
|
||||||
|
REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
|
||||||
|
LOG_LINKS (insn) = copy_rtx_if_shared (LOG_LINKS (insn));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Go through all virtual stack slots of a function and copy any
|
||||||
|
shared structure. */
|
||||||
|
static void
|
||||||
|
unshare_all_decls (blk)
|
||||||
|
tree blk;
|
||||||
|
{
|
||||||
|
tree t;
|
||||||
|
|
||||||
|
/* Copy shared decls. */
|
||||||
|
for (t = BLOCK_VARS (blk); t; t = TREE_CHAIN (t))
|
||||||
|
DECL_RTL (t) = copy_rtx_if_shared (DECL_RTL (t));
|
||||||
|
|
||||||
|
/* Now process sub-blocks. */
|
||||||
|
for (t = BLOCK_SUBBLOCKS (blk); t; t = TREE_CHAIN (t))
|
||||||
|
unshare_all_decls (t);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Go through all virtual stack slots of a function and mark them as
|
||||||
|
not shared. */
|
||||||
|
static void
|
||||||
|
reset_used_decls (blk)
|
||||||
|
tree blk;
|
||||||
|
{
|
||||||
|
tree t;
|
||||||
|
|
||||||
|
/* Mark decls. */
|
||||||
|
for (t = BLOCK_VARS (blk); t; t = TREE_CHAIN (t))
|
||||||
|
reset_used_flags (DECL_RTL (t));
|
||||||
|
|
||||||
|
/* Now process sub-blocks. */
|
||||||
|
for (t = BLOCK_SUBBLOCKS (blk); t; t = TREE_CHAIN (t))
|
||||||
|
reset_used_decls (t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mark ORIG as in use, and return a copy of it if it was already in use.
|
/* Mark ORIG as in use, and return a copy of it if it was already in use.
|
||||||
@ -1856,25 +1934,17 @@ copy_rtx_if_shared (orig)
|
|||||||
return x;
|
return x;
|
||||||
|
|
||||||
case MEM:
|
case MEM:
|
||||||
/* A MEM is allowed to be shared if its address is constant
|
/* A MEM is allowed to be shared if its address is constant.
|
||||||
or is a constant plus one of the special registers. */
|
|
||||||
if (CONSTANT_ADDRESS_P (XEXP (x, 0))
|
We used to allow sharing of MEMs which referenced
|
||||||
|| XEXP (x, 0) == virtual_stack_vars_rtx
|
virtual_stack_vars_rtx or virtual_incoming_args_rtx, but
|
||||||
|| XEXP (x, 0) == virtual_incoming_args_rtx)
|
that can lose. instantiate_virtual_regs will not unshare
|
||||||
|
the MEMs, and combine may change the structure of the address
|
||||||
|
because it looks safe and profitable in one context, but
|
||||||
|
in some other context it creates unrecognizable RTL. */
|
||||||
|
if (CONSTANT_ADDRESS_P (XEXP (x, 0)))
|
||||||
return x;
|
return x;
|
||||||
|
|
||||||
if (GET_CODE (XEXP (x, 0)) == PLUS
|
|
||||||
&& (XEXP (XEXP (x, 0), 0) == virtual_stack_vars_rtx
|
|
||||||
|| XEXP (XEXP (x, 0), 0) == virtual_incoming_args_rtx)
|
|
||||||
&& CONSTANT_ADDRESS_P (XEXP (XEXP (x, 0), 1)))
|
|
||||||
{
|
|
||||||
/* This MEM can appear in more than one place,
|
|
||||||
but its address better not be shared with anything else. */
|
|
||||||
if (! x->used)
|
|
||||||
XEXP (x, 0) = copy_rtx_if_shared (XEXP (x, 0));
|
|
||||||
x->used = 1;
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -2368,10 +2438,18 @@ try_split (pat, trial, last)
|
|||||||
it, in turn, will be split (SFmode on the 29k is an example). */
|
it, in turn, will be split (SFmode on the 29k is an example). */
|
||||||
if (GET_CODE (seq) == SEQUENCE)
|
if (GET_CODE (seq) == SEQUENCE)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* Avoid infinite loop if any insn of the result matches
|
||||||
|
the original pattern. */
|
||||||
|
for (i = 0; i < XVECLEN (seq, 0); i++)
|
||||||
|
if (GET_CODE (XVECEXP (seq, 0, i)) == INSN
|
||||||
|
&& rtx_equal_p (PATTERN (XVECEXP (seq, 0, i)), pat))
|
||||||
|
return trial;
|
||||||
|
|
||||||
/* If we are splitting a JUMP_INSN, look for the JUMP_INSN in
|
/* If we are splitting a JUMP_INSN, look for the JUMP_INSN in
|
||||||
SEQ and copy our JUMP_LABEL to it. If JUMP_LABEL is non-zero,
|
SEQ and copy our JUMP_LABEL to it. If JUMP_LABEL is non-zero,
|
||||||
increment the usage count so we don't delete the label. */
|
increment the usage count so we don't delete the label. */
|
||||||
int i;
|
|
||||||
|
|
||||||
if (GET_CODE (trial) == JUMP_INSN)
|
if (GET_CODE (trial) == JUMP_INSN)
|
||||||
for (i = XVECLEN (seq, 0) - 1; i >= 0; i--)
|
for (i = XVECLEN (seq, 0) - 1; i >= 0; i--)
|
||||||
|
3
gnu/dist/toolchain/gcc/varasm.c
vendored
3
gnu/dist/toolchain/gcc/varasm.c
vendored
@ -1,5 +1,6 @@
|
|||||||
/* Output variables, constants and external declarations, for GNU compiler.
|
/* Output variables, constants and external declarations, for GNU compiler.
|
||||||
Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||||
|
1999, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user