Richard Stallman [Sat, 17 Oct 1992 07:22:43 +0000 (07:22 +0000)]
(cplusplus_comments): New var.
(main): Set it according to options.
(rescan, handle_directive, skip_if_group, validate_else):
(skip_to_end_of_comment, macarg1, discard_comments):
Use cplusplus_comments to enable C++ comment syntax.
Tom Wood [Fri, 16 Oct 1992 14:46:08 +0000 (14:46 +0000)]
(libobjc.a): Compute srcdir1 without changing directories.
(libobjc.a): Compute srcdir1 without changing
directories. Use srcdir1 to locate objc/Makefile. Put quotes
around all potential multi-word values. Recompute GCC_FOR_TARGET.
(sublibobjc.a): Use same text as libobjc.a.
(mostlyclean): Use $(MAKE) and srcdir1 for objc action.
Timothy Moore [Thu, 15 Oct 1992 15:57:18 +0000 (15:57 +0000)]
pa.c (compute_frame_size): Take an fregs_live parameter instead of setting the static variable save_fregs.
* pa.c (compute_frame_size): Take an fregs_live parameter instead
of setting the static variable save_fregs.
(output_function_prologue): Initialize save_fregs to 0 and pass to
compute_frame_size.
Richard Stallman [Wed, 14 Oct 1992 09:49:27 +0000 (09:49 +0000)]
Some comments and whitespace cleaned up. RCS headers removed.
Include gstddef.h and objc-proto.h.
Don't include objcP.h or objc-protoP.h.
Avoid use of u_int, etc. so no need for sys/types.h.
Adjust for change in node_table field data type.
Fix calls to DEBUG_PRINTF; no longer wants stream as arg.
Richard Stallman [Wed, 14 Oct 1992 09:32:39 +0000 (09:32 +0000)]
(reg_names): Make it static. Use DEBUG_REGISTER_NAMES if that's defined.
(DEBUG_PRINT_REG): Define if not defined.
(print_rtx): Use DEBUG_PRINT_REG for hard regs.
(reg_name): Moved here.
Get rid of RCS headers. Fix up whitespace and comments.
Make key field and corresponding args `const void *'.
Don't use assert.
Get rid of spurious array-level in node_table field; make it void **.
Declare module_hash_table, class_hash_table.
(hash_int): Divide by sizeof (void *), not by 2**that minus 1.
Richard Kenner [Tue, 13 Oct 1992 23:08:44 +0000 (19:08 -0400)]
Use GEN_INT when appropriate.
(define_attr type): New types for SQRT.
(call patterns): Use SCRATCH for LR0.
Use new predicate call_operand so that some integers can be
used as addresses; fix CALLI so it doesn't accept constant.
(EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND
when combine will make it.
Use PSImode for BP value and don't reference BP explicitly.
Clean up define_expands for these operations.
(rotlsi3): Use PSImode pseudo for FC.
(sign_extend): Sign extension insns clobber BP.
({load,store}_multiple): Use PSImode pseudo for CR.
(MTSR): Add pattern for TRUNCATE from SImode to PSImode.
(sqrtsf2, sqrtdf2, movpsi): New patterns.
(load/store bytes/halfword): Clean up to accept temporaries as
input and use PSImode when required.
(movhi, movqi): Allocate temporaries here.
(reload_inqi, reload_outqi, reload_inhi, reload_outhi): New patterns.
(movdf, movdi, movti): Use SCRATCH for BP register.
(reload_{in,out}{df,di,ti}): New patterns.
Richard Kenner [Tue, 13 Oct 1992 23:07:51 +0000 (19:07 -0400)]
(PROMOTE_MODE, ADJUST_COST): New macros.
(CALL_USED_REGISTERS): LR0 is call-used.
(HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special
registers that can only hold those modes.
(MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes.
(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new
classes LR0_REGS, FC_REGS, and CR_REGS.
(REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
(PREDICATE_CODES): Update for new and deleted predicates.
Richard Kenner [Tue, 13 Oct 1992 23:07:05 +0000 (19:07 -0400)]
Now includes reload.h.
(spec_reg_operand): Validate mode and know that some regs support
MODE_PARTIAL_INT and some MODE_INT.
(call_operand, reload_memory_operand, a29k_get_reloaded_address)
New functions.
(in_operand): Allow constants with MODE_PARTIAL_INT.
(out_operand): Allow special registers with any mode.
Any MEM a word or wider is valid.
(extend_operator): Deleted.
(secondary_reload_class): A pseudo is the same as memory; we need
BP_REGS for multi-word memory or for bytes and halfword if -mndw.
(print_operand): Delete %X; add %m.
(print_operand, case 'F'): Check for SYMBOL_REF.
Tom Wood [Tue, 13 Oct 1992 18:45:45 +0000 (18:45 +0000)]
(loop_optimize): Verify that max_uid_for_loop is still larger than the uid of any insn.
(loop_optimize): Verify that max_uid_for_loop is still
larger than the uid of any insn. Increase the number of exit
blocks from 4 to 32 per loop.
(find_and_verify_loops): Stop trying to relocate exit blocks when
allocating a new label would exceed max_uid_for_loop.
Jim Wilson [Tue, 13 Oct 1992 18:21:37 +0000 (11:21 -0700)]
(*): Change 'f' constraint for dest to '*f' if it is not the only alternative.
(*): Change 'f' constraint for dest to '*f' if it is not the
only alternative. Add '*f' dest constraints to all patterns where
it is valid but was previously missing.
Jim Wilson [Tue, 13 Oct 1992 18:18:30 +0000 (11:18 -0700)]
(call, call_value): No longer call i960_expand_call,
instead call call_internal/call_value_internal pattern.
(call_internal, call_value_internal): Rewrite patterns to pass new
args to i960_output_call_insn.