(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
* pa.md (pre_ldwm, pre_stwm): Name these patterns to make
generating them easier.
*post_ldwm, post_stwm): New patterns.
(add_high_const): New pattern.
(return): New pattern.
From-SVN: r3772
* pa.h (IS_RELOADING_PSEUDO_P): New subroutine for EXTRA_CONSTRAINT.
(EXTRA_CONSTRAINT): Use IS_RELOADING_PSEUDO_P. Accept any MEM for
`Q' constraint during hte reload pass.
From-SVN: r3769
* pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANTP
if TARGET_LONG_CALLS.
* pa.h (EXTRA_CONSTRAINT): Merge strict and non-strict variants.
Delete 'R' constraint.
From-SVN: r3751
(init_expmed): Delete unused variable I.
(enum alg_code): New tag alg_shift. Document it.
(synth_mult): Delete unused variable N. Handle new trivial case
first, for T <= 1. Generalize shifting code to shift whenever a
number is even; use alg_shift for this. Set best_alg->ops only in
trivial case. Clean up cost calculation code for the `simple case' at
the end; use shiftadd_cost when appropriate. Combine declarations of
Q and move to top of function. Eliminate use of Q in factoring cases.
If we are getting too long a sequence for `struct algorithm' to
record, fail.
(expand_mult): Handle alg_shift instead of alg_add_t_m2 as first
operation. In RLT emit loop, handle alg_shift; special case LOG == 0
for alg_add_t_m2 and alg_sub_t_m2.
From-SVN: r3750
(init_alias_analysis): Allocate and compute reg_known_equiv_p.
(sched_analyze_1): Reenable code for REG_EQUIV notes, using
reg_known_equiv_p so that it is only used on REG_EQUIV notes.
(sched_analyze_2): Likewise. Only pass memory addresses to the
sched_analyze_2 call.
From-SVN: r3746
* pa.md (sh[123]add patterns): Use register_operand, not
shadd_operand.
(sh[123]add patterns for reload): Special patterns to avoid
lossage due to reload problems.
From-SVN: r3737