* reorg.c (mark_referenced_resources): Parameter include_called_routine
changed to include_delayed_effects. All references changed.
(mark_set_resources): Likewise.
(insn_references_resource_p): Likewise.
(insn_sets_resource_p): Likewise.
(mark_referenced_resources, case INSN): Do not mark any resources
as referenced if we are not including delayed effects, and the
given insn has delayed effects.
(mark_set_resources): Likewise for resources which are set/clobbered.
(fill_simple_delay_slots): Include delayed effects for the delay insn
if we are searching after the delay insn for candiates.
(dbr_schedule): When initializing `end_of_function_needs' include
delayed effects.
From-SVN: r3810
* pa.h (INSN_SETS_ARE_DELAYED): Define for the PA. Sets and
clobbers that occur in millicode insns are delayed effects.
(INSN_REFERENCES_ARE_DELAYED): Likewise but for argument references
occuring in millicode insns.
From-SVN: r3809
(get_inner_reference): Simplify code by initializing OFFSET to
integer_zero_node.
Do general index computation for ARRAY_REF and include lower bound of domain
in calculation.
(expand_expr, case ARRAY_REF): Include lower-bound in index computation.
From-SVN: r3808
(make_compound_operation): Call recursively in the cases where we find a
simplification.
(make_compound_operation, case SUBREG): If the recursive call changes the rtx
code and this is an appropriate SUBREG, use force_to_mode.
From-SVN: r3800
(synth_mult): Don't try to make recursive call if we would be shifting
by a negative number.
(expand_mult): Don't negate VAL if it is negative.
From-SVN: r3788
(simplify_plus_minus): Count CONSTs coming in and going out; we have
simplified things if we have more CONSTs going out even if we have the
same number of total terms.
From-SVN: r3787
(init_expmed): Always pass some insn to recog.
Set shift_cost[0], shiftadd_cost[0] and shiftsub_cost[0] to something
reasonable.
Compute zero_cost.
(enum alg_code): Remove alg_none; add alg_zero and alg_m.
(struct algorithm): Rename field COEFF to LOG.
(synth_mult): Use new ops alg_zero and alg_m for multiplication by zero and
one, respectively.
Use MIN when helpful.
Be consistent and don't test cost before recursive call.
Don't special-case shift counts of zero; already handled elsewhere.
(expand_mult): First operation is always alg_zero or alg_m; remaining
operations can't be one of those.
Use proper subtargets for computations.
Remove special-cases for shift counts of zero.
Track value computed so far and make REG_EQUAL notes.
From-SVN: r3786
(expand_assignment): Pass to_rtx's mode to expand_expr
when assigning a result_decl.
(expand_expr): For ERROR_MARK, give back 0 in TMODE if possible.
From-SVN: r3784
(current_function_prototype_file,
current_function_prototype_line): New variables.
(start_function): Set them.
(store_parm_decls): Use them for error and warning messages.
From-SVN: r3782
(expand_float): When converting an unsigned type U
to a smaller or equal-sized floating type F where there's no
hardware support for unsigned-to-float conversion, use a temporary
floating type larger than F if possible, since this avoids
rounding problems that are worst when U is just greater than
the maximum signed integer of the same size.
From-SVN: r3778