* pa.md (call_value+1): For non-dynamic calls, use the "call"
attribute, set length to 1, and fix output template to work
properly with delay slots.
* pa.md (address and use_call_clobbered attributes): Deleted,
these attributes are useless. All references deleted.
(call define delay): Use "in_branch_delay" as the condition since
"call" delay slots and unconditional "branch" delay slots allow the
same type of insns.
(in_call_delay conditional): Deleted.
(branch define delay): Do not define an annul-if-true delay slot.
It is useless for an unconditional branch.
(all delay branch conditionals): Make sure "call", "dyncall", "multi",
and "milli" insns are explicitly disallowed in delay slots.
From-SVN: r1920
* pa.c (output_mul_insn): Delete nop after branch in template,
conditionally emit a nop if the delay slot was not filled. (via %#)
* pa.c (output_function_prologue): Handle profiling in a function
without a frame pointer.
From-SVN: r1919
Compare enums (preds. codes, mem_mode)
explicitly to 0 in conditionals to work-around a VAXC bug that
disallows enum as arguments to && and || operators.
From-SVN: r1916
(init_expr_once): Set direct_load and direct_store if SOME hard
register can be loaded or stored; not just if the first one we pick
can be.
From-SVN: r1910
(walk_insn_part): Add new parm NON_PC_SET_SRC; all callers changed.
Look for IF_THEN_ELSE in a SET_SRC that isn't setting PC and set
have_cmove_flag if so.
(main): Define HAVE_conditional_move if have_cmove_flag is non-zero.
From-SVN: r1902
(find_comparison_args): Look for comparison operations if the second arg is
0 in any mode.
(record_jump_cond): Don't make classes equivalent for floating-point equality
comparison.
From-SVN: r1900
(alloc_qty_for_scratch, block_alloc): Provide alternate code in some cases
when REGISTER_CONSTRAINTS is not defined.
(requires_inout_p): Only used when REGISTER_CONSTRAINTS is defined.
From-SVN: r1899
comparison in a wider mode.
(distribute_notes, REG_EQUAL): Don't put back a note with a
non-constant expression since it may no longer be valid.
From-SVN: r1894
* expr.c (expand_expr): The first expansion of a TARGET_EXPR
is marked by DECL_RTL (slot) being filled in AND TREE_OPERAND
(exp, 1) being wiped-out with a NULL_TREE, not just the
DECL_RTL (slot) being filled in.
From-SVN: r1893
* expr.c (expand_expr): When expanding TARGET_EXPRs, make sure
that they are only expanded once, after the first expansion,
the rtl can be used without further expansions.
From-SVN: r1890