(layout_record): After copying the offsets of a field that is an
anonymous union to the offsets of the fields of that union, zero the
offset of the anonymous field in case it is used to access the inner
fields.
From-SVN: r4083
Clean up code so more readable and don't restrict to case where C2 >= C1.
Pass correct (inner) code to recursive call.
(make_compound_operation, case SUBREG): Pass the code of our operand
to recursive call, not SUBREG, and make another recursive call after
calling force_to_mode.
From-SVN: r4082
(expand_divmod): When adjusting op0 for trunc_div or
trunc_mod, using shifts (not branches), make a new pseudo for the
result. Don't use target for adjusted_op0.
From-SVN: r4081
(alpha_sa_size): Need to save $26 if it is used or if any other
register is saved, but not just because a stack space is needed.
(output_prolog): Add code to probe the stack if we allocate more than
4096 bytes; required by chapter 7 (for threads).
Know when to save $26.
(output_epilog): Know when to restore $26.
From-SVN: r4079
(add/sub): Correct predicates and constraints for sNaddX and addX insns; we
can use sNsubX and subX to add small negative constants.
Don't split addition to SP since we want to update it just once.
(beq, bne): Use subtract, not compare for ints; it's more efficient.
(define_split for comparisons): Always prefer add/sub if it will work.
(probe_stack, allocate_stack): New patterns.
From-SVN: r4078
(digest_init): Set free_tree_list.
(process_init_constructor): Use add_double to do arithmetic with
double integers instead of using fold/build to to arithmetic in
type of array index. Use free_tree_list when available instead of
generating a new tree_list.
From-SVN: r4074
Add support for protocols, classes, and
strings. Update the runtime targets for the new GNU runtimes as
well as existing NeXT runtimes.
From-SVN: r4069
(comptypes, convert_for_assignment): Check for
Objective-C protocols (non-reflexive use of maybe_objc_comptypes).
(comp_target_types): Rewrite so that maybe_objc_comptypes checks
protocols when processing an Objective-C module. For C modules,
the code path is unchanged.
(convert_for_assignment): Improve the error message for
incompatible message arguments.
From-SVN: r4067
(reg_nonzero_bits): Should be unsigned.
(reg_last_set_{mode,nonzero_bits,sign_bit_copies}): New variables.
(combine_instructions): Allocate and initialized them.
(nonzero_bits, num_sign_bit_copies, case REG): Use new variables to get
information on regs we've seen before.
(record_value_for_reg): Set new variables for register being modified.
(record_dead_and_set_regs): Invalidate regs clobbered by CALL_INSN.
From-SVN: r4051