* basic-block.h (redirect_edge_and_branch_force,
redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
* flow.c (redirect_edge_and_branch_force,
redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
(redirect_edge_and_branch_force): Fix copying of lifeness information.
(block_label): Handle EXIT_BLOCK_PTR by returning NULL.
* ifcvt.c (dead_or_predictable): Take BB as an new destionation
instead of label; update CFG after transformation.
(find_if_case_1): Update call, use redirect_edge_and_branch_force
for finishing the transformation; handle even case where ELSE
does not follow THEN.
(find_if_case_2): Update call of dead_or_predictable; simplify
CFG update.
* emit-rtl.c (split_branch_probability): New global variable.
(try_split): Take care to set split_branch_probability and
create REG_BR_PROB note for new jump insns.
* md.texi (define_split): Document new feature.
* i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
From-SVN: r44249
* dbxout.c (dbxout_global_decl): New.
(xcoff_debug_hooks, dbx_debug_hooks): Use it.
* sdbout.c (sdbout_finish): New.
(sdbout_debug_hooks): Use it, add comments.
(sdbout_global_decl): Defer initialised public vars to
sdbout_finish.
* varasm.c (assemble_variable): Don't output debug information
for file-scope variables.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r44243
* config/alpha/alpha.c (get_trap_mode_suffix): New.
(get_round_mode_suffix): New.
(print_operand): Use them for [/]. Remove support for [&'`()+].
* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
* config/alpha/alpha.md (attr round_suffix): New.
(attr trap_suffix): New.
(all insns): Set them appropriately. Use %/ instead of the
myriad punctuators.
From-SVN: r44242
2001-07-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/execute/ieee/ieee.exp: Only use -ffloat-store only on
i[34567]86-*-*.
Delete handling of ieee_multilib_flags.
Pass -mieee for alpha*-*-* and sh-*-*.
* gcc.c-torture/execute/20010114-2.c: Move into ieee subdir.
From-SVN: r44238
* dbxout.c (dbxout_global_decl): New.
(xcoff_debug_hooks, dbx_debug_hooks): Use it.
* sdbout.c (sdbout_finish): New.
(sdbout_debug_hooks): Use it, add comments.
(sdbout_global_decl): Defer initialised public vars to
sdbout_finish.
* varasm.c (assemble_variable): Don't output debug information
for file-scope variables.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r44232
* config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
("iorqi3"): Likewise.
("xorqi3"): Likewise.
("*addhi3"): Fix constraint to avoid reloading in a soft register.
("*subhi3_sp): Likewise.
("*subhi3"): Likewise.
("extendhisi2"): Accept D, X and Y as source operand to avoid
reload problems.
From-SVN: r44229
* config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
expand to emit the pattern; put a REG_INC note for push/pop
instructions.
("movdf", "movdf_internal"): Likewise.
("movsi", "movsi_internal"): Likewise.
("movsf", "movsf_internal"): Likewise.
("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
From-SVN: r44208
2001-07-20 Daniel Berlin <dan@cgsoftware.com>
* Make-lang.in (cp/optimize.o): Depend on $(PARAMS_H), not
params.h.
2001-07-20 Daniel Berlin <dan@cgsoftware.com>
* params.def: Change default max inline insns to 100.
From-SVN: r44203
* integrate.c (copy_insn_list): handle
NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
(copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
identically as to CODE_LABEL.
* fold-const (fold): Convert A/B/C to A/(B*C) and
A/(B/C) to (A/B)*C
* except.c (connect_post_landing_pads): Delete the RESX insns.
From-SVN: r44193
2001-07-20 David Billinghurst <David.Billinghurst@riotinto.org>
* g77.f-torture/compile/pr3743.f: New test
2001-07-20 David Billinghurst <David.Billinghurst@riotinto.com>
* g77.f-torture/execute/f90-intrinsic-bit.f: New test
From-SVN: r44192
* cppinit.c (remove_dup_dir): Make static.
(remove_dup_dirs): Make static. Only warn about preempting a
system directory with a non-system directory.
From-SVN: r44188
* reorg.c (fill_simple_delay_slots): If an instruction might throw
an exception that will be caught within this function, do not fill
its delay slot with any subsequent instruction.
From-SVN: r44171
* optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
pointer extension instruction.
* combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
* simplify-rtx.c (simplify_unary_operation) Likewise.
* explow.c (convert_memory_address) Check value of
POINTERS_EXTEND_UNSIGNED to avoid some conversions when
less than zero.
* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
* config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
Add Multilib Support.
(POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
* config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
Add Multilib Support.
(POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
support.
* config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
* config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
From-SVN: r44166
2001-07-19 Alexandre Oliva <aoliva@redhat.com>
* simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
old and new operands in `<', `3' and `b'.
From-SVN: r44164