* flow.c: Grammar check and clarify a lot of comments.
(try_simplify_condjump): Rename variables to be clearer.
(try_forward_edges): Skip complex and fallthru edges.
Rearrange tests to avoid duplicate checks.
(flow_find_cross_jump): Likewise.
(outgoing_edges_match): Allow match if neither branch has
probability data. Loosen probability match to 5%.
(try_crossjump_to_edge): Hoist repeated indirection into
local variables.
(try_crossjump_bb): Don't check complex edges. Eliminate
redundant crossjump tests.
(try_optimize_cfg): Fix use of bool. Reorganize cheaper
checks before more expensive checks.
From-SVN: r44257
* 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