* config/i386/i386.c (ix86_output_function_epilogue): New.
(TARGET_ASM_FUNCTION_EPILOGUE): New.
(pic_label_name): Remove.
(pic_labels_used): New.
(ix86_asm_file_end): Emit one pc load stub for each register used.
(output_set_got): Generate deep pc load to any register.
(ix86_select_alt_pic_regnum): New.
(ix86_save_reg): Don't save pic register if we can find a valid
call-clobbered replacement.
(ix86_expand_prologue): If we found a valid replacement, renumber
pic_offset_table_rtx.
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
pic_offset_table_rtx after reload.
(REAL_PIC_OFFSET_TABLE_REGNUM): New.
* config/i386/i386.md (set_got): Make insn, not expander.
(set_got_nopic, set_got_deep, set_got_nodeep): Remove.
From-SVN: r54021
* config/i386/i386.c (output_pic_addr_const): Lowercase rip.
(print_operand_address): Only add rip for symbolic addresses
for which we do not have another relocation type.
From-SVN: r54017
- * haifa-sched.c (schedule_block): Do not count USE and CLOBBER
- insns against the issue rate.
-
- * sched-deps.c (sched_create_groups_for_libcalls): New function.
- (sched_analyze): Use it.
From-SVN: r54015
* configure.host [s390*-linux*]: Set can_unwind_signal=yes.
* configure.in [s390*-*-linux*]: Do not define HAVE_BACKTRACE.
Set SIGNAL_HANDLER=include/s390-linux.h.
* configure: Regenerate.
* include/s390-linux.h: New file.
From-SVN: r54012
2002-05-29 Eric Christopher <echristo@redhat.com>
* config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
From-SVN: r54011
* config/fr30/fr30.md: Remove previous restriction on splits.
Enforce conformance through gen_lowpart and cont_int_operand.
* config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
as the assembler does not support ".bss".
From-SVN: r54010
* haifa-sched.c (schedule_block): Do not count USE and CLOBBER
insns against the issue rate.
* sched-deps.c (sched_create_groups_for_libcalls): New function.
(sched_analyze): Use it.
From-SVN: r54004
* config/h8300/h8300-protos.h: Remove the prototype for
o_operand.
Add prototypes for single_one_operand and single_zero_operand.
* config/h8300/h8300.c (o_operand): Remove.
(single_one_operand): New.
(single_zero_operand): Likewise.
(print_operand): For 'V' operand, and the operand with 0xff.
For 'V' and 'W' operands, do not and the bit position with 7.
* config/h8300/h8300.md (various anonymous patterns): Replace
use of exact_log2 with single_one_operand/single_zero_operand.
From-SVN: r53994
* config/s390/s390.c (legitimate_pic_operand_p): Do not
accept symbolic LARL operands.
(s390_emit_epilogue): Do not set FRAME_RELATED_P on
epilogue insns.
From-SVN: r53991
* config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
not current_function_uses_pic_offset_table and
current_function_uses_const_pool; examine current_function_profile.
(ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
input to blockage if needed.
(ix86_expand_call): Do not set current_function_uses_pic_offset_table.
(legitimize_pic_address): Likewise. Set regs_ever_live for
pic_offset_table_rtx when invoked during reload.
* config/i386/i386.h (FINALIZE_PIC): Remove.
* config/i386/i386.md (tablejump): Reformat. Do not set
current_function_uses_pic_offset_table.
(tls_global_dynamic, tls_local_dynamic_base): Likewise.
(blockage): Accept anything as operand 0.
From-SVN: r53981
* config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
common CPP built-ins for all NetBSD a.out targets.
* config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
common CPP built-ins for all NetBSD ELF targets.
* config/netbsd.h: Add missing notice.
(NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
for all NetBSD targets.
(NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
for all NetBSD targets using an LP64 code model.
(NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
NetBSD targets.
From-SVN: r53980
2002-05-28 Phil Edwards <pme@gcc.gnu.org>
* testsuite/Makefile.am (noinst_LIBRARIES): New target. Pull in
CXX/INCLUDES.
* testsuite/Makefile.in: Regenerate.
* testsuite/testsuite_hooks.h (gnu_copy_tracker): Move from
list_modifiers.cc and rename from 'T'. Move code bodies...
* testsuite/testsuite_hooks.cc: ...to here. New file.
* testsuite/23_containers/list_modifiers.cc: Move 'T' class out.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
Add libv3test.a to link options.
From-SVN: r53977
* sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
* haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r53973
* flow.c (calculate_global_regs_live): Rename call_used to
invalidated_by_call. Initialize from regs_invalidated_by_call
instead of call_used_regs.
From-SVN: r53962
* tree.h: Forward-declare struct realvaluetype.
(struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
contain it.
(TREE_REAL_CST_PTR): New accessor.
(TREE_REAL_CST): Update.
* real.h: Include machmode.h.
(realvaluetype): Make it struct realvaluetype, not a typedef.
(build_real): Prototype here.
* tree.c: Include real.h.
(build_real): Allocate the REAL_VALUE_TYPE as a separate
object in GC memory, set TREE_REAL_CST_PTR to point to it.
(build_real_from_int_cst): Use build_real.
* ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
REAL_CST.
* builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
fold-const.c, print-tree.c, real.c, cp/mangle.c, cp/tree.c,
f/bld.c, f/com.c, f/expr.c, f/target.c, java/decl.c,
java/jcf-parse.c, java/parse.y, java/typeck.c: Include real.h.
* Makefile.in, cp/Make-lang.in, f/Make-lang.in,
java/Make-lang.in: Update dependency lists.
From-SVN: r53959
* basic-block.h (last_basic_block): Declare.
(expunge_block_nocompact): Declaration removed.
(compact_blocks): Declare.
* cfg.c (last_basic_block): New variable.
(expunge_block_nocompact): Removed.
(expunge_block): Do not compact basic blocks.
(compact_blocks): New.
* cfganal.c (flow_call_edges_add): Use the fact that bb indices no
longer change.
* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
last_basic_block.
* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
real positions of blocks.
(delete_unreachable_blocks): Simplified -- quadratic behavior now
cannot occur.
(cleanup_cfg): Compact blocks.
* cfgrtl.c (create_basic_block): Insert basic blocks to the end of
basic_block_info varray.
(flow_delete_block): Comment update.
(back_edge_of_syntactic_loop_p): Modify position check code.
(verify_flow_info): Update checking.
* flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
(find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
indices no longer change.
* lcm.c (optimize_mode_switching): Replace n_basic_blocks with
last_basic_block.
* predict.c (estimate_bb_frequencies): Remove unneccessary code.
* profile.c (branch_prob): Compact blocks.
* sched-rgn.c (find_rgns): Replace n_basic_blocks with
last_basic_block.
From-SVN: r53957